にちにちメモ

天文系大学院生のブログ。日々の生活の中で忘れがちなこと/忘れたくないことをメモ。

ds9やirafにシェルからコマンドを送る方法

(keyword: ds9, iraf, bash, shell script, xpa)

(xpaがインストール済である必要あり。)

ds9をシェルから操作する方法。

  • ds9をxpaを有効にして起動。
    $ ds9 -xpa localhost
    localhost <- inet or localでも可。通信モードを設定している。
  • ds9上に画像を表示
    $ xpaset -p ds9 file image

  • 今の表示を画像として保存(snap shot)
    $ xpaset -p ds9 saveimage jpeg ds9.jpeg 75
    • jpeg以外にもtiffpng, eps, fits, gifが指定できる
    • jpegの場合はクオリティ、tiffの場合は圧縮方法を指定できる。

xpaの使い方については次のページが詳しい。
XPA Access Points

 

irafコマンドをシェルから実行。→clにコマンドを投げる。
(自分の環境では未確認。いつかやってみたい。)
例:

  • login.clがある場所で行う場合、普段と同じようなコマンドを
    投げればコマンドが実行できる。
    $ echo "ls; imstat xxx.fits; logout\n" | cl
  • login.clがない場合、個別にパッケージを呼び出す必要がある。
    $ echo "images\nimstat xxx.fits;logout\n" | cl
  • \nは改行
  • 最後にlogoutすることで、鬱陶しくならない(らしい)。

また、FITSHを用いる方法もある。
FITSH
天体画像の処理に用いられるタスクをシェルスクリプトで書き下したもの。
Pál, A. 2012, MNRAS, 421, 1825 が元論文。

少し面倒そうではあるが、irafの実行ファイルを直接呼び出すこともできる。
この場合はすべてのパラメータを指定してから実行しなければならない。http://iraf.noao.edu/iraf/web/faq/FAQsec12.html#12007参照。

 

この記事は以下のページも参考にさせていただきました。
http://home.hiroshima-u.ac.jp/akitaya/research/memo/ds9xpa.html
http://www.ir.isas.jaxa.jp/~wada/IRAF/neta.txt