Fermit/LATのlight curveから値を取得する方法


Fermi/LATの Monitored Source List Light Curves にあるlight curveの各プロットの値を取得する方法です。
(無駄に丁寧に書いてます。Fitsを扱える人はリンクに飛ぶだけでやり方がわかるはず。)
Fitsが何かわからなかったらググってください。
もし卒研とかで使うのなら、ちゃんとどこからとってきたのか明記してください。

まず上記ページに自分の天体があるかどうか調べてみること。F3キーを押してみると幸せになれるはず。
天体が見つかったら画像(png)ファイルとfits(lc)ファイルがあるので、
一日ごとの光度曲線(Daily Light Curve Fits File)か一週間ごとの光度曲線(Weekly Light Curve Fits File)を選んでダウンロードします。
ここでは例として[4C31.03_86400.lc]というファイルを落として来ました。
([天体名_何秒ごとの光度曲線か.lc]という形式です。
一日は86400秒、一週間は604800秒なのでこれは4C31.03という天体の一日ごとの光度曲線のファイルです。)

さてfitsファイルの中身を見る方法は色々ありますが、以下では個人的に簡単なfv (fits viewer)を用いた方法で説明します。
もっと簡単な方法があるという方は教えてください。(コメント欄を設けてないので教えようがないかもしれないが...)

この[fv]、linuxに元から入っているものではありません。
なのでインストール済のPCを使うか、自分でfvを入れましょう。
試しに自分が使うPCの端末(terminal)上で
fv
と打ってみてください。
何か横長と縦長のものが表示されれば、そのPCにはfvがインストールされてます。
もし「fv?そんなものは知らん」と表示されたら諦めましょう自分で入れてみるか、既にインストール済のPCを使ってください。

ちなみにfvを入れるのは簡単です。

fvを入れる方法の詳細はこちら

さて、fvと見たいfitsファイルが揃ったところで
fv ファイル名
例:fv 4C31.03_86400.lc
を実行します。
横長と縦長のものが出てきたら、横長のものにある[Select]をクリックしてみてください。
赤い四角()が並んだものが表示されるはず。
このうち欲しいものは時間の値fluxの値なので、欲しいものだけ赤く()使わないものはクリックしてグレー()にしましょう。
ちなみにFLUXやUL (upper limit:上限値)の横の数値は[MeV]単位で、例えばFLUX_100_300000は100 MeVから300 GeVの積分フラックス[cm^-2 s^-1]です。
DURATIONは何秒間ごとの値かを示すもので86400秒か604800秒、TEST_STATISTICはいわゆるTS値です。
詳しくは このページ にあるので見てください。
特に希望がなかったらSTART, STOP, FLUX_100_300000, ERROR_100_300000, UL_100_300000あたりを赤くし、
Display Tableで表を出します。
あとはこれを
[File] ---> [Export as Text...] ---> File Nameをつけて ---> [Save] ---> [User-defined separator]をクリック ---> [Save]
すれば完了です。
fvは[File] ---> [Close]で閉じましょう。
(バツをクリックしたりCtrl+Cで閉じるのはものによってはクラッシュする原因となるので気をつけて。)

さて、出力したファイルには左からSTART, STOP, Flux, Flux error, UL flagが書かれているはず。
ここでSTARTとSTOPの単位は秒ですが、これはMETというもので書かれてます。
(さきほどのこのページにも載ってます)
こいつは2001年元旦からの秒数で定義されているのでMETの0秒は、MJDでは51910日です。
なのでSTARTとSTOPをMJDに変換したければ
(MET / 86400.0) + 51910.0
で変換してください。
光度曲線を描きたければ
((START+STOP)/2.0)/86400.0) + 51910.0
のプロットに、誤差としてDURATIONの半分(一日ごとの光度曲線なら43200、一週間ごとなら302400)を使って
((DURATION)/2.0)/86400.0) + 51910.0
をつけてあげればできるはず。

ファイルの中のULはいらないなぁと思ったらcutコマンドを使えばいいし、
端末上でファイル内の各列を計算してファイルに出力したいなぁと思ったらawkコマンドがあります。
それぞれ使えるようになると手放せなくなるほど使いやすものなので、使ってみてください。

fvの結果をエクセルで見たいなら.csvというファイル名で保存しつつ
先ほどの[User-defined separator]をクリックしたところをデフォルトの[CDV format]をクリックした状態で保存するとよいでしょう。

fvはfitsファイル中を直感的に色々見れるので、使ってみてください。