HEASoft とは
HEASoft はNASAが開発管理している宇宙X線の解析ソフトウェア群のことで、
に書かれておりますが、ざっと下記のツールが入っています。
- XANADU High-level, multi-mission tasks for X-ray astronomical spectral, timing, and imaging data analysis
-
FTOOLS General and mission-specific tools to manipulate FITS files
- fits ファイルの処理を助けてくれる便利ツール群。
-
FITSIO Core library responsible for reading and writing FITS files
- fits ファイルの処理に使われるが、これをダイレクトに使う機会は最近は減っている。
fv General FITS file browser/editor/plotter with a graphical user interface - GUI で fits ファイルの中身を見たり、プロットできたりする。
- fits ファイルの処理に使われるが、これをダイレクトに使う機会は最近は減っている。
-
XSTAR Tool for calculating the physical conditions and emission spectra of photoionized gases
- 光電離プラズマの計算ソフトウェア。初学者がいきなり使うことはないです。
スペクトル解析や時間変動解析など、いろんなことができるツール群です。FITSファイルをいじるだけなら自分でpythonなどでコーディングしてもよいのですが、個々の衛星のデータリダクションと強くカップルして使うことがあるので、X線のデータ解析をする上では必須ツールになります。
基礎知識
FITS ファイル
天文分野で最もポピュラーなデータ形式なので慣れておきましょう。
python でもよく使うHDF5ファイルの天文版がFITSファイルという感じです。
など、参考に。巨大なデータを扱うため、メタ情報(基礎的な情報)は人が読めるアスキーデータで保持し、データはコンピュータが読めるバイナリ形式で保存します。バイナリで保存すると可読性は下がりますが、データ容量がアスキーデータよりも桁で減ります。
ソースコードと pre-compiled (=事前にコンパイルされた) バイナリの違い
まず、ソースコードとバイナリファイル、の違いは抑えておきましょう。
などを参考ください。
Heasoft は、C言語、fortran も使われているので、適切なC言語やfortranのコンパイラの設定が必要で、それはコンパイル時に環境を自動的に取得して普通はやってくれますが、コンパイルに時間がかかるので、すでにコンパイルしてバイナリ化されたもの(pre-compiled binary)をダウンロードして、PATHを通せばすぐに使えるようにしてくれています。この日本語の意味がわからない場合は、もう一つ次を呼んでください。
PATH を通すとは?
「PATH を通す」とは、環境変数を設定することです。
pre-compiled binary を使う場合は、ダウンロードして、PATH を貼るだけで使えます。ただし、自分と同じ環境でコンパイルされたものでなければ動かないので、環境の違いがあれば動かないことがあります。
ソースコードであれば、自分の環境にあったものをつかうので、確実性が高いですが、稀に自分の環境が特殊だったり、自分のコンパイル時の環境設定と動作時の環境が違ったり、そもそもバグでコンンパイルが通らなかったり、確実に動くかどうか注意が必要です。Heasoftは膨大なソフトウェアなのでコンパイルにも時間がかかります。
なんか動かない場合の確認方法 (1) PATH が通ってない場合
まずは、環境変数 HEADAS が設定できているかを確認しましょう。
$ echo $HEADAS
/Users/syamada/work/software/heasoft-6.27.2/x86_64-apple-darwin18.7.0
あるいは、
$ printenv | grep HEADAS
HEADAS=/Users/syamada/work/software/heasoft-6.27.2/x86_64-apple-darwin18.7.0
で環境変数 HEADAS が設定できていることを確認しましょう。
もし設定されてなければ、zsh の場合は、
$ grep HEADAS ~/.zshrc
export HEADAS=/Users/syamada/work/software/heasoft-6.27.2/x86_64-apple-darwin18.7.0
など、.zshrc に記載されていれば、ターミナルの自動時に設定されます。
環境変数 HEADAS が設定されていれば、
source $HEADAS/headas-init.sh
を実行して、初期化を行います。
なんか動かない場合の確認方法 (2) PATH が通っているが、起動時におかしい場合
mac では、otool -L, linux では ldd などで、ダイナミックに呼ばれるファイルが適切かを確認します。
ダウンロード方法
から、ダウンロードします。
ダウンロードに時間かかります。
サイトは米国なので、ダウンロードに時間がかかります。途中で途切れると変なファイルになることもあります。安定したネット環境でダウンロードしましょう。
STEP 1 - Select the type of software:
次のうち、
- SOURCE CODE DISTRIBUTION (Recommended):
- PRE-COMPILED BINARY DISTRIBUTIONS (May experience portability issues):
どちらでやるかを、自分で決めます。(人に言われたとおりではなくて、自分でこの2つの選択肢の意味を理解してからやりましょう。)
どちらを選択したかに依存して、マニュアルの読むべき場所も変わります。
STEP 2 - Download the desired packages:
必要なものを選択します。初めてであれば、とりあえず All を選択しておきましょう。足りなくてやり直すよりはマシ、ということで。
STEP 3 - Install the software:
これは、それぞれのOSにしたがって、かつ、自分がソースコードを選んだのか、pre-compiled binary を選んだのかによって、手順が変わることにも気をつけてください。
インストール方法
mac編
バイナリからのインストール方法
PRE-COMPILED BINARY INSTALLATION:
以下を実行する。
ファイルをダウンロードするだけではないです。
https://heasarc.gsfc.nasa.gov/lheasoft/macos.html
B.2. Configure (Pre-Compiled Binaries)
は、バイナリの場合でも必要です。
例えば、heasoft-6.34/x86_64-apple-darwin23.2.0/BUILD_DIR 以下で、
./configure >& config.txt
を実行する必要があります。
mac はバイナリでも動くことが多いです。
(自前の python 環境との共存でハマることはあります。)
mac のバイナリを使う場合に、wish
の開発元を検証できないため開けません、などのエラーメッセージが出て、fv
などが使えない場合があります。
wish というのは、heasoft/heasoft-6.33.1/x86_64-apple-darwin21.6.0/bin/wish
に入っていて、
https://www.tcl.tk/man/tcl8.6/UserCmd/wish.htm
という、昔の GUI を fv
が使ってるためだと思います。コマンドラインには、
heasoft/heasoft-6.34/x86_64-apple-darwin23.2.0/bin/fv: line 23: 30357 Killed: 9 $FV/bin/wish $FITSVIEWER_LIBRARY/fvInit.tcl -- "$@"
というエラーがでます。
解決方法は簡単で、mac のシステム設定 --> プライバシーとセキュリティ を確認し、fv
を実行すると許可する
というボタンが生成するので、それを押します。wish
以外にもいろんなライブラリが許可されてないので、なんども fv
を実行して許可します。
ソースコードからのインストール方法
SOURCE CODE INSTALLATION:
以下を実行する。
linux編 (Ubuntu)
ソースコードからのインストール方法
SOURCE CODE INSTALLATION:
以下を実行する。
linux では pre-compiled binary はあまりオススメしないです。
動作確認
xspec
など、xspec が動くことをまず確認しましょう。
観測データの解析
もし、この次に、ある衛星のデータを解析したい場合は、もう一つ、ダウンロードと設定が必要です。
それが、
にあるもので、HEASARC's calibration database (CALDB) の意味です。これを自分の解析したい衛星ごとに取得して、初めて衛星に固有のソフトウェアが動かせます。
例えば、./xraydata/caldb 以下に CALDB の環境を構築した場合は、下記のようなディレクトリ構造になるはずです。
./xraydata/caldb$ tree -L 3
.
├── caldb_setup_files.tar.Z
├── data
│ └── data
│ └── nicer
├── goodfiles_nicer_xti_20221001.tar.gz
└── software
└── tools
├── alias_config.fits
├── caldb.config
├── caldbinit.csh
└── caldbinit.sh
そのあとで、環境変数を、
# CALDB
export CALDB=$HOME/xraydata/caldb
source $CALDB/software/tools/caldbinit.sh
のように設定して使います。echo $CALDBCONFIG
$ echo $CALDBCONFIG
..../caldb/software/tools/caldb.config
のように、$CALDBCONFIG が設定されていることを確認しましょう。
最近は、Chandra 衛星であれば、ciao を anaconda で install したときに、最新のCALDBも自動でインストールしてくれます。所望の衛星のHPなどに記載があるので、その説明に従います。
関連ページ
FITSファイルや、画像処理につかうds9などは下記の記事も少し書いていますので、参考にしてください。
インストールログは、
にまとめていきます。