参考: 全体のコマンド例 (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