天体データの位置合わせとフラックススケール決め¶
天体データの 1 次処理が終了したら、 tract を設定し、天体データの位置合わせとフラックススケール決め(mosaic)を行います。
tract を定義する¶
全ての天体データを使い、 tract の定義を行います。ここで使われる HSC pipeline のコマンドは makeDiscreteSkyMap.py です。 makeDiscreteSkyMap.py ではヘッダーの座標情報をもとにデータの全観測領域に収まる最大の正方形を設定し、この領域を 1 tract と定義します。 tract は観測された領域全体から決められるため、必ず全ての天体データを指定し makeDiscreteSkyMap.py を実行してください。
Warning
例えば、同じ天体を2つ以上のフィルタで観測し、そのフィルタごとに makeDiscreteSkyMap を行うと tract/patch の切り方は若干ずれてしまいます。 その後 stack, multiband と進む場合はうまくいかなくなりますので、必ず全ての領域、フィルタを含むように makeDiscreteSkyMap を行って下さい。
# tract を定義する
makeDiscreteSkyMap.py $home/hsc --calib=$home/hsc/CALIB --rerun=dith_16h_test --id field=DITH_16H
# 使い方:
# makeDiscreteSkyMap.py <解析用ディレクトリ> --calib=<1 次処理用データディレクトリ> --rerun=<rerun名> --id field=<データの種類>
#
# オプション:
# --id :tract 決めに使用する全ての天体データを指定
# 例ではデータの種類(field)から天体データのみを指定しているが、visit や filter を使ってもよい
# 例えば今回のデータで visit を指定する場合は、以下のようにする
# --id visit=902798..902806:2^903160..903168:2(^ は & の意味で、離れた visit 番号を指定したいときに使用できる)
例えば以下のようなメッセージがターミナルに表示されれば、tract の設定は完了です(図1 参照)。例では 14 × 14 patch の tract=0 が定義されています。各 patch の番号は 図2 を参照してください。
2015-06-18T07:47:06: makeDiscreteSkyMap: Computing spherical convex hull
2015-06-18T07:47:06: makeDiscreteSkyMap: tract 0 has corners (239.635, 8.771), (236.992, 8.771), (236.981, 11.384), (239.646, 11.384) (RA, Dec deg) and 14 x 14 patches
この他、SSP データと tract 定義を一緒にしたい場合や、各自で tract や patch のサイズを設定したい場合など詳細は tract の定義に関する Tips をご覧ください。
mosaic を実行する¶
ここで使用される HSC pipeline のコマンドは mosaic.py です。 mosaic.py では、tract 毎に reduceFrames.py の結果を基に、複数の visit において各 CCD の座標とフラックススケールを合わせていきます。 具体的には、複数の CCD/visit で写っている天体の座標とフラックスがなるべく一致するように、かつ外部カタログとも一致するように補正項を解きます。
# 位置合わせとフラックススケール決め
mosaic.py $home/hsc --calib=$home/hsc/CALIB --rerun=dith_16h_test --id visit=902798..902808:2 ccd=0..103 tract=0
mosaic.py $home/hsc --calib=$home/hsc/CALIB --rerun=dith_16h_test --id visit=903160..903168:2 ccd=0..103 tract=0
# 使い方:
# mosaic.py <解析用ディレクトリ> --calib=<1 次処理用データディレクトリ> --rerun=<rerun名> --id visit=<データのvisit番号> ccd=<CCD番号> tract=<tract番号>
#
# オプション:
# --id :位置合わせとフラックススケール決めを行う天体データを指定
# 例では visit が 902798, 902800, 902802, 902804, 902806, 902808、
# CCD が 0〜103 番(全部)、tract が 0 番の天体データを指定している
Warning
Narrow-band filter NB387 と NB515 の解析の場合は、mosaic.py の実行については こちら を参照して下さい。
mosaic.py が完了すると、$home/hsc/rerun/[rerun]/[pointing]/[filter]/corr/[tract] 下に fcr-[visit]-[ccd].fits, wcs-[visit]-[ccd].fits というファイルが生成されます。 この 2 つはそれぞれ、各 [visit, ccd] のフラックススケールファイル、WCS 座標ファイルとなっています。 mosaic.py の処理過程ではこれらのファイルが生成されるだけで、次の 天体データの重ね合わせ において適用されます。
各ピクセルのフラックスのスケールは、fcr-[visit]-[ccd].fits に含まれる fluxmag0 の値をもとに、CCD面内を 7 次の平面関数でフィットし決定されます。 一方、各ピクセルの WCS 座標の値は、 wcs-[visit]-[ccd].fits に含まれる多項式の係数をもとに導出されます。
次に、モザイクによる座標・フラックス情報を CCD 画像とカタログに反映させます。
Note
この手順は各 CCD 画像/カタログを詳細に見たいという場合は mosaic 直後に行うことをお勧めします。それ以外の足し合わせたデータを優先的に見たい場合は解析の一番最後に行ってください。また、WCS とゼロ点の較正された CCD 画像/カタログが不要な場合は行う必要はありません。
HSC pipeline でのコマンドは calibrateExposure.py と calibrateCatalog.py です。
# モザイクの結果を各 CCD 画像に反映
calibrateExposure.py $home/hsc --rerun=dith_16h_test --id visit=902798..902808:2 ccd=0..103 tract=0 -j 8
# 使い方:
# calibrateExposure.py <解析用ディレクトリ> --rerun=<rerun名> --id visit=<visit番号> ccd=<ccd番号> tract=<tract> -j <スレッド数>
#
# オプション:
# --id : calibrateExposure.py で使用する天体データを指定
# -j : スレッド数を指定。-j 8 とすると、8 スレッドで、という意味になる。
calibrateExposure.py を実行すると、$home/hsc/rerun/[rerun]/[pointing]/[filter]/corr/0000/ の下に CALEXP-[visit]-[ccd].fits というファイルが作成されます。
同様に、カタログに対してもモザイクの結果を反映させます。
# モザイクの結果を各カタログに反映
calibrateCatalog.py $home/hsc --rerun=dith_16h_test --id visit=902798..902808:2 ccd=0..103 tract=0 --config doApplyCalib=False -j 8
# オプション:
# --config doApplyCalib=False : カタログのフラックスを等級に較正しない場合は False にする
calibrateCatalog.py で較正されたカタログは、$home/hsc/rerun/[rerun]/[pointing]/[filter]/output/0000/ の下に CALSRC-[visit]-[ccd].fits という名前で生成されます。
calibrateExposure.py と calibrateCatalog.py を実行した際に視野の端の方のファイルが開けない、というエラーが出ることがありますが、モザイクがあまりうまくいっていないために起こるエラーなので無視して構いません。
mosaic の精度評価¶
mosaic.py の精度に関する評価結果を、mosaic.py の実行に合わせて出力させることができます。 hscPipe 3.x 系と 4.x 系ではコマンドのオプションが若干違うので注意して下さい。
# 評価結果を出力させて mosaic.py を実行する場合
# hscPipe 3.x 系
mosaic.py $home/hsc --calib=$home/hsc/CALIB --rerun=dith_16h_test --id visit=902798..902808:2 ccd=0..103 tract=0 --config outputDiag=True outputDir=~/hsc/rerun/dith_16h_test/output_mosaic --clobber-config
# 3.x 系での使い方:
# mosaic.py <解析用ディレクトリ> --calib=<1 次処理用データディレクトリ> --rerun=<rerun名> --id visit=<データの visit 番号> ccd=<CCD 番号> tract=<tract 番号> --config outputDiag=True outputDir=<評価結果出力ディレクトリ> --clobber-config
# hscPipe 4.x 系
mosaic.py $home/HSC --calib=$home/hsc/CALIB --rerun=dith_16h_test --id visit=902798..902808:2 ccd=0..103 tract=0 --diagnostics --diagDir=~/hsc/rerun/dith_16h_test/output_mosaic --clobber-config
# 4.x 系での使い方:
# mosaic.py <解析用ディレクトリ> --calib=<1 次処理用データディレクトリ> --rerun=<rerun名> --id visit=<データの visit 番号> ccd=<CCD 番号> tract=<tract 番号> --diagnostics --diagDir=<評価結果出力ディレクトリ> --clobber-config
#
# オプション:
# --config :オプションをデフォルトのものからさらに追加する時に使用
# 例では outputDiag=True outputDir=<評価結果出力ディレクトリ> を指定し、評価結果のサムネイルを出力させている
# --diagnostics :評価結果を保存する際に使用
# --clobber-config:一度流した mosaic.py のパラメータを保存してもう一度実行するための追加パラメーター
mosaic.py の精度に関する評価結果として、以下のデータが出力されます。
visit 毎の評価結果
- WCS のずれ : ResPosArrow2D_[visit].png
- フラックスから distortion パターンを割った残差: fcont_[visit].png
- reduceFlat でかかる distortion パターン : jcont_[visit].png(同心円状になっていることを確認する)
全 visit からの評価結果
- 各 visit のフラックス平均値からの差分: DFlux2D.png
- フラックスの残差 : ResFlux.png
- 検出天体の等級の差分(※) : MdM.png
- WCS 座標のずれ : PosDPos.png
- WCS 座標のずれ : ResPosScatter.png
- その他データ
- catalog.fits
- ccd.dat
- ccdScale.dat
- coeffs.dat
- dmag.dat
- dpos.dat
(※)緑は MATCH カタログに含まれる天体と外部カタログ内の差分、赤は検出天体のうち MATCH に含まれない天体の各 visit の平均との差分。