天体データの足し合わせ¶
モザイキングによりフラックススケールと WCS が決定したので、次は複数ショットを足し合わせます。 ここでは、フラックススケールファイルと WCS 座標ファイルを用いて、天球面座標を平面座標に投影したデータを生成し (warp)、観測された全ショットの積分を行います (coadd)。hscPipe では coaddDriver.py というコマンドを使います。hscPipe 7では、このcoaddDriver.pyの前に、skyCorrection.pyを行う必要があります。これを行うことで、大きな天体周りのsky引きもうまく行うことが可能となります。実行方法は以下です。
# 解析ディレクトリは ~/HSC, rerun 名は test とします。
# local 環境で解析を行う場合。
skyCorrection.py ~/HSC --calib ~/HSC/CALIB --rerun test --id visit=18214..18220:2^18224..18230:2 --batch-type=smp --cores=8
# skyCorrection.py [解析ディレクトリ] --calib [calib データ用ディレクトリ]
# --rerun [rerun 名] --id filter=[filter] tract=[tract] --selectId [visit, field, filter]
# オプション
# --id: 出力データの filter と tract 名を指定。
skyCorrection.pyが完了次第、coaddDriver.pyを実行します。coaddDriver.pyは以下の操作がパッチ毎に行われています。
まず mosaic.py で生成された座標ファイル(jointcal_wcs)とフラックススケールファイル(jointcal_photoCalib)を用いて各CCDを画像変換します(出力=warp)。
次にスタック(coadd)を実行します。このとき、各ショットのPSFを一致させたWarpとそれらのmedianスタックの差分を 取ることで外れ値をクリップし、satellite tail、ゴースト、cosmic rayといった疑似天体を除去します。それから各ピクセルごとにmedianスタックを行います(出力=calexp: 最終天体検出に使われた局所スカイ引き後画像, $(patch):グローバルスカイ補正直後画像)。各CCDのPSFモデル(coaddPSF)も合成されます。
最後に天体検出(DynamicDetection)が行われます。スカイ引き(いくつかの調整を経て最終的に128pixel mesh)をし、天体検出(天体の位置・領域だけを示したリスト作成)を行います (出力= det: BINTABLE、det_bkgd: FITS画像)。
hscPipe4 以前と異なり、PSF がうまくモデル化できていない [visit, ccd] データはカットされ、coadd のプロセスでは外されるようになりました。
coaddDriver.py ではバッチ処理が利用できます。
# 解析ディレクトリは ~/HSC, rerun 名は test とします。
# local 環境で解析を行う場合。
coaddDriver.py ~/HSC --calib ~HSC/CALIB --rerun test --id filter=HSC-G tract=0 --selectId visit=18214..18220:2^18224..18230:2 ccd=0..103 --batch-type=smp --cores=8
# coaddDriver.py [解析ディレクトリ] --rerun [rerun 名] --id filter=[filter] tract=[tract] --selectId [visit, field, filter]
# オプション
# --id: 出力データの filter と tract 名を指定。
# --selecteId: 足し合わせる visit を選択。field と filter で選択 (例 field=M33 filter=HSC-G) も可。
検出の閾値はデフォルトで 5σ となっています。–config detectCoaddSources.detection.thresholdValue で値を変更して実行することで閾値を変更できます。
Note
coaddDriver.pyやmultiBandDriver.pyでは計算機が一度に開けるファイル数上限でエラーになることがあります。その場合は上限値を上げるか、–id patch=[patchID]と指定してパッチごとに走らせることで回避できます。
coaddDriver.py を実行するとサイエンスに使用できる coadd 画像が生成されます。以下に生成される画像ファイルをまとめます。
warp 画像: ~/HSC/rerun/[rerun]/deepCoadd/[filter]/[tract]/[patch]/warp-[filter]-[tract]-[patch]-[visit].fits
coadd 画像: ~/HSC/rerun/[rerun]/deepCoadd-results/[filter]/[tract]/[patch]/calexp-[filter]-[tract]-[patch].fits
天体検出時の sky 引きパターン: ~/HSC/rerun/[rerun]/deepCoadd-results/[filter]/[tract]/[patch]/det_bkgd-[filter]-[tract]-[patch].fits
warp 画像と coadd 画像の例を図 1 に示します。coadd 画像には CORR 画像同様、マスクイメージも含まれています。
全ての [patch]/calexp ファイルを一度に表示させるには、以下のようにします。
# ds9 で全ての coadd 画像を表示
cd ~/HSC/rerun/[rerun]/deepCoadd-results/[filter]/[tract]/[patch]
ds9 -mosaic wcs */calexp-*.fits
# Scale -> Global にすると全体で統一されたスケールで表示。
また、全ての画像を一つの画像で保存することができるツールを以下に公開しています。
tract内におけるPatch全てを一つの画像にする
https://hsc-gitlab.mtk.nao.ac.jp/snippets/2
異なったtractにある画像全てを一つの画像にする
https://hsc-gitlab.mtk.nao.ac.jp/snippets/30
Note
画像のゼロ点は27.0mag/aduとなっています。 しかし、aperture correctionがあるので数パーセントレベルでは正しくありません。
プロセスの最後の検出天体カタログは以下に生成されます。
検出天体カタログ: ~/HSC/rerun/[rerun]/deepCoadd-results/[filter]/[tract]/[patch]/det-[filter]-[tract]-[patch].fits
これは各 filter, tract, patch ごとの検出された天体リストで、測光は行われていません。
Warning
coaddDriver.py は warp 画像が存在する場合、上書きせずに warp プロセスをスキップします。coadd 画像を作り直す場合は古いファイルを移動・削除してから行って下さい。