【デジカメ raw画像の FITS化について】

近年デジカメの性能向上によって、天体画像の簡単な取得ができるようになってきている。 しかし通常のデジカメ画像は jpegフォーマットになっておりデジカメ内で現像処理がされることで、本来の天体情報がある程度損なわれてしまう(もっとも、一般的な用途で問題になるようなことは少ないかもしれないが)。 そこで、ここではデジカメが取得した天体情報をなるべく損なわないように処理するためにデジカメの一番生のデータである raw画像を天体画像処理用の FITSフォーマットにする手法について解説する。


1.デジカメの画像データの形式について

jpeg画像の品質サンプル
[jpeg画像の劣化サンプル]
  1. デジカメの一般的データ形式は jpeg であり、非可逆なデータ圧縮などのために元の情報が(ある程度)失われている(右図では jpegデータの品質を変えて画像が悪化する様子を強調している)。
  2. jpeg形式は RGB各8ビットだが、デジカメの撮像素子は各12ビット程度を持っており、このビット数の違いからも元データが失われている。
  3. 天文用データ形式は FITS形式だが、一般のデジカメで FITS形式で保存できるものはない(天体用の冷却カメラでは可能なものもある)。
  4. デジカメで一番元の情報を残せる形式としては、取得したデータをそのまま保存する raw形式がある。
      ↓
  1. raw形式の画像を抜き出して FITS形式にすれば Makali'iなどの教育用ソフトで処理ができていいのではないか。

2.rawデータを扱える天文系ソフト

rawデータを扱う上での問題としては、カメラメーカーごとに rawの規格が違い、ソフトでの対応が必要なことがあげられる。
例えば、天文分野でよく使われるソフトのうち、デジカメのrawデータの読み込みができて、FITSにも対応しているものとしては以下のようなものがあげられる。 (これ以外にも raw画像を表示するだけなら Picasa などもある。)
rawとFITSに対応したソフト例

3.rawデータのべイヤー配列と天文系ソフトの問題点

べイヤー配列の説明
上記のソフトウェアでの raw画像の扱いには問題点がある。       ↓

4.星空公団の raw2fits ソフト(raw から RGB各データの書き出しソフト)

raw2fitsで書き出したR画像の例
[raw2fitsで書き出したR画像例。元の画像から縦横1/2になっている。]
      ↓

5.raw2fits を呼び出すラッパープログラムの開発

Makali'iのような教育用ソフトを使う初心者向けに、raw2fitsを呼び出して使うグラフィカルなUIを持つラッパープログラムを用意すれば、使用に対する敷居を下げることができるのではないかと考えた。 手軽に開発して試せるスクリプト言語が良いと考えたが、何を使うのが良いか? 最終的には、情報が比較的あり、以前から試してみたかった ruby で行くことにした。

6.raw2fits_win ラッパープログラム

raw2fitsで書き出したR画像の例
[raw2fits_win のGUI画面]
今回、開発したラッパープログラムは次のようなものである。 スクリプトと実行ファイルのダウンロード:raw2fits_win.zip
(注:元の raw2fits は前記の星空公団のサイトから入手できる。raw2fits.exe と raw2fits_win.exe を同じフォルダに入れて、raw2fits_win.exe をダブルクリックで起動する。raw2fits.exe を呼び出す時に黒いコマンドウインドウが出るが害はない。)

≪参考文献≫

以下の書籍を参考にしました。