天文はかせ幕下

Vicent Peris氏考案ののMultiscale Gradient Correctionを試してみました

はじめに

Pixinsightのウェブページに、現在、開発チームがすすめているというMARS(Multiscale All-sky Reference Survey)プロジェクトの情報があります

MARSは、光害などの影響を取り除いた全天の輝度分布情報を取得する取り組みである(とのことです)。その目的は、より正確な勾配補正ツールの実現にあります。

従来のDBEやGraXpert、Gradient Correctionなどの勾配補正ツールは、あくまで天体写真の構図の範囲内で、見た目がフラットになるように補正するだけもので、必ずしも夜空の本来の輝度分布を再現するものではありませんでした。とくに構図が星や天体で埋め尽くされて背景が無い場合は、かなり正確さが犠牲になるはずです。

しかし、MARSプロジェクトが実現すると、これまでとは一線を画した100点満点に近い勾配補正ツールが実現することになります。その基本は

「対象の天体写真よりも広い構図をカバーするMARSデータを参照して勾配を補正する」

という考え方で、その具体的な手続きはPixisight開発チームのVicent Preis氏のアイデアが元になっています。詳細は、Multiscale Gradient Correction(MGC)としてPixisightのウェブページに紹介されています。

中身は結構単純で、真似できそうです。個人の撮影でも、例えば500mmの鏡筒である領域を撮影するとき、その周辺を135mmのカメラレンズで同時に撮影しておけば、MARSのデータが無くても実現できます。

以下に紹介する方法は、近々Pixinsightのプロセスに取り入れられるはずで、すぐに無用になってしまうかもしれません。ですが、その考え方を理解する意味でも、自分で試してみました、というのが今回の内容です

Multiscale Gradient Correction

0)基本的な考え方

2年前の蔵王で、焦点距離420mm+APS-Cの組み合わせで撮影した干潟星雲と、70mm+フルサイズの画角で撮影したいて座付近を例にします。

勾配補正を行う干潟星雲周辺の画像(左)と、より広範囲の天の川画像(右)

左の画像のカブリ補正を行うのに、右の広角画像を使うのがMGCの基本的な考え方です。これ以降、ガブリ補正の対象画像を「T1」、広角の画像を「T2」と呼ぶことにします。

ここで、どちらの画像にも光害に伴うカブリがあることに注意します。しかし広範囲の「T2」から「T1」部分を切り取った画像「T2_registered」のカブリは、「T1」そのもののカブリよりもずっと単純であることが重要な点です。実際比較してみますそれが良く分かります

左が「T1」画像、右が「T2」の該当部分をクロップしたもの

そこで、あらかじめ「T2」画像に対しておおざっぱなカブリ補正を実行しておけば、そこから「T1」部分を切り取った「T2_registered」画像は十分にフラットで、「T1」のカブリ補正を行う際の正確なリファレンスとして使えるだろう、というわけです。

具体的な手続きを、以下に説明します:

1)準備

まず

・必要に応じて「T2」に1次のABE(Automatic Background Extraction)を実行し、カブリ補正をする。

・「T1」「T2」の両方にSPCCやCCなどで、色補正をする。

をやっておきます。すると下のようになりました

準備が終わったあとの画像

2)「T1」を基準にして「T2」を位置合わせ

StarAlignmentツールを使って、「T1」を基準にして「T2」を位置合わせします。その際、「T2」のプレビューで「T1」部分をなるべく正確に指定しておき、”Restrict to preview”オプションをオンにしておくと上手く行きます

位置合わせが済んだ画像に「T2_registered」と名前を付けます。さらに「T1」のクローンを作って「model」と名前を付けておきます。

左から「model」「T1」「T2_registered」

3)Multiscale Median Transformで大きな構造を取り出す

Multiscale Median Transformプロセスを起動して、Layersを9とし、1~9のレイヤーにバツマークを付けて無効にし、のこりのRを有効にした状態で、「T2_registered」と「model」に実行します。

MMTの実行

MMTの実行後

MMTで取り除くレイヤーの大きさは、天体写真の内容によってことなるのでその都度調整する必要がありそうです。だいたい、レイヤー8~9までを取り除けば上手く行くそうです。

4)PixelMathでカブリのモデルを作る

カブリのモデルは、

「model」ー(「T2_registered」の中央値からの変化量 )

を引き算することで作ります。Pixel Mathを起動して

symbol: k
RGB/K: model - k*( T2_registered - med( T2_registered) )

と入力します。このとき「model」に残っている星雲の構造がしっかり消えるようにkの値を調整します。下に、kを0.01から0.03まで変えた場合の結果を示します。

k=0.01,0.02,0.03のそれぞれの結果

k=0.01では星雲の構造が少し残っていて、0.03では星雲を引きすぎています。ここではk=0.02を採用しました。

得られたカブリのモデル画像

5)PixelMathで「T1」から「model」を引き算する

そして最後のカブリ補正は

「T1」ー(「model」の中央値からの変化量 )

を計算して実行します。ふたたびPixelMathを起動して

RGB/K: T1 - ( model - med(model) )

と入力し、「T1」に対して実行します。以上で完了です。

結果の比較

元画像、MGC、Gradient Correction、DBEと並べました。

どの結果も、十分フラットになっているように見えて、甲乙はつけがたい結果でした。また、DBEとMultiscale Gradient Correctionの結果が多少コントラスト高めに見えるのは、どちらも構造が多少引き算されてしまった結果かもしれません。

終わりに

以上紹介しましたとおり、MGCは、ある程度手数のかかる方法ではあります。ですが、非常に淡い構造を描出する場合や、光害の酷い環境での撮影、あるいは構図全体が星雲に覆われていて背景のない画像を処理する場合などには有力な方法になりそうです。ある意味でセルフフラット補正に似た処理なので、MMTのレイヤー値をうまく調整すれば、センサーについたゴミも補正できてしまうのが大きいです。

一方で、MMTで取り除くレイヤー値や、PixelMathでのパラメータ値(上の説明での”k”の値)の設定によっては、カブリだけでなく天体の構造を差し引いてしまう可能性があって、完全なカブリ補正と言えるためには、そのあたりの調整が必要そうです。近くPixinsightに追加されるプロセスでは、これがどのように解決されているかも、注目したいところです。

MGCのリファレンス画像は、おおざっぱな構造だけが参照されるので、星が流れていたり、星に収差があったりしても特に問題ありません。撮影中、使わなくなった古いカメラとレンズをポタ赤に載せて、ノータッチで同じ領域を撮って得られた画像で十分ですし、さらに言えばガイドカメラで撮影された画像がいくつか保存されていれば、それで事足りるようにもおもいます(PHD2はガイド画像を保存できたのでしたっけ?)

ともかく、近々MARSプロジェクトが完成してPixinsightに導入されれば、ワンタッチで実行できる強力な手法になるのは間違いなさそうで、同時に画像処理がすべてオートマチック化される日がまた一歩近づきつつあるように感じます

 

アイキャッチ