Binary Table Extension のヘッダ

要求されるキーワードは

XTENSION
Binary Table に対しては 'BINTABLE' である。

BITPIX
Binary Table では 8 である。

NAXIS
Binary Table では 2。

NAXIS1
各々の “行” の (8 ビット) バイト数。

NAXIS2
表の中の行の数。

PCOUNT
表の正規の部分に続くヒープと呼ばれる部分のバイト数。

GCOUNT
Binary Table に対しては 1 である。

TFIELDS
表中のフィールド (列) の数。

TFORMn
nフィールドのサイズとデータタイプを与える。1 から TFIELDSの値までの範囲をとる。TFORMnrTaの形式をとり、繰り返し回数rはフィールドnの要素数を表す非負の整数(通常は1で省略可)、Tはフィールドnのデータタイプ、aは文字列配列を定義する場合の1要素あたりの文字列長。 (t$ e_{max}$は後述の可変長配列で使う。) データタイプとして許されるのは次の表10のとおり。


表 10: BINTABLEの有効な TFORMnデータタイプ
TFORMnの値 意味 8-bit バイト数
rL 論理値('F'または'T') $ 1 \times r$
rX ビット $ [(r-1)/8]+1$
rB 符号無バイト $ 1 \times r$
rI 16-bit 整数 $ 2 \times r$
rJ 32-bit 整数 $ 4 \times r$
rK 64-bit 整数 $ 8 \times r$
rAa キャラクタ(文字列) $ r$
rE 単精度浮動小数 $ 4 \times r$
rD 倍精度浮動小数 $ 8 \times r$
rC 単精度複素数 $ 4 \times 2 \times r$
rM 倍精度複素数 $ 8 \times 2 \times r$
rP $ t(e_{max})$ 32-bit配列記述子(配列長,ヒープオフセット) $ 4 \times 2 \times r$
rQ $ t(e_{max})$ 64-bit配列記述子(配列長,ヒープオフセット) $ 8 \times 2 \times r$


表の$ n$列で必要とされる総バイト数$ n_{row}$ (=NAXIS1) は次のように表される。


$\displaystyle n_{row} = \sum_{i=1}^{\texttt{TFIELDS}}r_{i}b_{i}$     (9)

ここで$ r_{i}$はフィールド$ i$の繰り返し回数、$ b_{i}$はフィールド$ i$のデータタイプで必要なバイト数、TFIELDSはこのキーワードの値、を各々表す。

また、表の $ n$ 番目の列のエントリに対するオプションのキーワードとして、ラベル TTYPEn、単位 TUNITn、スケーリングファクター TSCALn、ゼロ点 TZEROn、ブランク TNULLn、表示フォーマットを与える TDISPn等がある。 TDISPnで使えるのは FORTRAN-77形式のフォーマットで次のとおり。


表 11: BINARY Table Extension で有効な TDISPnフォーマット。
フィールド値 データタイプ
Aw 文字列
Lw 論理値
Iw.m 10進整数
Bw.m 2進整数
Ow.m 8進整数
Zw.m 16進整数
Fw.d 実数、固定小数点表示
Ew.dEe 実数、指数表示
Gw.dEe 実数、汎用表示(精度によって F または E 同等)
Dw.dEe 実数、指数表示


ここで w は表示欄全体の幅、m は出力される最低の桁数、d は小数点以下の桁数、e は指数部分の桁数を表す。.m、Ee は省略可。

Osamu Kanamitsu
2019-02-15