Sky 引きに関係する Tips


HSC pipeline デフォルトの sky 引きを行いたくない場合

HSC pipeline では、sky 引きが reduceFrames.pystack.py の 2 つの解析過程で行われています。 reduceFrames.py の中で行われる sky 引きは天体検出のため、 stack.py で行われる sky 引きはサイエンス用の天体検出を行うためです。 このうち reduceFrames.py で引かれた sky は stack.py で戻すことができます。

# reduceFrames.py で引かれた sky を戻して stack.py を実行
stack.py $home/hsc --calib=$home/hsc/CALIB --rerun=dith_16h_test --id filter=HSC-I tract=0 --selectId visit=902798..902808:2 ccd=0..103 --config makeCoaddTempExp.bgSubtracted=False

# オプション
#     --config makeCoaddTempExp.bgSubtracted=False:デフォルトは True で、reduceFrames.py の sky 引きを残している

sky が戻された画像データは $home/hsc/rerun/[rerun]/deepCoadd/[filter]/[tract]/[patch]/ 以下に warp-[filter]-[tract]-[patch]-[visit].fits という名前で各 visit 毎の warp 画像として確認することができます。

Warning

例えば、一度 stack.py を実行しており、rerun 以下に deepCoadd ディレクトリができている場合、 二度目の stack.py では既存の deepCoadd 以下にある warp 画像を読み込むため新たに生成してくれません。 そこで、deepCoadd 下にある [filter] ディレクトリ名を変更するとこの問題は回避でき、 sky を戻した warp 画像を生成してくれます。


reduceFrames.py の sky estimate の領域のサイズを変更したい場合

reduceFrames.py の実行時に以下のオプションを追加することで変更できます。

# sky estimate の領域サイズを 256 × 256 ピクセルに変更した場合
reduceFrames.py $home/hsc --calib=$home/hsc/CALIB --rerun=dith_16h_test --id filter=HSC-I visit=902798..902808:2 --config processCcd.isr.doFringe=False processCcd.detection.background.binSize=256 processCcd.detection.background.binSize=256

# オプション
#     --config processCcd.detection.background.binSize=256 processCcd.calibrate.background.binSize=256

Global sky subtraction を走らせたい場合

現状の pipeline では天体データの1次処理時 (reduceFrames.py 実行時) の sky 引きは CCD ごとに行われるため、広がった天体を扱うにはやや不向きです。 そこで、新たに視野全体に渡って sky パターンを引くパッケージを開発しました。 パッケージのダウンロードは こちら

この global sky subtraction には以下の2つのステップがあります。

  • Sky pattern subtraction: 各 CCD 間の明るさのばらつきを均一にするための処理です。sky フィールドの画像を複数枚 (だいたい 10 枚程度) を median スタックして sky pattern を得た後、postISR 画像から引きます。sky pattern は観測領域とは異なるフィールドのデータを使って作成することが望ましいです。CCD 間の明るさのばらつきが大きいバンド (g, r, i) ではこのステップは必須ですが、それ以外の r2, i2 等については postISR 画像を確認し、ばらつきが無視できるようであればスキップして頂いて構いません。postISR 画像の出力方法は こちら をご覧ください。
  • Global sky subtraction: 視野全体での sky pattern を作成し、sky 引きを行います。ここでは複数の CCD にわたる天体もマスクしています。

手順の詳細を知りたい方は こちらの資料 を参照下さい。

パッケージをダウンロードできましたら、以下のように解凍、設定を行ってください。

# 解凍
tar xvzf hscPipe-globalskysub.tgz

# 環境変数設定
setup hscpipe
setup -jr hscPipe-globalskysub

設定が完了したらコマンドを走らせます。sky pattarn subtraction を行う場合は reduceFrames.py の前に走らせましょう。

# sky pattern を作成 (sky pattern subtraction をしない場合はスキップ)
makeSkyPattern.py $home/hsc --calib=$home/hsc/CALIB --rerun=dith_16h_test --id visit=91028..91050:2 --sky-pattern-dir skypattern --config isr.doDark=False isr.doBias=False

# makeSkyPattern ではバッチ処理のオプションが利用できます。
# visit には sky pattern 元のいくつかの sky フィールドを指定して下さい。
# --sky-pattern-dir で指定したディレクトリに生成された sky pattern が置かれます。


# sky pattern を引いた後、reduceFrames を実行。
reduceFrames.py $home/hsc --calib=$home/hsc/CALIB --rerun=dith_16h_test --id filter=HSC-I visit=90278..90288:2 --config doGlobalSkySubtraction=True processCcd.doIsr=False skyPatternDir=skypattern hscIsrWithGlobalSkySubtraction.isr.doBias=False hscIsrWithGlobalSkySubtraction.isr.doDark=False

# sky pattern subtraction を実行していない場合は、
#       -config hscIsrWithGlobalSkySubtraction.doSkyPatternSubtraction=False
# を追加して下さい。


# stack.py を走らせる際には
--config detectCoaddSources.detection.reEstimateBackground=False makeCoaddTempExp.bgSubtracted=False
# を追加して下さい。