準備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などで開いてみるとこんな感じ. plate_renderer_sample.png

以下のメッセージが出たら,同名のファイルが既に存在しているので,ファイル名の接頭辞を再入力する.

file create error!
Output filenames may not unique.
Please change Base filename: HOGE <---別の名前を再入力

platelibソースコード

自分でコンパイルをチャレンジしてみたい人はこちらから

platelib.zip

要f77,FORTRAN版SPICE(もしかしたらCSPICEで代用できるかも).

会津大学授業資料

会津大学の大学院の授業で使用した,SPICEに関する説明と実習の資料です.

Aizu_SPICE_class.zip

古い説明

再コンパイルには CSPICECFITSIOが必要.

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

他の環境用はまた後日.

カーネル類

kernels というディレクトリを作って,解凍してできる3つのディレクトリを全てその中に入れてください.

Last modified:2009/11/10 21:46:12
Keyword(s):
References:[第一回実習会]