チェックボックスアイコン 手順10: 背景光引き

背景光を引きます。 天体fluxが来ていないファイバーをいくつか選んで、medianで重ね合わせて背景光のスペクトルを作り、天体フレームから引きます。 点源や一部のファイバーにしか天体fluxが来ていないフレームであれば、背景光ファイバーを指定するのは容易でしょう。 天体が広がった天体で、全ファイバーに天体fluxが来ている場合は、観測時に天体フレームとは別に、スカイフレームを撮っておく必要があるかもしれません。 標準星など積分時間が極めて短い場合は、この処理を行う必要はないでしょう。

背景光として使うファイバーを指定するときに、天体が2次元ファイバーアレイ上でどの位置にあるか確認したい場合があります。 そこで、以下のソフトウェアを使って、とある波長における再合成画像を作ることができます。

#KOOLS-IFU用オリジナルソフトウェアを使用
#コマンド名の前に、ソフトウェア置き場のパスを適宜追加すること
#第1引数が入力ファイル名、第2と第3引数が切り出す波長範囲 (x座標) の始点と終点
FiberMakeImage kls036564-flip.ms.fits 656 660
#この例だと"kls036564-flip.ms-image-656-660.fits"という名前のファイルができ、ds9で開くと以下のような画像が現れる

画像再合成の例

….ms.fitsのファイバーID (y座標) と、上記の2次元再合成画像のファイバーの対応が知りたいことがあると思います。 例えば、2次元画像上で最も明るいファイバーは、….ms.fitsでどのファイバーに対応するか、などといった場合です。 その対応を回答するソフトウェアがあります。

#2次元再合成画像のxとy座標を入れると、ms形式のy座標を返すプログラム
#第1引数が2次元再合成画像上のx座標、第2引数がy座標
FiberPositiontoID.py 13 13
#返り値は"position(x, y) = (13, 13) ID = 37"
#これは2次元再合成画像で(x, y) = (13, 13)のファイバーは、ms形式でy = 37に対応することを表す

#ms形式のy座標を入力すると、2次元再合成画像のxとy座標を返すプログラム
#第1引数はms形式でのy座標
FiberIDtoPosition.py 64
#返り値は"ID = 64 position(x, y) = (20, 15)"
#これはms形式でy = 64のファイバーは、2次元再合成画像上で座標が(x, y) = (20, 15)のファイバーに対応することを表す

以下が背景光引き処理です。 (2016年4月21日に仕様を変更しました!!)

#欠損領域の座標を表したマスク領域ファイルを作成する
rm -f mask-spec2bin-no5-ms.fits
imcopy mask-spec2bin-flip.ms mask-spec2bin-no5-ms

imreplace mask-spec2bin-no5-ms 0 lower=-0.5 upper=0.5
imreplace mask-spec2bin-no5-ms 1 lower=INDEF upper=-0.5
imreplace mask-spec2bin-no5-ms 1 lower=0.5 upper=INDEF

#背景光引きプログラム本体
#第1引数が入力ファイル名、第2引数が出力ファイル名
#第3引数が背景光ファイバーの指定で、….ms.fitsファイルにおけるy座標を入力する
#各y座標はカンマ(,)で区切り、空白は入れない
#背景光スペクトルをmedianで作るので、10ファイバー程度指定する (上部の欠損領域にかかっていないファイバーが3本以上あると良い)
#第4引数が先ほど作った、マスク領域ファイルを指定
FiberSkySubtract kls036562-flip.ms.fits kls036562-sky.fits 21,22,23,24,25,26,27,28,29,70,71,72 mask-spec2bin-no5-ms.fits

#できたfitsファイルをds9で開き、背景光がきれいに引けたことを確認する

#背景光引きを行う各フレームに対してFiberSkySubtractを行う。