FITSでunsigned shortやunsigned intを扱う

この投稿の内容は「cfitsioで16-bit unsigned integerを扱う例」のエントリでより詳しく解説していますので、参照ください。


FAQらしいのですが、FITSの仕様ではunsigned整数が扱えません。

unsignedっぽく扱うために、TZEROというヘッダーキーワードが用意されていて、オフセットを指定できます。

http://heasarc.gsfc.nasa.gov/fitsio/c/c_user/node23.html

で説明されているように、

16-bit unsigned integer → TFORM=1I → TZERO=32768

32-bit unsigned integer → TFORM=1J → TZERO=2147483648

と指定すると、FITSIOでデータを書き込む際にunsignedとして扱ってくれるようになります。

注意:上記ページの16-bit unsigned integerの場合のTZEROにはtypoがあるように思われます。32768 ( = 2^15)が正しいです。2014年1月14日現在、上記ページでは「32678」となっています。

[browser-shot url=”http://heasarc.gsfc.nasa.gov/fitsio/c/c_user/node23.html” width=”450”]