チェックボックスアイコン 参考: 全体のコマンド例 (for expert)

2015年12月25日の観測データを解析した時の、解析コマンドとログが以下になります。 使用したグリズムはNo.5、binningはspec.2binでした。 解析内容は、fitsファイル形式変更、bias引き、hydraパッケージを使ったスペクトル切り出し•フラット補正•波長校正、背景光引き、輻射強度較正、複数フレームを足し上げです。

基本的に以下のコマンドを実行して (IRAFのタスク内で値を代入したり、データ点をフィットする必要あり) 解析が進みますが、パラメータの与え方やリストファイルの編集など、初めて見た人には分からないところが大量にあるので、KOOLS-IFUデータを初めて解析する方はこれだけ見ても正しい解析はできないはずです。

%%% reduction log 2015/12/25 %%%
# No.5 only

### chpixtype

ls kls03655[4-9].fits > kls-raw.list
ls kls0365[6-9][0-9].fits >> kls-raw.list
ls kls03660[0-5].fits >> kls-raw.list
sed -e s/.fits/-real.fits/ kls-raw.list > kls-real.list

awk '{print "rm -f " $1}' kls-real.list | sh
chpixtype @kls-raw.list @kls-real.list real

### bias (overscan) subtraction

# subtract bias value at each line
# use "ossub" at KOOLS webpage
# http://www.oao.nao.ac.jp/~kools/man/man_reduction.html

rm -f kls-real2.list
cp kls-real.list kls-real2.list

vi kls-real2.list
# no edit

sed -e s/-real.fits/-bias.fits/ kls-real2.list > kls-bias.list

awk '{print "rm -f " $1}' kls-bias.list | sh
paste kls-real2.list kls-bias.list | awk '{print "/home/kazuya/data/fiber-ifs/kools/software/ossub/ossub " $1 " " $2 " 1 1074 1026 1072";}' | sh

### background subtraction (especially on left and right sides) for object frames

rm -f kls-bias2.list
cp kls-bias.list kls-bias2.list
vi kls-bias2.list

imstat background-template[6:25,325:355]
#               IMAGE      NPIX      MEAN    STDDEV       MIN       MAX
 background-template[6:25,325:355]       620     178.7     22.49     140.5     213.5

sed -e s/.fits/.fits[6:25,325:355]/ kls-bias2.list > imstat-kls-background.list

rm -f imstat-kls-background.dat
imstat @imstat-kls-background.list field=mean nclip=5 lsigma=3 usigma=3 > imstat-kls-background.dat

cut -c 4-9 kls-osr.list | awk '{printf ("background-%s.fits\n", $1)}' > \
 background-kls.list
awk 'NR > 1 {print $1 / 178.7}' imstat-kls-background.dat > \
 imstat-kls-background2.dat

awk '{print "rm -f " $1}' background-kls.list | sh
imarith background-template * @imstat-kls-background2.dat @background-kls.list

sed -e s/-bias.fits/-background.fits/ kls-bias2.list > kls-background.list

awk '{print "rm -f " $1}' kls-background.list | sh
imarith @kls-bias2.list - @background-kls.list @kls-background.list

### domeflat

ls kls036559-bias.fits > flat-bias.list
ls kls03656[01]-bias.fits >> flat-bias.list
ls kls03660[2-4]-bias.fits >> flat-bias.list
sed -e s/-bias.fits/-fixpix.fits/ flat-bias.list > flat-fixpix.list

echo "581 600 326 500" > mask-fixpix-2bin.dat
echo "402 408 1 500" >> mask-fixpix-2bin.dat

awk '{print "rm -f " $1}' flat-fixpix.list | sh
imcopy @flat-bias.list @flat-fixpix.list
fixpix @flat-fixpix.list mask-fixpix-2bin.dat

rm -f flat-no5-bias.fits
imcomb @flat-fixpix.list flat-no5-bias combine=median

### make mask flie

