位置とフラックススケール決定

CCD 毎の解析が終了したら、次は tract を定義し、位置とフラックススケールを決定します。

tract 定義

ここで使うコマンドは makeDiscreteSkyMap.py です。 makeDiscreteSkyMap.py ではヘッダーの座標情報を元に、引数で指定した全観測領域が収まる最大の正方形を設定し、これを 1 tract と定義します。 tract は指定した観測領域で決まるため、必ず全ての領域とフィルタを指定して下さい。 例えば、同じ天体を2つ以上のフィルタで観測し、そのフィルタごとに makeDiscreteSkyMap を行うと tract/patch の切り方は若干ずれてしまいます。 その後 stack, multiband と進む場合はうまくいかなくなりますのでご注意下さい。

# 解析ディレクトリは ~/HSC, rerun 名は test とします。field 名は registry.sqlite3 を見て確認しましょう。例では test_field とします。
makeDiscreteSkyMap.py ~/HSC --calib ~/HSC/CALIB --rerun test --id field=test_field

# makeDiscreteSkyMap.py [解析ディレクトリ] --calib [calib データ用ディレクトリ] --rerun [rerun 名] --id [visit, field, filter..]
# オプション
#       --id : tract 決めに使用する全ての天体データを指定。

以下のようなメッセージが表示されれば成功です。

makeDiscreteSkyMap INFO: tract 0 has corners (177.676, 57.388), (173.867, 57.388), (173.752, 59.440), (177.790, 59.440) (RA, Dec deg) and 11 x 11 patches

# この場合は 11x11 patch の tract 0 が定義されています。

HSC-SSPと同じtractを定義したい場合は、 makeSkyMap.py を使います (SSP と同じ tract 定義をしたい場合)。

Note

patch=31x31よりも縦横のパッチ数が大きくなった場合、object IDのパッチ指定で使えるbit数を超えてしまうため、 このあとのcoaddDriver.pyが正常に動作しないことが報告されています。 31x31よりも小さなパッチ数になるようにしてください。

モザイキング

Note

hscpipe7以降ではmosaic.pyからより効率的なモザイクソフトウェアのjointcal.pyへ移行しています。

hscpipe7時点ではjointcal.pyを使った場合に一部のデータで測光精度が良くない(>~5% error)ことが分かっており、mosaic.pyの利用を推奨していましたが、hscpipe8ではjointcal.pyを位置較正のためだけに用い、フラックス較正に新たなソフトウェアのfgcmCalibrateTract.pyを用いることでこの問題を回避しています。 ただし、fgcmCalibrateTract.pyは2バンド以上のデータが揃った領域でのみ利用可能なため、単色画像の解析用にjointcal.pyでフラックス較正まで行い、fgcmCalibrateTract.pyをスキップするオプションも利用可能です。

次に各フィルター毎に複数積分の CCD データを足し合わせるために、各 CCD の座標とフラックススケールを合わせる必要があります。 それを行うのが joincal.pyfgcmCalibrateTract.py です。 複数積分に写っている同じ星の座標が一致するように、かつその星とマッチした外部カタログの座標とも一致するように各 CCD の WCS を改善します。 さらに、複数積分で写っている同じ星のカウントが一致するように、かつ外部カタログの等級と一致するように各 CCD の等級原点を CCD 面内の位置の関数として求めます。

まず、jointcal.pyを用いて位置較正を行います。 jointcal.pyはフィルター毎に実行するので、同じフィルターで撮られたIDのみを指定する必要があります。 複数バンドのデータがある場合は、その回数分、jointcal.pyを行ってください。

# 解析ディレクトリは ~/HSC, rerun 名は test とする。
# 各フィルター毎に行ってください。
jointcal.py ~/HSC/ --calib ~/HSC/CALIB --rerun test --id visit=20878..20890:2 tract=0 ccd=0..103

# jointcal.py [解析ディレクトリ] --rerun [rerun 名] --calib [calib データ用ディレクトリ] --id [visit, field, filter, ccd] tract=[tract]
# オプション
#       --id : モザイクを実行する天体データを指定。visit 指定の他に、field と filter で指定しても良い。tract は必ず指定。
#               makeskyMap.pyでHSC-SSPと同じtractにしたが、tract IDがよくわからないときは、tract指定なしで走らせる。

# fgcmCalibrateTract.pyをスキップしたい場合には以下の通り、--config doPhotometry=True をつけることでフラックス較正まで行ってくれます。
# jointcal.pyでフラックス較正した場合には、次のcoaddDriver.pyにもjointcal.pyによるフラックス較正結果を適用するためのオプションが必要になります。
jointcal.py ~/HSC/ --calib ~/HSC/CALIB --rerun test --id visit=20878..20890:2 tract=0 ccd=0..103 -j 8 --config doPhotometry=True

jointcal.pyが完了すると、~/HSC/rerun/[rerun]/jointcal-results/[filter]/[tract] の下に jointcal_wcs-[visit]-[ccd].fits という名前で各 visit, CCD のWCS 座標のファイルができます(doPhotometryオプションを適用した場合には、jointcal_photoCalib-[visit]-[ccd].fits もできます)。

続いてフラックス較正ですが、fgcmCalibrateTract.pyを実行する前に、fgcmMakeLut.pyにより大気と観測装置の変動を追跡するルックアップテーブルを作成します。

fgcmMakeLut.py ~/HSC --rerun test --calib ~/HSC/CALIB
# fgcmMakeLut.py [解析ディレクトリ] --rerun [reurn 名] --calib [calib データ用ディレクトリ]

fgcmMakeLut.pyが完了すると、~/HSC/rerun/[rerun]/fgcm-process/ の下に fgcmLookUpTable.fits というファイルができます。 続いて、fgcmCalibrateTract.pyを実行して、フラックス較正を行います。

fgcmCalibrateTract.py ~/HSC --calib ~/HSC/CALIB --rerun test --id visit=20878..20890:2 tract=0 ccd=0..103 --config fgcmFitCycle.colorSplitBands=iy
# fgcmCalibrateTract.py [解析ディレクトリ] --rerun [rerun 名] --calib [calib データ用ディレクトリ] --id [visit, field, ccd] tract=[tract]
# オプション
#       --id : モザイクを実行する天体データを指定。visit 指定の他に、fieldで指定しても良い。tract は必ず指定。
#          fgcmCalibrateTract.pyは、jointcal.pyと異なり複数バンドで実行されるので、filter指定は必要ありません。
#       --config fgcmFitCycle.colorSplitBands : 星を色で分けるために使うバンド名を指定する。2バンド指定する必要がある(デフォルトはg, iバンド)。

fgcmCalibrateTract.pyによるフラックス較正が完了すると、~/HSC/rerun/[rerun]/fgcm-results/[filter]/[tract] の下に fgcm_photoCalib-[visit]-[ccd].fits、~/HSC/rerun/[rerun]/fgcm-results/transmission/[tract] の下に atmosphere_[visit].fits ができます。

モザイク結果の反映

モザイク結果のフラックススケールと WCS 座標情報を各 visit, CCD に適用することができるコマンド: calibrateExposure.pycalibrateCatalog.py がありますが、最新のhscPipeでは公式サポート外になります。

同様の作業はcoaddDriver.py実行時に行われ、最終coadd画像には適切に反映されますが、モザイク結果の情報を反映したcoadd前のCCD画像が必要な場合に限り、これらのコマンドを使用してください。

詳しくは、CCD画像・カタログへのモザイク結果の反映 をご覧ください。