FITSファイル

現在、やっている開発で、天文領域用のFITS (Flexible Image Transport System)
というファイルを読み込んで操作するソフトを作っています。このFITSというのは、天文関係で使われているファイル形式で、ヘッダ情報とデータの情報のセットになっています。画像だけでなく、連なった画像のデータやもっと次元の多い数値データなども格納することができ、カスタマイズして出力することも可能な、普通のPNGやJPGとは全く異なる形式です。整数型だけではなくて、浮動小数点のデータでも格納することができるので、天文関係の精度の高いデータを扱うために考案されたもののようです。

 で、色々調べて開発しているのですが、なかなか、情報が多くなくて難儀しています。特に浮動小数のデータを実装して、整数型のRGBカラーに丸め込んでソフト上に表示するのですが、なかなか手強いです。特に、色々な科学プロジェクトによってファイルの定義が違うので、それに合わせなくてはならず、バイナリーエディターでサンプルのファイルを見て、ヘッダを解読しています。

 以前、RGBComposerというソフトを2002年ごろにリリースしていたことがあり、当時はNASAの火星探査機からのRAW画像をカラー合成するために作っていました。それを公開していると、ある天文学者の方からメールをいただき、カラー合成で役にたっているとのことでした。ちょっと予想していなかったので、その方のアドバイスなどを取り入れて、色々改良していました。それで、天文関係のことが分かったのですが、2MASSという近赤外線領域の観測データがあることがわかりましたが、それはFITSのファイルフォーマットになっていて、それをいつか扱いたいなと思っていました。

 今回、扱ってみて、そのファイルのヘッダを見てみると、本当に細かな、観測装置の情報や位置情報などが詰まっていて、それを見ていても面白いのですが、残念ながら、自分自身、基本的に天文学を学んでいないので、ちょっと合っているのか?自信がありません。

 それと開発環境の制約もあって、スピードが足りなくて、大きなファイルだと読み込みに時間がとてもかかります。ここら辺の問題はあるのですが、やっていて、結構楽しめています。バッチ処理も導入したので、ファイルを自動で多量に合成することも実装しています。火星探査機のNASAのRAW画像はJPGで公開されていますから、これを合成するテストではバッチ処理でかなり効率的にできます。

 まあ、形になって、公開できるかは未定ですが、そんなことを最近やっています。