rm -f mask-spec2bin-osr.fits
imcopy kls036559-osr[1:1024,*] mask-spec2bin-osr

imreplace mask-spec2bin-osr[403:407,*] 1 lower=INDEF upper=INDEF
imreplace mask-spec2bin-osr[570:610,315:500] 1 lower=INDEF upper=100
imreplace mask-spec2bin-osr[967,*] 1 lower=INDEF upper=INDEF
imreplace mask-spec2bin-osr 0 lower=1.01 upper=INDEF

### cosmic ray rejection

FiberDetectCosmic2 kls036564-background.fits flat-no5-osr.fits cosmic-036564.dat 100 7 15
rm -f cosmic-036564-edit.dat
cp cosmic-036564.dat cosmic-036564-edit.dat
FiberRejectCosmic kls036564-background.fits kls036564-cosmic.fits cosmic-036564-edit.dat

vi cosmic-036564-edit.dat
FiberRejectCosmic kls036564-background.fits kls036564-cosmic.fits cosmic-036564-edit.dat

(same procedure for the other object frames)

ls kls[0-9][0-9][0-9][0-9][0-9][0-9]-cosmic.fits > kls-cosmic.list

### prepare object frames

rm -f obs-no5-bias.list
cp kls-bias.list obs-no5-bias.list
cat kls-background.list kls-cosmic.list | sort >> obs-no5-bias.list
vi obs-no5-bias.list
# object, standard star, flat, and comparison frames only
# use flat and comparison frames without background subtraction
echo "flat-no5-bias.fits" >> obs-no5-bias.list
echo "mask-spec2bin-osr.fits" >> obs-no5-bias.list
# the next command is required for grism no.2 frames only
echo "comp-no2-bias.fits" >> obs-no2-bias.list

sed -e s/-bias.fits/-flip.fits/ obs-no5-bias.list | sed -e s/-background.fits/-flip.fits/ > obs-no5-flip.list
sed -e s/.fits/.fits[401:1024,-*]/ obs-no5-bias.list > flip-obs-no5.list

awk '{print "rm -f " $1}' obs-no5-flip.list | sh
imcopy @flip-obs-no5.list @obs-no5-flip.list

awk 'BEGIN{for (count = 0; count < 127; count++) {print count + 1, 1, "object"}}' 1 > fiber_id.dat

# edit as root if oakayama-naoj is not added yet
vi /iraf/iraf/noao/lib/obsdb.dat

hedit @obs-no5-flip.list ut 12 add+ verify-
hedit @obs-no5-flip.list epoch 2000 add+ verify-
hedit @obs-no5-flip.list GAIN 2.25 add+ verify-
hedit @obs-no5-flip.list RDNOISE 25 add+ verify-
setjd @obs-no5-flip.list

### hydra
# tips
# http://www.astro.wisc.edu/~cigan/reducing/reducing.html
# http://www.wiyn.org/hydra/node111.html

noao
imred
ccdred
hydra

epar hydra
# observa=okayama-naoj interp=linear dispaxi=1 nsum=2.5

setinstrument hydra
# images=@obs-no5-flip.list oversca=no trim=yes zerocor=no interac=no

sed -e s/.fits/.ms.fits/ obs-no5-flip.list > obs-no5-ms.list
awk '{print "rm -f " $1}' obs-no5-ms.list | sh

dohydra @obs-no5-flip.list apref=flat-no5-flip flat=flat-no5-flip arcs1=kls036556-flip fibers=127 width=2.5 minsep=2 maxsep=45 apidtab=fiber_id.dat scatter- fitflat+ clean- skysubt- redo+
# resize aperture = no, edit aperture = yes
# for extended source: aperture size = +- 1.25 pix
# scatter correction: no

# no redo
awk '{print "rm -f " $1}' obs-no5-ms.list | sh

