OTO - Ohshima Tamashima Observatory- - edit AIP4Win Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
AIP4Winを使って測光しlogファイルに記録した場合の、データファイル化と光度曲線のグラフ化をWindowsPCで行う方法のメモです。
*1つは、Excelを使いテキストファイルを読み込んで処理する方法で、Excelに慣れた人には方法は簡単ですが、同じ処理を何度も繰り返すといい加減嫌になります。グラフも大きさが一定にならず、グラフタイトルや目盛を毎回毎回付けるのうんざりしています。(VBAマクロを組めばよいのでしょうが、それに慣れるまで大仕事です)
*そこで、'''AWK'''(テキスト処理)と'''GNUPLOT'''(グラフ処理)の出番です。この方法はコマンドプロンプトからコマンドを打ち込むのですが、テキストファイルに書いておいたものをコピー・ペーストすれば良いので手間は要りません。以下はその方法です。
!準備
まず、[['''GAWK'''|http://sourceforge.net/projects/gnuwin32/files/gawk/3.1.6-1/gawk-3.1.6-1-setup.exe/download?use_mirror=jaist&r=http%3A%2F%2Fgnuwin32.sourceforge.net%2Fpackages%2Fgawk.htm&use_mirror=jaist]]と[['''GNUPLOT'''|http://sourceforge.net/projects/gnuplot/files/latest/download?source=files]]をそれぞれWindows PCにインストールします。その具体的な方法は、ここでは省略しますが、検索して見てください、世の中には日本語の丁寧な解説が溢れています。
!データファイルの整理
あるディレクトリ(=フォルダー)例えば、"20130118"にAIP4WinのLogファイルが"LT_GemR.txt"というファイル名で置いてあるとします。ちょっと長いですが実物を示します。
AIP4Win Multiple-Image Photometry Tool
Differential (w/ Extra Decimals) Photometry Report
AIP4Win Licensed to: osamu ohshima
AIP4Win v. 2.4.0
Folder containing files: X:\20130107\LT_Gem\R
Filename of first image: st8.00000238.RED.FIT
Number of files selected: 127
Star aperture radius: 12
Sky annulus inner radius: 13
Sky annulus outer radius: 18
Star aperture pixels: 451
Sky annulus pixels: 292
Default integration time: 90.0
Zero point: 25.0
Gain [e/ADU]: 2.3
Readout noise [e rms]: 15.0
Dark current [e/sec/pix]: 0.09
Time of observation:
Date, time, exposure from FITS header
First Image Date: 2013-01-07
First Image Time: 09:41:23.616
First Exposure Time: 60 seconds
Filter: Rc
Clock time zone: 0 hours
Offset (true-clock): 0 seconds
Heliocentric correction: 477 seconds
Julian Day (midexposure): ImageTime + (Exposure / 2)
First Mid-exposure Date: 2013-01-07
First Mid-exposure Time: 09:41:53.616
Stars selected in the first image
Star Star_X Star_Y Integr Max_PV Sky_ADU Star_ADU Mag アSigma
Var 620.891 52.181 60.000 22534.2 2393.52 271183. 15.862 0.0047
C1 84.649 293.597 60.000 53455.1 2459.91 777309. 14.719 0.0018
C2 456.437 305.733 60.000 21470.8 2418.44 237943. 16.004 0.0053
Ens 1015252. 14.429 0.0018
-------------------------------------------------------------------
Seq_# YYYY-MM-DD HH:MM:SS.sss Julian_Day Integr Filt (V-C1) アSigma (C2-C1) アSigma (V-Ens) アSigma Sky_ADU File_Name
00001 2013-01-07 09:41:53.616 56299.9096135 60.00 Rc 1.1433 0.0050 1.2853 0.0056 1.4333 0.0050 2393.52 st8.00000238.RED.FIT
00002 2013-01-07 09:46:32.147 56299.9128373 60.00 Rc 1.1522 0.0048 1.2970 0.0054 1.4394 0.0049 2272.6 st8.00000242.RED.FIT
00003 2013-01-07 09:51:10.647 56299.9160606 60.00 Rc 1.1443 0.0046 1.2903 0.0052 1.4331 0.0046 2140.49 st8.00000246.RED.FIT
00004 2013-01-07 09:55:49.164 56299.9192843 60.00 Rc 1.1465 0.0044 1.2908 0.0049 1.4352 0.0044 2008.06 st8.00000250.RED.FIT
00005 2013-01-07 10:00:27.617 56299.9225071 60.00 Rc 1.1583 0.0042 1.2985 0.0047 1.4451 0.0042 1890.116 st8.00000254.RED.FIT
<以下省略>
実際には、1晩観測すると測光データが延々と続きます。何行あっても以下の処理は、行数に無関係に全く同じように処理出来ます。
このディレクトリ内にテキストエディタで、次のAWK用の1行スクリプトを保存して置き、コピーしてコマンドプロンプトにマウス右クリックでペーストします。(最近は私はテキストエディタには、[['''サクラエディター'''(オープンソース)|http://www.forest.impress.co.jp/docs/review/20120419_527310.html]]を使っています。ちなみにその場合のフォントは、[['''Ricty Diminished'''|http://nelog.jp/how-to-use-ricty-diminished-font/]]を使っています)
gawk "(NR >=39)&&($1!=\"\") {printf \"%9.6f %s %s %s %s\n\", $4-56200.0,$7, $8, $9, $10}" LT_GemR.txt >LT_GemR.dat
この1行スクリプト(1行野郎と行野郎とかワンライナーと呼ぶようです)の意味は次のとおりです。
最初の38行分と空行を無視し、次のブロックを抜き出し出力する。第4フィールド(Julian_Day)から56200.0を引いたもの、第7から第10フィールド(V-C1、sigma、C2-C1、sigma)。これらのデータを"LT_GemR.txt"というファイルから抜き出し(計算し)、"LT_GemR.dat"というファイルに書き出す。
コマンドプロンプトに、マウス右クリックでペーストすると次のようになり、Enterキーを押します。
D:\20130118>gawk "(NR >=39)&&($1!=\"\") {printf \"%9.6f %s %s %s %s\n\", $4-56200.0,$7, $8, $9, $10}" LT_GemR.txt >LT_GemR.dat
するとそのディレクトリに次の様な内容のテキストファイル"LT_GemR.dat"が書きだされます。
99.909613 1.1433 0.0050 1.2853 0.0056
99.912837 1.1522 0.0048 1.2970 0.0054
99.916061 1.1443 0.0046 1.2903 0.0052
99.919284 1.1465 0.0044 1.2908 0.0049
99.922507 1.1583 0.0042 1.2985 0.0047
<以下省略>
以上で、測光データファイルが整理できました。
!この夜の光度曲線を描く
上記の作業で、この夜は、Ic、Rc、V、Bの4バンドで測光し、次のファイル名で保存してあるとします。"LT_GemIc.dat","LT_GemR.dat","LT_GemV.dat","LT_GemB.dat"
このディレクトリに次のような内容のテキストファイルを、例えば"LT_GemBVRI.plt"というファイル名で保存しておきます。!!GNUPLOTのスクリプトファイルを準備する
データファイルが置いてあるのと同じディレクトリに、GNUPLOTの作図のためのpltファイルを作ります。
次のような内容のテキストファイルを、例えば"LT_GemBVRI.plt"というファイル名で保存しておきます。
set title "LT Gem @OTO 20cm f/6.3 ST-8XME -35deg 90sec 2X2bin Comp=HD43966"
set yrange [2.0:0.8] reverse #縦軸範囲と 方向が逆(等級なのでマイナスが上)
#unset xrange
set xrange [99.85:100.35] #横軸の範囲指定 ここでは日の少数で指定
set ytics 0.1 #縦軸目盛間隔
set xtics 0.05 #横軸目盛間隔
#set y2tics 0.1
set ylabel "delta_mag" #縦軸のタイトル
set xlabel "Hel.J.D. - 2455900.0" #横軸のタイトル
set format x '%2.2f' #横軸の数字のフォーマット
set format y '%1.2f' #縦軸の数字のフォーマット
set size 1,1
set key top right #凡例を上の右に表示
#set terminal windows
set terminal png #pngファイルで出力
set output "LT_Gem201301118IRVB.png" # 出力ファイル名
plot 'LT_GemR.dat' using 1:2 title "Rc" pt 13 ps 0.5 lt 1, 'LT_GemV.dat' using 1:2 title "V" pt 13 ps 0.5 lt 2, 'LT_GemB.dat' using 1:2 title "B" pt 13 ps 0.5 lt 3,'LT_GemIc.dat' using 1:2 title "Ic" pt 13 ps 0.5 lt -1
#using 1:2はデータファイルの第1(HJD)と第2フィールド(V-C1)のデータを使うことを意味し、ptとpsとltはそれぞれ 点の形、点の大きさ、点の色を表す。
!!GNUPLOTを動かす
コマンドプロンプトで コマンドプロンプトから次のように打ち込みます。
D:\20130118>gnuplot LT_GemBVRI.plt
するとそのディレクトリに次の様な内容の画像ファイル"LT_Gem201301118IRVB.png" が書きだされます。
[[http://otobs.org/photometry/awk_gnuplot/LT_Gem20130118IRVB.png]]
!まとめ
光度曲線を描くのに行った作業は次の3種類だけです。
(1)データファイルを作る作業(実際にはマウスの右クリック)
D:\20130118>gawk "(NR >=39)&&($1!=\"\") {printf \"%9.6f %s %s %s %s\n\", $4-56200.0,$7, $8, $9, $10}" LT_GemR.txt >LT_GemR.dat
これをIc,R,V,Bの各バンドについて行う
(2)次のようにコマンドプロンプトにタイプするタイプした
D:\20130118>gnuplot LT_GemBVRI.plt
(3)その前に"LT_GemBVRI.plt"ファイルをそのGNUPLOTのスクリプトファイルを、その日の内容に合わせて、次の2行だけを編集しておく編集して、"LT_GemBVRI.plt"として保存した
set xrange [99.85:100.35]
set output "LT_Gem20130107IRVBC1.png"
何日もの観測データを整理する場合、Excelで行う作業量に比べると圧倒的に少ない手数で、しかも統一のとれた同じ仕上がりのフォーマットのグラフが得られます。
----
[[CCD測光]]トップへ戻る
[[OTO-Ohshima Tamashima Observatory-]]トップへ戻る
{{counter}}
*1つは、Excelを使いテキストファイルを読み込んで処理する方法で、Excelに慣れた人には方法は簡単ですが、同じ処理を何度も繰り返すといい加減嫌になります。グラフも大きさが一定にならず、グラフタイトルや目盛を毎回毎回付けるのうんざりしています。(VBAマクロを組めばよいのでしょうが、それに慣れるまで大仕事です)
*そこで、'''AWK'''(テキスト処理)と'''GNUPLOT'''(グラフ処理)の出番です。この方法はコマンドプロンプトからコマンドを打ち込むのですが、テキストファイルに書いておいたものをコピー・ペーストすれば良いので手間は要りません。以下はその方法です。
!準備
まず、[['''GAWK'''|http://sourceforge.net/projects/gnuwin32/files/gawk/3.1.6-1/gawk-3.1.6-1-setup.exe/download?use_mirror=jaist&r=http%3A%2F%2Fgnuwin32.sourceforge.net%2Fpackages%2Fgawk.htm&use_mirror=jaist]]と[['''GNUPLOT'''|http://sourceforge.net/projects/gnuplot/files/latest/download?source=files]]をそれぞれWindows PCにインストールします。その具体的な方法は、ここでは省略しますが、検索して見てください、世の中には日本語の丁寧な解説が溢れています。
!データファイルの整理
あるディレクトリ(=フォルダー)例えば、"20130118"にAIP4WinのLogファイルが"LT_GemR.txt"というファイル名で置いてあるとします。ちょっと長いですが実物を示します。
AIP4Win Multiple-Image Photometry Tool
Differential (w/ Extra Decimals) Photometry Report
AIP4Win Licensed to: osamu ohshima
AIP4Win v. 2.4.0
Folder containing files: X:\20130107\LT_Gem\R
Filename of first image: st8.00000238.RED.FIT
Number of files selected: 127
Star aperture radius: 12
Sky annulus inner radius: 13
Sky annulus outer radius: 18
Star aperture pixels: 451
Sky annulus pixels: 292
Default integration time: 90.0
Zero point: 25.0
Gain [e/ADU]: 2.3
Readout noise [e rms]: 15.0
Dark current [e/sec/pix]: 0.09
Time of observation:
Date, time, exposure from FITS header
First Image Date: 2013-01-07
First Image Time: 09:41:23.616
First Exposure Time: 60 seconds
Filter: Rc
Clock time zone: 0 hours
Offset (true-clock): 0 seconds
Heliocentric correction: 477 seconds
Julian Day (midexposure): ImageTime + (Exposure / 2)
First Mid-exposure Date: 2013-01-07
First Mid-exposure Time: 09:41:53.616
Stars selected in the first image
Star Star_X Star_Y Integr Max_PV Sky_ADU Star_ADU Mag アSigma
Var 620.891 52.181 60.000 22534.2 2393.52 271183. 15.862 0.0047
C1 84.649 293.597 60.000 53455.1 2459.91 777309. 14.719 0.0018
C2 456.437 305.733 60.000 21470.8 2418.44 237943. 16.004 0.0053
Ens 1015252. 14.429 0.0018
-------------------------------------------------------------------
Seq_# YYYY-MM-DD HH:MM:SS.sss Julian_Day Integr Filt (V-C1) アSigma (C2-C1) アSigma (V-Ens) アSigma Sky_ADU File_Name
00001 2013-01-07 09:41:53.616 56299.9096135 60.00 Rc 1.1433 0.0050 1.2853 0.0056 1.4333 0.0050 2393.52 st8.00000238.RED.FIT
00002 2013-01-07 09:46:32.147 56299.9128373 60.00 Rc 1.1522 0.0048 1.2970 0.0054 1.4394 0.0049 2272.6 st8.00000242.RED.FIT
00003 2013-01-07 09:51:10.647 56299.9160606 60.00 Rc 1.1443 0.0046 1.2903 0.0052 1.4331 0.0046 2140.49 st8.00000246.RED.FIT
00004 2013-01-07 09:55:49.164 56299.9192843 60.00 Rc 1.1465 0.0044 1.2908 0.0049 1.4352 0.0044 2008.06 st8.00000250.RED.FIT
00005 2013-01-07 10:00:27.617 56299.9225071 60.00 Rc 1.1583 0.0042 1.2985 0.0047 1.4451 0.0042 1890.116 st8.00000254.RED.FIT
<以下省略>
実際には、1晩観測すると測光データが延々と続きます。何行あっても以下の処理は、行数に無関係に全く同じように処理出来ます。
このディレクトリ内にテキストエディタで、次のAWK用の1行スクリプトを保存して置き、コピーしてコマンドプロンプトにマウス右クリックでペーストします。(最近は私はテキストエディタには、[['''サクラエディター'''(オープンソース)|http://www.forest.impress.co.jp/docs/review/20120419_527310.html]]を使っています。
gawk "(NR >=39)&&($1!=\"\") {printf \"%9.6f %s %s %s %s\n\", $4-56200.0,$7, $8, $9, $10}" LT_GemR.txt >LT_GemR.dat
この1行スクリプト(1
最初の38行分と空行を無視し、次のブロックを抜き出し出力する。第4フィールド(Julian_Day)から56200.0を引いたもの、第7から第10フィールド(V-C1、sigma、C2-C1、sigma)。これらのデータを"LT_GemR.txt"というファイルから抜き出し(計算し)、"LT_GemR.dat"というファイルに書き出す。
コマンドプロンプトに、マウス右クリックでペーストすると次のようになり、Enterキーを押します。
D:\20130118>gawk "(NR >=39)&&($1!=\"\") {printf \"%9.6f %s %s %s %s\n\", $4-56200.0,$7, $8, $9, $10}" LT_GemR.txt >LT_GemR.dat
するとそのディレクトリに次の様な内容のテキストファイル"LT_GemR.dat"が書きだされます。
99.909613 1.1433 0.0050 1.2853 0.0056
99.912837 1.1522 0.0048 1.2970 0.0054
99.916061 1.1443 0.0046 1.2903 0.0052
99.919284 1.1465 0.0044 1.2908 0.0049
99.922507 1.1583 0.0042 1.2985 0.0047
<以下省略>
以上で、測光データファイルが整理できました。
!この夜の光度曲線を描く
上記の作業で、この夜は
データファイルが置いてあるのと同じディレクトリに、GNUPLOTの作図のためのpltファイルを作ります。
次のような内容のテキストファイルを、例えば"LT_GemBVRI.plt"というファイル名で保存しておきます。
set title "LT Gem @OTO 20cm f/6.3 ST-8XME -35deg 90sec 2X2bin Comp=HD43966"
set yrange [2.0:0.8] reverse #縦軸範囲と 方向が逆(等級なのでマイナスが上)
#unset xrange
set xrange [99.85:100.35] #横軸の範囲指定 ここでは日の少数で指定
set ytics 0.1 #縦軸目盛間隔
set xtics 0.05 #横軸目盛間隔
#set y2tics 0.1
set ylabel "delta_mag" #縦軸のタイトル
set xlabel "Hel.J.D. - 2455900.0" #横軸のタイトル
set format x '%2.2f' #横軸の数字のフォーマット
set format y '%1.2f' #縦軸の数字のフォーマット
set size 1,1
set key top right #凡例を上の右に表示
#set terminal windows
set terminal png #pngファイルで出力
set output "LT_Gem201301118IRVB.png" # 出力ファイル名
plot 'LT_GemR.dat' using 1:2 title "Rc" pt 13 ps 0.5 lt 1, 'LT_GemV.dat' using 1:2 title "V" pt 13 ps 0.5 lt 2, 'LT_GemB.dat' using 1:2 title "B" pt 13 ps 0.5 lt 3,'LT_GemIc.dat' using 1:2 title "Ic" pt 13 ps 0.5 lt -1
#using 1:2はデータファイルの第1(HJD)と第2フィールド(V-C1)のデータを使うことを意味し、ptとpsとltはそれぞれ 点の形、点の大きさ、点の色を表す。
!!GNUPLOTを動かす
D:\20130118>gnuplot LT_GemBVRI.plt
するとそのディレクトリに次の様な内容の画像ファイル"LT_Gem201301118IRVB.png" が書きだされます。
[[http://otobs.org/photometry/awk_gnuplot/LT_Gem20130118IRVB.png]]
!まとめ
光度曲線を描くのに行った作業は次の3種類だけです。
(1)データファイルを作る
D:\20130118>gawk "(NR >=39)&&($1!=\"\") {printf \"%9.6f %s %s %s %s\n\", $4-56200.0,$7, $8, $9, $10}" LT_GemR.txt >LT_GemR.dat
これをIc,R,V,Bの各バンドについて行う
(2)次のようにコマンドプロンプトに
D:\20130118>gnuplot LT_GemBVRI.plt
(3)その前に
set xrange [99.85:100.35]
set output "LT_Gem20130107IRVBC1.png"
何日もの観測データを整理する場合、Excelで行う作業量に比べると圧倒的に少ない手数で、しかも統一のとれた
----
[[CCD測光]]トップへ戻る
[[OTO-Ohshima Tamashima Observatory-]]トップへ戻る
{{counter}}