Communitygithub.com

d3v-null/wsclean-skill

WSClean電波干渉計イメージングのためのCursorエージェント用スキルです。

wsclean-skill とは?

このスキルは、LOFAR、MWA、VLA、ASKAP、SKAなどの電波天文望遠鏡から得られるMeasurement Set(.ms)ファイルを処理するためのWSCleanイメージングツールの使用方法を提供します。WSCleanは、CLEANデコンボリューション、マルチスケールクリーニング、マルチ周波数合成、偏波イメージングなどの高度な機能を備えており、自己較正ループのためのモデル生成もサポートします。スキルには、基本的なコマンド構造から、標準クリーン、深層マルチスケールクリーン、マルチ周波数合成、偏波イメージング、自己較正に至るまでの一般的なワークフロー例が含まれています。Dockerを介した簡単なアクセス方法、出力ファイルの命名規則、パラメータのクイックリファレンス表、トラブルシューティングのヒントも提供され、複雑なシナリオ向けの詳細なリファレンスドキュメントへのリンクも含まれています。

対応~Claude Code~Codex CLI✓Cursor
npx skills add d3v-null/wsclean-skill

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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-thresholdN×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 が一般的
-jCPUスレッド数デフォルト: 全コア

よくある問題

クリーニングが発散する

  • -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ツールを使用してこれらのファイルにアクセスしてください。

ベストプラクティス

  1. 常に -auto-threshold を使用する(絶対しきい値ではない)
  2. 高い -niter を設定し、しきい値でクリーニングを停止させる
  3. mgain 0.85 を使用してロバストなCotton-Schwabクリーニングを行う
  4. 分解された光源にはマルチスケール - Högbomよりも常に優れている
  5. -auto-mask 5 と -auto-threshold 1 を組み合わせる ことで深層クリーニングを実現
  6. 画像の次元は偶数 - できれば2の累乗
  7. 合成ビームあたり約5-6ピクセル で適切なサンプリングを確保

ドキュメント

関連スキル