ccdproc @obs-no5-flip.list
dohydra @obs-no5-flip.list apref=flat-no5-flip flat=flat-no5-flip arcs1=kls036556-flip fibers=127 width=2.5 minsep=2 maxsep=45 apidtab=fiber_id.dat scatter- fitflat+ clean- skysubt- redo-

### sky subtraction

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

FiberSkySubtract kls036564-flip.ms.fits kls036564-sky.fits 21,22,23,24,25,26,27,28,29,70,71,72 mask-spec2bin-no5-ms.fits
FiberSkySubtract kls036565-flip.ms.fits kls036565-sky.fits 21,22,23,24,25,26,27,28,29,70,71,72 mask-spec2bin-no5-ms.fits
…

### make sens files

# HD15318
# ZD = 28.0-28.3 degree

FiberMakeImage kls036570-flip.ms.fits 361 365
FiberCenter2 kls036570-flip.ms-image-361-365.fits 0 /home/kazuya/data/make/c-program/kools-ifu/template-FiberFlux2.dat
# (x, y, FWHM, total flux, residual) = (1.2, 0.3, 1.2, 5.6303e+05, 3.1089e-04)

vi kls036570-shape.list
rm -f kls036570-shape.fits
imcomb @kls036570-shape.list kls036570-shape combine=sum

imstat kls036570-shape.fits[361:365]
#               IMAGE      NPIX      MEAN    STDDEV       MIN       MAX
 kls036570-shape.fits[361:365]         5    61244.     113.5    61105.    61397.
# value at x = 361--365 --> 61244 x 5 = 306220 counts
# 5.6303 x 10^5 / (3.06 x 10^5) = 1.840

rm -f kls036570-total.fits
imarith kls036570-shape * 1.840 kls036570-total

noao
onedspec
twodspec
longslit

rm -f std-no5.dat
standard kls036570-total std-no5.dat caldir=/iraf/iraf/noao/lib/onedstds/spec16cal/ exptime=5 star_nam=hr718 extinct="" answer=yes

rm -f sens-no5.fits
sensfunc std-no5.dat sens-no5 order=4 extinct="" answer=yes

### flux calibration

vi obs-no5-sky.list
sed -e s/-sky/-fc/ obs-no5-sky.list | sed -e s/-flip.ms/-fc/ > obs-no5-fc.list

noao
onedspec
twodspec
longslit

awk '{printf ("rm -f %s\n", $1)}' obs-no5-fc.list | sh 
fluxcalib @obs-no5-sky.list @obs-no5-fc.list sens-no5 exposur="EXPTIME"

### combine dithered frames

ls kls036[56][0-9][0-9]-fc.fits > ugc993-fc.list

FiberMakeImage kls036564-fc.fits 656 660
FiberMakeImage kls036565-fc.fits 656 660
…

FiberCenter2 kls036564-fc-image-656-660.fits 0 template-FiberFlux2.dat > ugc993-pos-flux.dat
FiberCenter2 kls036565-fc-image-656-660.fits 0 template-FiberFlux2.dat >> ugc993-pos-flux.dat
…

cut -d \( -f 3 ugc993-pos-flux.dat | cut -d \) -f 1 | sed -e s/,//g | awk '{print $1, $2}' > ugc993-pos.dat

echo "# offset_x offset_y weight" > ugc993-offset-weight.dat
cat ugc993-pos.dat >> ugc993-offset-weight.dat
vi ugc993-offset-weight.dat

ln -s ../mask-spec2bin-no5-ms.fits ./

FiberCombine ugc993-fc.list ugc993-comb.fits ugc993-offset-weight.dat ugc993-param.dat mask-spec2bin-no5-ms.fits

Fiber_mn_MakeImage ugc993-comb.fits 50 50 226 230
Fiber_mn_MakeImage ugc993-comb.fits 50 50 263 267
Fiber_mn_MakeImage ugc993-comb.fits 50 50 656 660
Fiber_mn_MakeImage ugc993-comb.fits 50 50 661 665