記事一覧 > この頁
フラット補正とダーク減算の関係
デジタルカメラで撮影した天体写真のフラット補正とダーク減算の関係について、
自分の認識を確認するため簡単な検証作業を行ったので記録しておく。
- この記事ではオフセットをExif内の「BlackLevel」としている。
画像のゼロ位置からの距離を示すものであり、指定された値が原点となる。
- バイアスは非露光時における原点からの偏りを示すものである。
すなわち最速シャッタースピードで撮影したダークフレームの輝度平均から、オフセット値を差し引いたものがバイアスであり、
その標準偏差がバイアスノイズということになる。
画像の構造の概念は以下の通り。
図中Sは信号レベル、Dはダーク(バイアス)レベル、Oはオフセットである。
なお作図の都合上、二種類のフレーム([Light or Flat] vs [Bias or DarkFlat])をひとまとめにしている。
ダーク減算するとオフセット値(600)が差し引かれ次のようになる。
[参考]
・Siril - Synthetic biases
・Siril - Enough with dark flats
【検証】
- 素材の概略
- D7200 (Offset600)
- [Light] mean1266, [Flat] mean1909
- D7000 (Offset0)
- [Light] mean889, [Flat] mean1673
- 検証類別
- Light ÷ Flat
- Light ÷ (Flat - darkflat)
- (Light - dark) ÷ Flat
- (Light - dark) ÷ (Flat - darkflat)
- Light ÷ Flat → LFの輝度が揃っている場合
- RAWファイル出力
- dcraw -v -t 0 -D -4 -T "%1"
- 確認方法
- ImageJ
- Image Calculator及びMathで演算(32bit)
Light ÷ Flat * Flat.mean
- Plot Profile(輝度断面)を表示
- 備考
- 本来はRGB毎に上記の計算をしなければならないが、補正状態の確認ができれば良いので省略した。
【結果】
-
D7200
- 0,Light_unprocessed
- 1,Light ÷ Flat
- 2,Light ÷ (Flat - darkflat)
- 3,(Light - dark) ÷ Flat
- 4,(Light - dark) ÷ (Flat - darkflat)
- 5,Light ÷ Flat → L.mean1266 vs F.mean1267
-
D7000
- Light_unprocessed
- Light ÷ Flat
【まとめ】
- フラット補正を正確に整合させるためには、ライトフレームとフラットフレームのオフセットをゼロにする必要がある。
- D7200の場合、オフセットは600で設定されている。
(Light - 600)÷(Flat - 600)の状態でなければ、フラット補正は正しく整合しない。
- 通常ライトフレームは固定パターンノイズ除去のため、ダークフレームで減算するが、
その際にオフセットは差し引かれてゼロになる。
このときフラットフレームをフラットダークフレームで減算しなければ、オフセットの状態が合わないことになる。
- つまりフラットフレームを減算する目的は、オフセットの状態を調整するためなのである。
- D7000はオフセットがゼロのため支障ない。
- 【補足】
- 「(L - O) ÷ (F - O)」の計算結果が正しい値(T)である。
1〜3の例ではTと一致しないため合わない。
Tより大きければ過補正、小さければ補正不足となる。
- T, (1266-600)/(1909-600)=0.509
- 1, 1266/1909=0.663
- 2, 1266/(1909-600)=0.967
- 3, (1266-600)/1909=0.349
- 5の例はTと一致しているので、オフセットを差し引かなくても補正は整合する。
- T, (1266-600)/(1267-600)=0.999
- 5, 1266/1267=0.999
【その他】
- フラット補正においてノイズの挙動は減算時と同様となりランダムノイズは増えるが、
フラットダークフレームまたはバイアスフレームのノイズは非常に小さいので無視できる。
フラットフレーム撮影時の露出時間は、一般的にせいぜい1秒前後であることを前提にしている。
何か特別な事情がない限り、ライトフレームと同じISO感度や露出時間で撮影する必要はない。
- ライトフレームとフラットフレームの輝度バランスによって、結果が変わってくる場合があるので注意が必要。
ライトフレームの輝度がフラットフレームより高い場合、「Light ÷ Flat」のみ上記のプロットとは
逆に補正不足の結果となった。
また「(Light - dark) ÷ Flat」では改善の度合が低下した。
- フラットフレームの輝度を高くとった方が、合わせやすい傾向にあるように思われる。
- ライトフレームとフラットフレームの輝度差が大きい場合、プロットの振幅(σではない)が大きくなり、
不具合の原因となる可能性がある。
- ImageJは単純に数学的な画像演算しているだけなので、使用しているプログラム独自のアルゴリズム等がある場合、
当然ながらそれを再現することはできない。
- プログラム側が対応しているのであれば、画像で減算するのではなく、数式を使って計算処理することもできる。
数式で処理すれば画像演算によるノイズの付加を懸念する必要はなくなる。
低ISO感度でフラットフレームを撮影している場合は、そこまで気にする必要はないだろうが……
- ちなみに低ISO感度のフラットフレームを使った場合、強調処理すると問題が生じる事例もあるもよう。
ある種のノイズが目立ってしまうということであるようだが、
これはフラット補正の問題ではなく、ライトフレームのS/N不足によるものであると思われる。
対症療法的ではあるが、少しノイズを付加してやると目立ちにくくなるかもしれない。
- DeepSkyStackerはdcraw/LibRawの「-d」オプションを使用して出力している。
この場合RGBに乗数が入り、16bitにスケーリングされるので、リニアベースの処理ではなくなる。
マスターダークやマスターフラットダークはゼロ位置でクリップしたものが出力される。
ファイルを「-d」オプションで出力して検証したところ、フラット補正は上記の全てのパターンで整合した。
- 「Set the black point to 0」を有効にした場合(-k 0)は、当検証と同傾向の結果になる。
整合させるには「(Light - dark) ÷ (Flat - darkflat) 」とする必要がある。
このオプションを有効にすると輝度が上がり、ゼロでクリップしない状態となる。
即ちオフセットが設定されているのと同様の状態になる。
これは非推奨のオプションであるもよう。
- RStackerはRAWファイル読み込み時にオフセット値を減算している。
従ってフラット補正は整合する。
ただし符号無しの演算であると推定されるので、ゼロ位置でデータをクリップさせてしまう問題をはらんでいる。
そのためマスターダークはヒストグラムの山の左側が欠落した形で出力される。
詳細は別途まとめる予定であるが、画像に回復不能な損傷を与える可能性と、固定パターンノイズの減算不良という問題が生じる。
- RAP2ではRStackerのような問題はない。
しかし使用しているD7200がサポート外にも拘わらず、無理やり検証しため確実とは言い切れない。
- PixInsightやSiriLでは今回の検証結果と変わらないはず。
- デジタルカメラのオフセット値は、露光時間やISO感度に拘わらず一定であるが、
念のため確認しておいても良いだろう。
初出:2022-03-09 改訂:2022-07-31
(C) YamD