Alp Boo 処理チャート ●起動 xgterm chmodで作業ディレクトリの権限を変更しておく(tomoesnで書き込めるようにする) 作業ディレクトリでsu tomoesn clでIRAFが起動する ●下準備 twodspecパッケージを呼び出す vocl> noao noao> one onedspec> tw twodspec> ap apextract> (各タスクはeparでパラメーターを設定、phelpで説明(公式ドキュメントに同じ?)を見られる) オーバースキャン処理済の"ovmls***.fits"ファイルのうち、5日観測分(log参照)の以下のfitsファイルを使う 0007-0008, 0025: comparison 0010-0019: flat 0020-0024: Alp Boo (Exptime 5.0s) 0029-0038: Exp 5.0s のダーク overscan region -> [1:50,1:2064]? implot :x m nでmピクセル目からnピクセル目まで拡大して確認できる :xで元に戻る implot中にc, lを押すとx, y方向の断面にスイッチ可能 ミスって:を押してバッファに移動したら:をbackspaceで消せば戻れる # implot, splotなどiraftermで画像を見ている(カーソルが赤の十字になっている)ときは # iraftermを普通にバツをクリックして閉じないこと。irafが応答しなくなり、xgtermごと閉じることになる。 ★トリミング apextract> imcopy ovmls200205_0020[51:2098,660:1451] ovtmls200205_0020 を、上記のcomp, flat, obj, dark について行う(ds9で上手くいったか念の為確認する) これもimplotで切り取る領域を確認できる # 2次元画像を見るときはimplot, 1次元画像を見るときはsplotで使い分けると良い。 ★ダーク、フラットの処理 ・ダーク合成 0029-0038のファイル名を書いたリストファイル(input)を作成 最後に改行を入れないとバグる? これらを合成したfitsを作る apextract> epar imcombine input = @input output = dark5 headers = "" bpmasks = "" rejmask = "" nrejmas = "" expmask = "" sigmas = "" logfile = STDOUT combine = median reject = none project = no outtype = real outlimi = "" offsets = none mode = ql :go (epar で弄った設定は:q で保存して抜ける、:q! で保存せず抜ける。:を間違えて入力した場合は普通にBSで消せばOK) ・フラット合成 ダークと同じく0010-0019をepar imcombineで合成 apextract> epar imcombine input = @input output = flat headers = "" bpmasks = "" rejmask = "" nrejmas = "" expmask = "" sigmas = "" logfile = STDOUT combine = median reject = none project = no outtype = real outlimi = "" offsets = none mode = ql :go apextract> imstat flat でflat.fits の平均カウントMEANを求め、 apextract> imarith flat / MEAN nflat で規格化をする 以上の合成ダーク、フラットで目的のオブジェクトfitsを減算、除算する apextract> imarith ovtmls200205_0020 - dark5 ovtdmls200205_0020 apextract> imarith ovtdmls200205_0020 / nflat ovtdfmls200205_0020 ★コンパリソン 0007, 0008, 0025をimarithで足す apextract> imarith ovtmls200205_0007 + ovtmls200205_0008 comp7_8 apextract> imarith comp7_8 + ovtmls200205_0025 comp7_8_25 いらんかも 一番時間の近いcomparisonを使う ●スペクトルの抽出 apextract> implot ovtdfmls200205_0020 でx方向の断面が表示される その図上でcを押してy方向の断面図を表示 :x a b でab間をズーム、スペクトルが何ピクセルに広がっているのかを見る(30pxくらい?) ★オブジェクトフレームの1次元化 # apextractパッケージを呼び出してタスク起動 # twodspec> ap apextract> epar apall input = ovtdfmls200205_0020 output = spec20 apertur = "" format = multispec referen = "" profile = "" interac = yes find = yes recente = yes resize = yes edit = yes trace = yes fittrac = yes extract = yes extras = no review = yes line = INDEF nsum = 10 lower = -15. upper = 15. apidtab = "" b_order = 2 b_sampl = -30:-20,20:30 #-50:-20,20:50くらいが良いのか?? b_naver = -100 b_niter = 0 b_low_r = 3. b_high_ = 3. b_grow = 0. width = 5. radius = 10. thresho = 0. nfind = 1 minsep = 5. maxsep = 1000. order = increasing aprecen = "" npeaks = INDEF shift = yes llimit = INDEF ulimit = INDEF ylevel = 0.1 peak = yes bkg = no r_grow = 0. avglimi = yes t_nsum = 10 t_step = 10 t_nlost = 3 t_funct = legendre t_order = 2 t_sampl = * t_naver = 1 t_niter = 0 t_low_r = 3. t_high_ = 3. t_grow = 0. backgro = fit skybox = 1 weights = none pfit = fit1d clean = no saturat = INDEF readnoi = 0. gain = 1. lsigma = 4. usigma = 4. nsubaps = 1 mode = ql :go 質問に答える 基本yes アパーチャーは1つ 出てきた図を見て抽出幅が合っているか確認 bを押してバックグラウンドの幅も確認 (ミスっていたらとりあえずやり直す カーソルを重ねてdでバーを消去 fでやり直し可能) OKならqを押して質問に答える スペクトルのピークをトレースした図が現れる 問題なければqで進む (Alp Booは明るいのでしっかりフィットしてそう) ズレていればフィッティングに使いたくない点をカーソルを合わせてdで消す fで再フィット また質問に答えていけば抽出されたスペクトル(spec20)が表示される splotと同じ操作 qで終了 ★コンパリソンフレームの1次元化 apextract> epar apall input = comp7_8_25 output = spec7_8_25 apertur = "" format = multispec referen = ovtdfmls200205_0020 #抽出前のやつ profile = "" interac = yes find = no recente = no resize = no edit = no trace = no fittrac = no extract = yes extras = no review = yes line = INDEF nsum = 10 lower = -15. upper = 15. b_funct = chebyshev b_order = 2 b_sampl = -30:-20,20:30 b_naver = -100 b_niter = 0 b_low_r = 3. b_high_ = 3. b_grow = 0. width = 5. radius = 10. thresho = 0. nfind = 1 minsep = 5. maxsep = 1000. order = increasing aprecen = "" npeaks = INDEF shift = yes llimit = INDEF ulimit = INDEF ylevel = 0.1 peak = yes bkg = no r_grow = 0. avglimi = yes t_nsum = 10 t_step = 10 t_nlost = 3 t_funct = legendre t_order = 2 t_sampl = * t_naver = 1 t_niter = 0 t_low_r = 3. t_high_ = 3. t_grow = 0. backgro = none skybox = 1 weights = none pfit = fit1d clean = no saturat = INDEF readnoi = 0. gain = 1. lsigma = 4. usigma = 4. nsubaps = 1 mode = ql :go 質問に答えると抽出されたスペクトルを吐く qで終了 ★Fe-Ne-Ar輝線の同定 http://www.oao.nao.ac.jp/~kools/develop/ozaki_fenear_atlas/ozaki_fenear.html のFe-Ne-Ar輝線のアトラスを使う IRAF用ラインリストをDL onedspecパッケージを呼び出し、identifyタスクを使う # apextract> bye # twodspec> bye # onedspec> epar identify apextract> epar ident images = spec7_8_25 section = middle line databas = database coordli = (保存したIRAF用ラインリスト) units = "" nsum = 10 match = -3. maxfeat = 50 zwidth = 200. ftype = emission fwidth = 4. cradius = 5. thresho = 0. minsep = 2. functio = legendre order = 4 sample = * niterat = 0 low_rej = 3. high_re = 3. grow = 0. autowri = no graphic = stdgraph cursor = "" crval = "" cdelt = "" aidpars = "" mode = ql :go 表示された図はsplotと同じ操作で動かせるのでアトラスを眺めて同じ輝線を頑張って探す (今回は600-900px付近に5200Åあたりの輝線があった) 輝線が見つかったらカーソルを合わせ、mを押して波長を入力 10本くらい波長を入力したらl(L)を押して残りの輝線を同定する fを押すとフィットした関数と輝線ピークの誤差が表示される (フィットに使いたくない点はdで消去、fで再フィット) 満足したらqで先に進み、結果を保存する ★ピクセル-波長の関係式の適用 apextract> epar refspec input = spec20 referen = spec7_8_25 apertur = "" refaps = "" ignorea = yes select = interp sort = "" group = "" time = yes timewra = 17. overrid = no confirm = yes assign = yes logfile = STDOUT,logfile verbose = no answer = "" mode = ql :go dispcorで波長較正 apextract> epar dispcor input = spec20 output = dspec20 lineari = yes databas = database table = "" w1 = INDEF w2 = INDEF dw = INDEF nw = INDEF log = no flux = yes blank = 0. samedis = no global = no ignorea = no confirm = no listonl = no verbose = yes logfile = "" mode = ql :go 横軸が波長になった図が出る ここで出てきたw1,w2,dw,nwをAlp Booのdispcorで使う?いらんかも ★規格化 apextract> epar conti input = dspec20 output = dcspec20 lines = * bands = 1 type = ratio replace = no wavesca = yes logscal = no overrid = no listonl = no logfile = logfile interac = yes sample = * naverag = 1 functio = spline3 order = 1 low_rej = 2. high_re = 0. niterat = 10 grow = 1. markrej = yes graphic = stdgraph cursor = "" ask = yes mode = ql :go 吸収線と思われる場所を弾いたコンティニュームが出る dを押すと使いたくない点を弾くなりできる 今回はそのままqを押して進んだ qで進むと規格化されたスペクトルが吐き出される splot ●見本との比較 ftp://ftp.noao.edu/catalogs/arcturusatlas/visual から"arcturus.fits"を落とす(見本スペクトル) ★見本スペクトルの処理 (dispcorの処理いらない、、、?) ・波長分解能の変更 onedspec> epar dispcor input = arcturus output = arcturus_d lineari = yes databas = database table = "" w1 = 4869.708 #上で出てきたw1の値 w2 = 5360.064 #上で出てきたw2の値 dw = 0.239549 #上で出てきたdwの値 nw = 2048 #上で出てきたnwの値 log = no flux = yes blank = 0. samedis = no global = no ignorea = no confirm = no listonl = no verbose = yes logfile = "" mode = ql :go ・きかくか onedspec> epar continuum input = arcturus_d output = arcturus_dc lines = * bands = 1 type = ratio replace = no wavesca = yes logscal = no overrid = no listonl = no logfile = logfile interac = yes sample = * naverag = 1 functio = spline3 order = 1 low_rej = 2. high_re = 0. niterat = 10 grow = 1. markrej = yes graphic = stdgraph cursor = "" ask = yes mode = ql :go コンティニュームが出る そのままqを押して進んだ 規格化されたスペクトルを吐く splot ★波長分解能の変更 onedspec> epar blkavg input = arcturus_dc output = arcturus_dcb option = average b1 = 4 b2 = 1 b3 = 1 b4 = 1 b5 = 1 b6 = 1 b7 = 1 mode = ql :go ★描画 onedspec> splot arcturus_dcb 図上で o :/color 2 g dcspec20 で重ねて表示 http://www.quantumcafe.magix.net/spectro/QCSPEC-results/Model/solar/solar.html 辺りのスペクトルとMgの三つ子の吸収線の位置を比較してみる ★output onedspec> epar wspec input = dcspec20[*,1:1] output = dcspec20.txt header = no wformat = %0.4f :go http://kurucz.harvard.edu/stars/arcturus/ http://kurucz.harvard.edu/stars/arcturus/arcturus.readme