FITS(Flexible Image Transport System)とは
Flexible Image Transport System (FITS) は、科学データの保存、送信、処理のために設計されたオープンスタンダードのファイル形式です。特に
天文学分野で広く利用されており、画像データだけでなく、
スペクトルデータや
光子リストなど、様々な種類の科学データを扱うことができます。
FITSの特徴
科学データに特化: 多くの画像形式とは異なり、FITSは測光や空間キャリブレーション情報など、科学データに必要な情報を記述するための規定を多く含んでいます。
長期保存: FITSは長期的な情報貯蓄を目的として設計されており、「once FITS, always FITS」という言葉が示すように、後方
互換性を重視しています。
メタデータ: ヘッダーにASCII形式でメタデータが記述されており、人が読める形式でファイルの出所や内容を確認できます。ヘッダー内の情報は、後続のデータユニット内の情報のバイトオフセットを計算し、データセルへ直接アクセスできるように設計されています。
柔軟性: 画像だけでなく、
スペクトル、
光子リスト、データキューブなどのデータも保存できます。また、複数の拡張機能を持つことができ、同じファイル内に異なる種類のデータを格納することも可能です。
FITSの構造
FITSファイルは、1つ以上のヘッダーで構成されています。ヘッダーは
ASCIIカードイメージ(80文字固定長の文字列)を含み、キーワードと値のペアを保持しています。キーワードと値のペアは、サイズ、原点、座標、バイナリデータ形式、自由形式のコメント、データ履歴などの情報を提供します。
画像データ
FITSで最も一般的なデータタイプは、画像ヘッダーとデータブロックです。FITSは任意の次元のデータ配列をサポートしており、画像データは通常、二次元または三次元で表されます。データ自体は、整数または浮動小数点数のどちらでも構いません。
座標系: FITSの画像ヘッダーには、座標系の情報を含めることができます。単純な直交座標系だけでなく、天球座標系のような世界座標系 (WCS) を使用することもできます。WCS規格は多くの投影法をサポートしており、例えば、HEALPix投影法は宇宙マイクロ波背景放射の観測でよく使用されます。
表形式データ
FITSは、多次元の行と列を持つ表形式のデータもサポートしています。バイナリ形式とASCII形式の表を扱うことができ、各列のデータは異なる形式で保存できます。
FITSの利用
FITSは、様々なプログラミング言語で利用できます。代表的な言語として、C言語、C++、C#、Fortran、IGOR Pro、IDL、Java、LabVIEW、Mathematica、MATLAB、Perl、PDL、Python、R、Tclなどが挙げられます。NASA/GSFCにあるFITSサポートオフィスでは、FITSをサポートしているライブラリやプラットフォームのリストを管理しています。
FITSを扱うためのツール
画像処理ソフト:
ImageJ,
GIMP, Photoshop,
XnView,
IrfanViewなどの画像処理ソフトは、単純なFITSファイルを読み込むことができます。ただし、複雑な表やデータベースを解釈できないことがあります。
科学計算ツール: 科学的なチームは、自身が利用する言語で利用可能なツールを用いて、FITSデータを扱うための独自のコードを記述することがあります。FITS Liberatorというソフトウェアは、欧州宇宙機関・ヨーロッパ南天天文台・NASAの科学者達にも利用されています。
可視化ツール: SAOImage DS9 Astronomical Data Visualization Applicationは、多くのOSで動作し、FITSの画像とヘッダーを扱うことができます。
座標変換ライブラリ: 多くの科学計算環境では、FITSヘッダーの中の座標データを活用して、表示・比較・修正などを行います。PDLライブラリ、PLOT MAPライブラリ、Starlink Project ASTライブラリ、PyFITSライブラリ(現在はastropyに統合)などが座標変換ライブラリを提供しています。
FITSの歴史と現状
FITS形式は1981年に初めて標準化され、その後も進化を続けています。最新のバージョン3.0は、2008年にIAU FITS Working Groupによって公式に承認されました。
関連情報
FITS Liberator
Hierarchical Data Format (HDF)
Common Data Format (
CDF)
NetCDF
外部リンク
ゴダードFITSサポートオフィス
FITSの生まれた日
FITS I/Oライブラリ 様々なプログラミング言語におけるFITS読み書き用ソフトウェアのリスト