CMOSカメラのFITS画像とベイヤー配列
天体画像処理ソフト「ステライメージ9」はカラーCMOSカメラで撮影されたFITS画像に対応しています。
カラーCMOSカメラで撮影されたデータは、一般的なデジタルカメラのRAW画像と同様に、ベイヤー配列と呼ばれる「あるカラーパターンでモザイク状に情報が記録されたモノクロ画像」となっています。
このモザイク状の画像からカラー(RGB)画像を作り上げるのがベイヤー・RGB変換です。
そもそも、ベイヤー配列とはどんなものでしょうか?
詳しく見ていきましょう。
ベイヤー配列は2×2の格子を単位として、対角線上にRとBもう一方の対角線上に2つのGを並べた配列で、以下の4種類が存在します。
- RGGB
- GBRG
- GRBG
- BGGR
この2×2単位のブロックが連続して並んだものがベイヤー配列画像です。
この4種類のパターンはX方向、Y方向に1画素シフトすることで隣の状態に遷移できます。
つまり、この4種類はパターン原点(ここでは左上画素)の状態を現したものと見ることができます。
市販されている多くのカメラでRGGBパターンが採用されていますが、その他のパターンも決して少ないわけではありません。
ベイヤー配列のパターンを探る
デジタル一眼カメラの場合、RAW画像データの中にベイヤー配列のパターン情報が記録されていますが、カラーCMOSカメラの場合は撮像したRAWデータにそのような情報は含まれないため、撮像ソフトがFITS画像のヘッダーに配列パターン情報を記録します。
FITS画像フォーマットは基本的な骨子については標準仕様が定められていますが、悩ましいことに、その多くのヘッダー等は明確な仕様が存在せず、デファクトスタンダード(事実上の標準)なものが暗黙の了解で使用されています。
ベイヤー配列設定を表す「BAYERPAT」プロパティもデファクトスタンダードなプロパティで、カラーCMOSカメラで撮像されたFITS画像には、大抵の場合この「BAYERPAT」が記録されています。
ステライメージ9はこの「BAYERPAT」を参照しており、カラーCMOSカメラ・撮像ソフトで撮影されたFITS画像に対応しています。
撮像ソフト「SharpCap」でベイヤー配列の追いかけっこ!
SharpCap特有の「BAYERPAT」仕様を探る
FITS画像の「BAYERPAT」設定があくまでデファクトスタンダードということを如実に現している例として、SharpCap という撮像ソフトでのベイヤー配列の取り扱い方が挙げられます。
SharpCap 3.0が撮影したFITS画像に記録されている「BAYERPAT」には次のようなコメントが記されています。
BAYERPAT= ‘GBRG ‘ / NOTE: Use RGGB on some software (eg PixInsight)
「BAYERPAT」のプロパティが「GBRG」である一方で、一部のソフトでは「RGGB」を使用せよと言っています。
「GBRG」と「RGGB」の関係を先述の図で確認すると、Y方向に1シフトしたパターンであることが分かります。
調査を進めるとSharpCapというソフトはFITS画像データが左下原点で記録されることに合わせて、ベイヤー配列パターンを左下原点で表現していることがわかりました。そのため、ベイヤー配列のパターンが上下反転しているようでした。
しかし、ステライメージ9を含む多くの画像処理ソフトでは、ベイヤー配列パターンは原則左上原点で記録されていることが期待されており、SharpCapで撮影されたFITS画像をカラー現像すると色調がおかしくなるという問題がそこかしこで発生していたようです。
そこで、ステライメージ9ではSharpCapで撮影されたFITS画像を検知した場合に、ベイヤー配列パターンを上下反転する処理を追加しました。
一転、SharpCapの仕様変更!?
ところが先日、社内でSharpCap 4.0で撮影したFITS画像をカラー現像すると以前のような異常な色調の画像が得られるという報告があり、問題の画像を取得して試したところ、どうやらSharpCap 4.0ではこれまでと一転して左上原点(デファクトスタンダードな仕様)に合わせたかに見える結果が得られたため、このバージョンで記録されたFITS画像では上下反転処理を解除しました。
それがステライメージ9.0dアップデータの「SharpCap 4.0が出力するベイヤー配列の FITS 形式ファイルに対応。」の項目でした。
もう一転、更なる「BAYERPAT」への手厚い仕様変更……
しかし、当然ながらSharpCapのv3.0とv4.0とでベイヤー配列が上下が反転するという、文字通り「天と地が入れ替わる」挙動は従来版のユーザーへの影響は計り知れないものがあります。
そのためか、SharpCap v4.0.8026.0からベイヤー配列を従来版に戻す「Bayer patterns written to RAW FITS file headers」という設定が登場しました(以下)。
- Normal – values will be correct for processing with PixInsight, Deep Sky Stacker, Siril, Astap
- Inverted – values will be correct for processing with AstroPixelProcessor, AstroArt, PIPP
要するに、
- 「Normal」で記録すると一般的な左上原点
- 「Inverted」で記録した場合にv3.0と同等の左下原点
で記録されるようです。SharpCap v4.0.8026.0よりも前は有無を言わさず「Normal」設定になっていたのですが、SharpCap v4.0.8026.0以後はその他のプロパティも含めて「Inverted」を基準としたv3.0に似たプロパティに先祖返りしてしまいました。
ステライメージ9.0dアップデータ作成時点ではv4.0.8026.0の変更を見落としていたため、「Normal」のみの対応となってしまいました。
ステライメージ9でも「Normal」「Inverted」を検出対応
この問題が発覚してからSNSを調べてみると、「SharpCap 4かつInverted設定で撮影したFITS画像がステライメージ9で正しく処理できない」という報告を見かけました。
ご不便をおかけし申し訳ありません。この問題については次回以降のアップデータで対応を予定しています。
ステライメージ 9.0dでは次の回避策をお試しくださいませ。
さらに色調が合わない場合は、環境設定の「FITS形式ファイルのデータ並びをボトムアップで読み込む」がONになっていないかをご確認ください。
ステライメージ9の他ソフトへの対応
ステライメージはユーザーの皆様の多様な環境に可能な限り対応するべく、バージョンアップやアップデータ等で機能追加・不具合修正を行っています。
その際に、不具合を作り込まないに越したことは無いのですが、天体画像の撮影環境は非常に多様、かつ先に述べたように明確な仕様が定義されていないものも多いため、何らかの不具合が発生してしまうことがあります。
弊社サポート宛に頂いた皆様からの報告が、類似の問題をお抱えの別のユーザーの方の問題解決のきっかけになることもありました。
もしお手元の環境で不具合等が見られましたら、お気軽にサポート宛にお問い合わせいただけますと大変な助けとなります。
今後も機能追加を進めるとともに、より一層品質を向上するべく努力を続けていきます。
ステライメージ他、弊社製品をご愛顧いただけますと幸いです。