WSClean スキル
WSCleanは、Measurement Setからクリーン画像を作成する電波干渉計イメージングツールです。LOFAR、MWA、VLA、ASKAP、SKAなどの電波望遠鏡からの電波天文データを扱う際にこのスキルを使用してください。
使用するタイミング
- Measurement Set (.ms) ファイルからの電波干渉計データのイメージング
- 可視データのCLEANデコンボリューション
- 分解された光源のためのマルチスケールクリーニング
- マルチ周波数合成(広帯域イメージング)
- 偏波イメージング
- 方向依存補正を用いたファセットベースのイメージング
- 自己較正ループ(モデル生成)
Docker アクセス
WSCleanはコンパイルが複雑です。Dockerを使用してください:
docker run --rm -it d3vnull0/rapthor-mildtec:smoke wsclean [options] <input.ms>
データディレクトリをマウント:-v /host/path:/container/path:rw
基本コマンド構造
wsclean [options] <input-ms> [<2nd-ms> [...]]
重要: 複数のMeasurement Setは同じ位置に位相回転されている必要があります。
必須パラメータ
画像設定(常に必要)
-size <w> <h>- 画像サイズ(ピクセル単位、偶数である必要があります)-scale <value>- ピクセルスケール(例:2asec、1amin、0.01deg)-name <prefix>- 出力ファイル名のプレフィックス(デフォルト: 'wsclean')
デコンボリューション制御
-niter <n>- 最大反復回数(高く設定、例:1000000)-auto-threshold <sigma>- sigma×RMSで停止(推奨: 1-5)-mgain <gain>- メジャーループゲイン: 0.85(安全)、0.95(積極的)- 重要: mgain=1.0は自己較正を妨げます(MODEL_DATAの更新なし)
-auto-mask <sigma>- 自動マスキングしきい値(-auto-thresholdと併用推奨)
重み付け
-weight briggs <robust>- Briggs重み付け(-2から+2、一般的: -0.5、0、0.5)-weight uniform- 最大分解能-weight natural- 最大感度
高度な機能
-multiscale- 分解された光源のためのマルチスケールCLEAN-channels-out <n>- 帯域幅をN個の画像に分割-join-channels- マルチ周波数デコンボリューション-pol <list>- 偏波: I、Q、U、V、または XX、XY、YX、YY-join-polarizations- 偏波デコンボリューション
一般的なワークフロー
1. 簡易ダーティ画像(クリーニングなし)
docker run --rm -v $(pwd):/data:rw d3vnull0/rapthor-mildtec:smoke \
wsclean -size 2048 2048 -scale 5asec -name quick /data/obs.ms
2. 標準クリーン
wsclean -size 4096 4096 -scale 2asec \
-niter 100000 -auto-threshold 3 \
-weight briggs 0 -mgain 0.85 \
-name standard obs.ms
3. 深層マルチスケールクリーン(最高品質)
wsclean -size 8192 8192 -scale 1asec \
-multiscale -multiscale-scale-bias 0.7 \
-niter 1000000 -auto-threshold 1 -auto-mask 5 \
-weight briggs -0.5 -mgain 0.85 \
-name deep obs.ms
4. マルチ周波数合成(4チャンネル)
wsclean -size 4096 4096 -scale 2asec \
-channels-out 4 -join-channels \
-multiscale -niter 500000 \
-auto-threshold 3 -mgain 0.85 \
-name mfs obs.ms
5. 偏波イメージング
wsclean -size 4096 4096 -scale 2asec \
-pol xx,yy -join-polarizations \
-niter 100000 -auto-threshold 3 \
-mgain 0.85 -name pol obs.ms
6. 自己較正イメージング
# 重要: MODEL_DATAを更新するには mgain < 1.0
wsclean -size 4096 4096 -scale 2asec \
-niter 100000 -auto-threshold 3 \
-mgain 0.85 -multiscale -auto-mask 5 \
-name selfcal obs.ms
出力ファイル
-name myimage の場合:
myimage-dirty.fits- ダーティ画像myimage-image.fits- クリーン/復元画像myimage-model.fits- モデル(CLEANコンポーネント)myimage-residual.fits- クリーニング後の残差myimage-psf.fits- 点像分布関数
マルチチャンネル: myimage-0000-image.fits、myimage-0001-image.fits など
マルチ偏波: myimage-I-image.fits、myimage-Q-image.fits など
クイックリファレンス - 主要パラメータ
| パラメータ | 目的 | 一般的な値 |
|---|---|---|
-niter | 最大反復回数 | 100000-1000000 |
-auto-threshold | N×sigmaで停止 | 1-5(低いほど深い) |
-mgain | メジャーループゲイン | 0.85(安全)、0.95(高速) |
-auto-mask | マスキングしきい値 | 3-5 sigma |
-weight briggs | 重み付けのロバスト性 | -0.5(分解能)、0(バランス)、0.5(感度) |
-multiscale-scale-bias | スケール優先度 | 0.6-0.7 |
-channels-out | 出力チャンネル数 | 4-16 が一般的 |
-j | CPUスレッド数 | デフォルト: 全コア |
よくある問題
クリーニングが発散する
-mgainを 0.7 または 0.8 に下げる- マルチスケールの場合は
-multiscale-gain 0.1を使用 -major-iteration-mode singleを試す
メモリ不足
-abs-mem 32(または適切なGB数)を使用-sizeを減らすか、-scaleを大きくする- スペクトルイメージングには
-deconvolution-channelsを使用
自己較正できない
mgain < 1.0(1.0ではない!)を確認- MODEL_DATA列は mgain < 1 の場合のみ更新される
画像品質が悪い
- 分解された光源には
-multiscaleを使用 - 深層クリーニングには
-auto-mask 5を追加 - 重み付けを確認:
-weight briggs 0を試す
詳細リファレンスを参照するタイミング
複雑なシナリオについては、このディレクトリ内のリファレンスファイルを参照してください:
- reference/parameters.md - 完全なパラメータドキュメント
- reference/workflows.md - 高度なワークフロー(ファセット、プライマリビームなど)
- reference/troubleshooting.md - 詳細なトラブルシューティングガイド
必要に応じてReadツールを使用してこれらのファイルにアクセスしてください。
ベストプラクティス
- 常に
-auto-thresholdを使用する(絶対しきい値ではない) - 高い
-niterを設定し、しきい値でクリーニングを停止させる - mgain 0.85 を使用してロバストなCotton-Schwabクリーニングを行う
- 分解された光源にはマルチスケール - Högbomよりも常に優れている
-auto-mask 5と-auto-threshold 1を組み合わせる ことで深層クリーニングを実現- 画像の次元は偶数 - できれば2の累乗
- 合成ビームあたり約5-6ピクセル で適切なサンプリングを確保
ドキュメント
- 完全なドキュメント: https://wsclean.readthedocs.io/
- アルゴリズム論文: Offringa & Smirnov 2017 (https://arxiv.org/abs/1706.06786