準備01
予習
はやぶさデータアーカイブ
今回ははやぶさデータの解析ということで,はやぶさデータアーカイブからデータを入手して使います.それらのうちとりあえずカメラ(AMICA)のデータを適当にダウンロードして眺めておいてください.FITS形式の画像データは SAO ds9 で開くことができます.
平田パート実習ソフト(plate_renderer)
本体ソースコード
全アーキテクチャ共通のソースコード
plate_renderer_20090306.tar.gz
platelib.a
platelibはSPICE toolkitの追加ライブラリで,ポリゴン形状モデルを取り扱うことができます.正規リリースはされていませんが,NAIFの好意によって使用しています.自分でコンパイルすることもできますが,今回はあらかじめコンパイル済みのライブラリを配布します.
MacOSX (intel) 用 platelib.a_darwin_i386.tar.gz
MacOSX (ppc) 用 platelib.a_darwin_ppc.tar.gz
cygwin用 platelib.a_cygwin.tar.gz
linux用 platelib.a_linux_0307.tar.gz
linux用メモリ節約版 small-platelib.a.tar.gz
ダウンロード後,以下の手順でplatelib.aを他のライブラリと同じく /usr/local/lib にコピーして下さい.
$ tar zxvf platelib.a_darwin_XXX.tar.gz $ sudo cp platelib.a /usr/local/lib
自分でコンパイルを試してみたい人はこちらからソースコードをダウンロードして下さい.
CFITSIO
CFITSIOはFITS形式のデータ読み書きを行うライブラリです.
公式サイトよりUnix .tar fileをダウンロードして,以下の手順でコンパイル,インストールを行う.
$ tar zxvf cfitsio3130.tar.gz $ cd cfitsio $ ./configure --prefix=/usr/local/ $ make $ sudo make install
/usr/local/lib に libcfitsio.a が,/usr/local/include に fitsio.h と fitsio2.h がインストールされる(他に /usr/local/lib/pkgconfig にも cfitsio.pc が入る).
コンパイル
以下の手順でコンパイルを行う.
$ tar zxvf plate_renderer_20090306.tar.gz $ cd plate_renderer_20090306/src/ $ make $ mv plate_renderer ../ $ cd ../
環境によってはリンク時にエラーが出ることがあるが,ライブラリのリンクの順番を入れ替えることで対処可能.
$ gcc plate_renderer.c ONC_getlos_c.c get_cam_info_c.c get_plbore.c hapke.c -O -lm -lcfitsio /usr/local/lib/platelib.a /usr/local/lib/cspice.a -o plate_renderer
直接上記のコマンドを入力してもよいし,makefileを書き換えてもよい.
実行例
実行例は以下のような感じになるはず.前提条件は,
- カレントディレクトリがplate_renderer_20090306/
- 実行ファイル plate_renderer とテキストファイル kernel_list が存在していること
- plate_renderer_20090306/ と同じ階層にカーネルファイルを納めた kernel/ があること
- kernel/Itokawa/plate/SHAPE0.bpm があること
bash系の場合
% ./plate_renderer ../kernels/Itokawa/plate/SHAPE0.bpm $(cat kernel_list )
tcsh系の場合
% ./plate_renderer ../kernels/Itokawa/plate/SHAPE0.bpm `cat kernel_list `
以下の動作例
../kernels/Itokawa/plate/SHAPE0.bpm is loaded. ../kernels/generic_kernels/spk/de405.bsp is loaded. ../kernels/generic_kernels/pck/pck00008.tpc is loaded. ../kernels/generic_kernels/lsk/naif0009.tls is loaded. ../kernels/Itokawa/pck/itokawa_gaskell.tpc is loaded. ../kernels/Itokawa/spk/itokawa_1989-2010.bsp is loaded. ../kernels/HAYABUSA/sclk/hayabusa.tsc is loaded. ../kernels/HAYABUSA/ik/amica31.ti is loaded. ../kernels/HAYABUSA/fk/HAYABUSA_HP.TF is loaded. ../kernels/HAYABUSA/spk/hayabusa_itokawarendezvous_v01.bsp is loaded. ../kernels/HAYABUSA/ck/hayabusa_itokawarendezvous_v01.bc is loaded. Instrument ID: -130102 <---おまじないとしてこの値を入力 Base filename: C <---ここは生成されるファイル名を決める文字列を入力 S/C Mode [psuedo parallel projection (LAT/LON):0] [Reproduction mode (refer Spk):1] > 1 <---おまじないとしてこの値を入力 Sun Mode [sub-solar LAT/LON:0] [Reproduction (refer Spk):1] > 1 <---おまじないとしてこの値を入力 Input start time (UTC): 2005-09-30T12:27:38 <---おまじないとしてこの値を入力 S/C position (Body-Fixed): X = 6.29867 Y = -3.88025 Z = -0.00554 Solar position (Body-Fixed): X = 149598133.50451 Y = -62121828.78077 Z = 4737822.90204 The central LOS vector (body-fixed): X = -0.85013 Y = 0.52656 Z = -0.00092 line: 1000 途中で以下のようなメッセージが出ることがあるが無視してよい ==================================================================== Toolkit version: N0062 SPICE(NOTINGRID) -- Ray origin not in voxel grid. A traceback follows. The name of the highest level module is first. PLBORE --> XDDA ==================================================================== S/C Mode [psuedo parallel projection (LAT/LON):0] [Reproduction mode (refer Spk):1] > ^C <--- 無限ループになっているので終了する時はcontrol-C
上記の例だと以下の9種類のファイルができれば成功.
C_2005-09-30T122738_a.fits C_2005-09-30T122738_s.fits C_2005-09-30T122738_e.fits C_2005-09-30T122738_g.fits C_2005-09-30T122738_hapke.fits C_2005-09-30T122738_i.fits C_2005-09-30T122738_lat.fits C_2005-09-30T122738_lon.fits C_2005-09-30T122738_range.fits
FITS形式の画像ファイルです.ds9などで開いてみるとこんな感じ.
以下のメッセージが出たら,同名のファイルが既に存在しているので,ファイル名の接頭辞を再入力する.
file create error! Output filenames may not unique. Please change Base filename: HOGE <---別の名前を再入力
platelibソースコード
自分でコンパイルをチャレンジしてみたい人はこちらから
要f77,FORTRAN版SPICE(もしかしたらCSPICEで代用できるかも).
会津大学授業資料
会津大学の大学院の授業で使用した,SPICEに関する説明と実習の資料です.
古い説明
MacOSX (intel) 用 plate_renderer_darwin_i386.zip
MacOSX (ppc) 用 plate_renderer_darwin_ppc.zip
MacOSX 10.4.11 + gcc 4.0.0 + g77 3.4.3 (install through fink) + spicelib/cspice N0062で作成
なお,ポリゴンデータは同梱のitokawa_gaskell070104_BE.bpmを使用すること.
cygwin用 plate_renderer_cygwin_20090302_1.tgz
linux用 plate_renderer_linux.tgz
他の環境用はまた後日.
カーネル類
- 一般カーネル generic_kernels.zip
- HAYABUSA固有カーネル HAYABUSA.zip
- Itokawa固有カーネル Itokawa.zip
kernels というディレクトリを作って,解凍してできる3つのディレクトリを全てその中に入れてください.
Keyword(s):
References:[第一回実習会]