C#7の星空周遊

愛知県の山とベランダで星空撮影

フラット補正計算

先の記事の最後の方でフラット補正計算の概要を書いてみたが、詳しい説明ではないため理解しずらいとの指摘もあったため、今回は具体的な数値演算で詳しく説明してみようと思う。なお先回の説明に使ったフラットイメージのグラフの曲線は、周辺部の輝度低下を少し緩和しようとy=1-x^4-a/(x^3+x^2)にしたものの周辺減光曲線イメージから離れているため、今回は3次や2次は入れずに、 y=a*(1-b*x^4) とした。
ここで y : 明るさ、x : 座標(無次元)、a,b : 近似用の係数

最下段のグラフのフラットデータは、正常に対してNGフラットは先回と同様にbias二重減算を近似したもの。グラフ中には後の計算で使う各データのメディアンmedian値を記載した。

中段はライトイメージの背景の明るさ曲線であるが、実際の写真イメージだと、星や星雲・銀河などが写っているため、ギザギザの線になる。しかしこれらを除いてかつカブリも無い環境なら、背景の明るさ分布になるのでこんなイメージになる。
ここからがフラット補正計算の説明となるので、実際の計算で説明していく。なおグラフの縦軸は明るさを示すが、正規化したイメージの数値であり、実際とは異なる。


計算式と使うデータ
Lf=L/F*median(F) ・・・・・/除算記号、 *は乗算記号
  Lf : 補正後ライトイメージの座標xでの明るさ
  L : 補正前ライトイメージの座標xでの明るさ
  F : フラットデータの座標xでの明るさ
median : フラットデータのメディアン値(中央値)

座標x=-0.8での各データの明るさを読みとると、最下段正常フラットの曲線(青線)では y=0.00918、NGフラット(橙色)ではy=0.00794である。中段グラフのライトイメージではy=0.03213となっている。これらの値とフラットデータのメディアン値を使って、フラット補正計算は以下のようになる。
L=0.03213、 正常フラット F=0.00918、median値=0.09808、NGフラットでは F=0.00794、median値=0.009135 を計算式に入れると、
正常フラットで補正後のライトイデータ Lf=0.03213/0.00918*0.009808 = 0.03432
NG フラットで補正後の  〃     Lf=0.03213/0.00794*0.009135 = 0.03695

xの領域全体に亘って同様の計算を行うと最上段のグラフが出来上がる。正常フラットでは理想的な補正となるので横一直線となり、NGフラットでは周辺部が持ち上がったようになる。