C#7の星空周遊

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

PixInsightを使ったフラットの補正

カメラレンズはフラットデータをまともに撮ることすら難しいため1段絞って撮影するようにし、フラット補正無しコンポジットにしていた。その後にゴリゴリとPhotoshopの円形グラデーションなどでの適当なフラット補正となるので、強調に堪えない事も多々ある。そこでPixelMathを使ったカメラレンズ用フラット補正マスクを使った補正を考えてみた。PixelMathでの作図描画機能は結構あるので活用しない手はない。
右の画像は10月23日の記事の元画像(M31)で、
フラット補正無しでのコンポジットのため
周辺減光が目立つ。
特に4隅はRGB毎での周辺減光に違いが大き
くなるため特定の色の偏りが出てくる。
右画像では赤っぽく、RだけでなくGの落ち込
みもありそうだ。



◆フラット補正の曲線について
カメラレンズや屈折望遠鏡の周辺減光の曲線は理論的に4次曲線と言われている。4次方程式の3次以下はどうするかとなるが、3次以降を含めない単純なy=x^4で考えてみた。3次以降は曲面を波打たせる成分であり、実際のフラット補正なし画像を見てもそうした様子は無いので、無視して良さそうだ。
右の図はPixelMathの画面で、RGB/Kと   
Symbolsに描画に必要な文字列を記述した
もので、その下に示した画像内の文字列が
構文になっている。

◆構文の補足              
PixelMathでの座標と明るさ計算方法を少し
解説しておく。PixelMathでは画像をx,y座標
の2次元で位置を指定し、その位置の特性値
(明るさなど)をx,yの関数で表すことができれ
ば描画できる。
=Symbols= このタブで変数を定義
cx=,cy=, → 曲面の中心座標を入力                
r,rr,v   →計算に使う変数を列記
入力が必要な個所はSymbolsにある曲面の中心座標cx,cyのみで、cs,cyの単位は画像サイズの単位はピクセルなので、例えば4500X3500ピクセルの画像なら、中心座標はcx=2250,cy=1750となる。但し実際の画像では明るさMax点が画像中心と一致しないので、画像を見てcx,cyを決定する事になる。
=RGB/K=  このタブに計算方法と計算の順序を記述する。明るさを計算する式は最後に記述。
r=******* → 4次曲面を上から見れば円形に分布。曲面中心からの距離rをx,yで表した円の方程式。
 式中のx(),y()は普通の2次元グラフでのx,yと同じ。
rr=****** → rr=曲面の最外径の事で、画像の縦横サイズからを計算(→最外径で明るさ=1となる)。
 式中のwidth=画像幅,height=画像高さ,$T:補正対象画像を指す記号
v=(r/rr)^4 → 4次方程式でv(明るさ)に変換
補足) r=f(x,y) として円の方程式でrの位置を決定し、更にv=g(r)としてr点での明るさに変換している。ここでの描画構文はプログラミングは不要で計算式を並べただけとなっている。

◆描画の準備
補正対象の画像のL図像を作り(モノクロ)、PixelMathでRGB/Kに-1と書いて、このモノクロ画像にインスタンスをドロップすれば真っ黒画像が得られる。真っ黒は明るさ=0であり、この真っ黒画像に白のグラデーションを描くことができるようになる。
◆マスク画像の描画
右の図は4次曲線のグラフとPixelMathで描画
した4次曲面のグラデーション画像であるが、
画像見てもこれが4次なのか3次なのかは分
からない。
フラット補正は普通はコンポジット前の各画
像に対して、RGGBの各ベイヤー画像に対応し
たフラットデータで除算演算で処理される。
ここで描画した画像は4次曲面での明るさ値
の分布にはなっているが、フラット補正のよ
うな除算での処理ではない。
Photoshopでのマスクとトーンカーブを使っ
て画像の明るさ値を変換していく操作と同じ
やり方となる。
一方周辺減光によって上述したように4隅は
カラーバランスが崩れて色の偏りが出る。
この色の偏りも同時に補正していく。


◆フラット補正効果
下の画像は補正前後の比較を示したもので、4隅の色偏りはトーンカーブをRGB毎に調整し補正した。PixInsightではトーンカーブのOutput値は手で微調整できるため僅かな違いの差も修正できる。他のレンズでどうかと云う事で135mmレンズ画像でも同様にやって見た結果、補正効果は確認出来た。カメラレンズ画像での補正には有用のようだ。
なお屈折望遠鏡のフラット画像を見る限り4次曲面とは言い難いし、反射鏡筒では周辺減光の理論は知らないが4次曲面とは関係無さそうなので適用はできない。
f:id:kenwoodyjoy:20211028090226j:plain