新登場! PixInsightの新しい前処理、WBPPを試してみた。

PixInsightの前処理の定番BPPが、強力な機能を加えて進化しました。その名もWeighted Batch Preprocessing (WBPP)。前処理の際に、画像のクオリティを判断して重み付けしてくれたり、Integrationするときの基準となる最も良いイメージを自動で設定してくれるツールです。PixInsightの画像判断処理にはSubframeSelectorがありますが、WBPPはSubframeSelectorとBPPをあわせて一つにしたような処理です。

これはチリ旅行中に出会った天文友だちCarlosから教えてもらいました。Carlosは天体写真への熱量がとてつもなく、脳内の95%は天体写真が占めています。ちなみに残りの5%はマジンガーZでした(チリの子供達もマジンガーZを見て育つとか・・・)。次の機会にチリの望遠鏡を使った彼とのオンラインセッションのことも書こうと思います。Carlosのインスタには素敵な写真がいっぱいです。ぜひ訪れることをお勧めします!

それではWBPPを試してみましょう。下記の情報はWBPPのプロジェクトをリードされたTOMMASO RUBECHIさんのWebサイトの記事ガイドドキュメントを参考に記載しました。

WBPPはBPPと同じくScriptメニューのBatch Processingの中にあります。

イメージの選択

最初のプロセスはBatchPreprocessing (BPP) と同じく、Bias、Dark、Flat、Lightファイルの設定です。撮影した各ファイルを下のAdd Biasなどのボタンを使って登録します。Flat用のFlat DarkもDarkに一緒に入れておくと、PixInsightが露出時間を使って自動で仕分けをしてくれます。

Lightイメージの重み設定

ここからだんだんWBPPのすごさが出てきます。Lightタブを押して出てくる画面の真ん中あたりSubframe WeightingがWBPPの目玉のひとつです。ここでは、イメージのクオリティを判断して、選択・重み付けするパラメーターがあります。

Subframeの選択・重み付け
Subframeの選択・重み付け

なにはともあれ、3つのチェックボックスはチェックしてください。

  • Generate Subframe Weights
    • イメージの評価・重み付けをするか、というオプションです。さりげなくありますが、これを押さないと話が始まらない、というか単なるBPPになってしまいます。必ずチェックを!
  • Compute weights after registration
    • 重み付けをRegistration(位置合わせ)の後にするかどうかです。これもチェックしてください。位置合わせによって評価値が変わる可能性があるからとのことです。
  • Use best frame as reference for registration
    • 位置合わせの基準となるイメージファイルを自動で選択するかどうかです。これもチェックを。面白いのは、画像のクオリティが一番良いものを選ぶのでは無くて、位置合わせの基準として一番よいものを選びます。つまり最も星が小さく、丸く写っているファイルを選択します。WBPPは基準ファイルとして、後述のFWHM、Eccentricity、SNRのうちFWHM、Eccentricityを使い、背景や全体の品質ではなく一番星が綺麗に写っている画像を自動選択します。

つぎに真ん中のWeighting parametersボタンを押します。中央にある、FWHM(星の大きさ)、Eccentricity(星の形・丸さ)、SNR(信号とノイズの比率)の3つが最重要パラメーターです。このパラメーターを調整することになるのですが、とてもありがたいことにすでに天体の種類に応じてプリセットされています。

  • Nebra (星雲)
    • 淡い天体が多いので、SNRつまり信号とノイズの比率を一番評価しています。
  • Cluster (星団)
    • 星が主人公なので、星の大きさ、形に評価を重くしています。
  • Galaxy (銀河)
    • 星雲、星団の中間くらいです。

これらの値は、テストの時に多くの天体写真家が参画してテストして決めていったそうです。PixInsightは試行錯誤のツールですが、こういう方々の力で成り立っているのですね。私も腕をあげて、こういったテストにいつか参加して貢献できたらと思います!

(参考) FWHM、Eccentricity、SNR、Pedestalの意味

ここでFWHM、Eccentricity、SNR、Pedestalについても解説します。まずはプリセットをそのまま使いますので、そんなもんか、くらいで流して読んでください。

  • FWHM (星の大きさ)
    • 写っている星の大きさを評価します。ピントがあわなくて大きくなった星の排除などします。ちょっと細かくなりますがFWHM (full width at half maximum)というのは統計用語です。星の画像は中央が最も明るく、外側にいくにつれてだんだん暗くなっていき、端が見えなくなります。そうすると「どこまでを星の大きさにするか」を決めるのが難しいですね。FWHMは一番明るいところの光の強さの半分の場所までを星の大きさとしよう、というものです。
FWHMによる星の大きさの評価
FWHMによる星の大きさの評価
  • Eccentricity (星の形)
    • 星がどれくらい丸いか、ひずんで写っていないかを評価します。
  • SNR (Signal Noise Ratio – 信号とノイズの比率)
    • いわゆるSN比で、天体の情報に対するノイズの割合を評価します。
  • Pedestal
    • 3つのパラメーターの重みをつけた残り分を下駄として足します。重み付けをするときに3つのパラメーターに過剰に反応しないようにするためでしょう。

この4つのスライダーを調整して、個々のイメージに対する星の大きさ、形、ノイズの評価結果をどれくらいの重みで扱うかを決定します。ちょっと細かいですが、個々のファイルを数式で表すと次の様になります。

WBPPの重みの付け方
WBPPの重みの付け方
*最初の投稿のとき、式の記載を間違えていました。ほしぞloveログのSamさんにご指摘いただきました。ありがとうございます〜。

PixInsightがどんどん自動化されていく背景には、真面目な理論のうえに、たくさんの人の試行錯誤が積み重なっていることを実感します。

異なる露出ファイルのIntegration

もうひとつWBPPがPCCから変わった点として、露出時間の異なるファイルの扱いがあります。WBPPは露出時間ごとにグループ化し、Calibration、Registration、Debayerの処理はグループごとに実施します。またIntegration(重ね合わせ)も別々に行われます。しかし、多くの場合はひとつのファイルに重ね合わせてしまいたいと思います。その場合、Exposure Toleranceの値を変えます。ここを60とすると60秒の違いのファイルは一つに重ね合わせてまとめてくれます。

異なる露出ファイルの重ね合わせ

Image Integrationパラメータの設定

もうひとつ、WBPPでBPPから変わったことがあります。Image IntegrationのRejection Algorithmの指定にAutoオプションができました。

中央下のImage Integrationを押してください。

Image Integrationの設定
Image Integrationパラメータの設定画面へ

すると下記の画面に変わります。規定値ではAutoが選択されています。

Image Integrationのパラメータ設定
Image Integrationのパラメータ設定

このRegistration Algorithmは、飛行機や人工衛星、撮像素子のピクセル異常などで不要なピクセルが入ったときに除去してくれる機能のアルゴリズムを設定します。これらの周りより明るい、もしくは暗いピクセルはIntegrationの際に除外されます。

Autoを選択したときはRejection Algorithmは下記のルールに従って、Integrationする画像枚数によって設定されます。

  • 8枚未満: Percentile Clip
  • 8〜10枚: Average Sigma Clip
  • 11〜19枚: Winsorized Sigma Clipping
  • 20〜24枚: Linear Fit Cliping
  • 25枚以上: Generalized Extreme Studentized Deviate

上から下に行くにつれて、複雑なアルゴリズムとなっています。またMin/Maxは統計処理ではなく、指定した数のピクセルを最大値、もしくは最小値から順に強制的に削除する処理です。

・・・とここで一つ情報が。TwitterでBooKuuさんが教えてくださったのですが、Autoのままでは、BPPに比べて背景に黒いつぶつぶのノイズが入ったそうです。

左がWBPP、右がBPP。黒いつぶつぶが入っている (BooKuuさんにいただいた画像)
左がWBPP、右がBPP。黒いつぶつぶが入っている
(BooKuuさん撮影のマルカリアンチェーンNGC 4438, 4435, 4461, 4458)

28枚のIntegrationだったそうなのでGeneralized Extreme Studentized Deviateが採用されています。これをWinsorized Sigma Clippingに変更するとBPPと同じ背景レベルに戻ったとのこと。ちなみにBPPの規定値はWinsorized Sigma Clippingです。試行錯誤はまだ必要なようです。こういうノウハウは皆でためていきたいですね!

アルゴリズムを変えると改善した (BooKuuさん撮影のマルカリアンチェーン)
アルゴリズムを変えると改善した !
(BooKuuさん撮影のマルカリアンチェーン。WBPPの後、STFデータを使ってHistogramTransformationしたもの)

CFA Imagesをチェック

BPPはデフォルトでCFA Imagesがチェックされていますが、WBPPはチェックされていません。カラーのイメージを扱う場合はここにチェックを入れてください。私は最初にチェックを忘れグレーファイルができました。なんか綺麗だなあと思ってよく見たら、白黒イメージができあがっていました・・・。

Output Directoryの設定

BPPと同じく処理ファイルの出力先であるOutput Directoryを指定します。またBPPでは位置合わせの基準となるRegistration Reference Imageを指定してました。上記でUse best frame as reference for registrationをチェックした場合は基準ファイルは自動で選択されますのでRegistration Reference ImageはAutoになっています。

設定の保存

もうひとつ。これはあるある、なのですがPCCやWBPPはウィンドウを開いていると他の処理ができないので、設定中にウィンドウを閉じることがあります。そうすると次に開いたときに設定が消えてしまう・・・。それを避けるためにPCCでは▲マークをデスクトップに保存していました。WBPPでは設定の保存オプションができました。

WPCC設定の保存

これはありがたいです!!

Flat darkの扱い

WBPP実行前にDiagnosticsを試すと以下のワーニングが出ることがあります。

** Warning: Only master bias will be used to calibrate Flat frames

BPPでは表示されないWBPPで初めてみるワーニングです。これはFlat dark frameを設定していない場合に表示されます。Flat darkとはFlat frame用のDark frameで、Flat frameと同じ露出時間のものが使われます。たとえばFlat frame露出が2秒なら、Flat dark frameも2秒の露出です。(正確には違いが0.5秒以内なので1.5〜2.5秒)

BPPではFlat dark frameを使用せず、Light用のDark frameを流用する仕組みがありました。WBPPにも同じしくみがあります。Flatsタブを選んで表示される画面でCalibrate with flat darksのチェックを外します。これで同じDark frameをFlatとLightに使いまわせるようになります。異なる露出時間のDark frameを適用することになるので、右側のGlobal OptionsでOptimize dark framesにチェックを入れます。そうすることでScaling処理が走り、Flat frameの露出時間に合わせるようDark frameが処理されます。PixInsightのドキュメントではScaling処理したOptimized Dark Frameは安心して使って欲しい、という記載が多くあります。

WBPPの実行

いよいよWBPPを実行してみます。Runのボタンを押すと次の様なメッセージが出ました。

WPCCの実行イメージ
WBPP実施のメッセージ

「WBCCは便利だけれども結果が悪くなることもある。Image Integrationはとても重要なプロセスで、最適なパラメーターにするにはやはり試行錯誤が必要だ。」というような内容です。とはいえ、いったん実行してみましょう。

実行してみるとRegistrationでエラーになってしまいました。

RANSAC: Unable to find a valid set of star pair matches

というエラーがでています。これはPCCでもよく出るエラーで、ノイズが多い、ピントがあっていない、などの理由で位置合わせがうまくいかないときに起きるようです。対処として、Image IntegrationのNoise Reductionを1にしてみたらうまく処理ができました。

結果がこちらです。このファイルは、前処理をしたばかりのイメージをSTFしたものです。色合わせなど他の画像処理はしていません。

まずすぐに気付いたのは、Integrationの質が良くなっていました。

BPPとWBPP (背景)
BPPとWBPP (背景)

私の反射望遠鏡は観望用でコマコレクターやフィルターが装着できないので、コマが出ていることや背景のムラは勘弁してもらうとして・・・画面の端の方はBPPではノイズが消えています。より良い位置合わせの基準ファイルが選択された効果でしょうか。

次に天体も見てみましょう。

BPPとWBPP (銀河)
BPPとWBPP (銀河)

トリオ銀河の一つ、ハンバーガー銀河(NGC3628)です。う〜ん。こちらはそれほど改善はありませんでした。ただ背景は幾分良くなっているように見えます。WBPPの効果ではなくRejection Algorithmが変わった効果かもしれません。BPPでは期待値のWinsorized Sigma Clippingを使っていましたが、今回のWBPPではGeneralized Extreme Studentized Deviateが自動選択されていました。

海外の作例ではWBPPによって画像がシャープになっている例が報告されています。私の画像では残念ながらWBPPの実力を発揮するには至らなかったようです。これは今後の宿題にしたいと思います。うまく処理できたときにまた報告しますね。

PixInsightの全体フローはこちらをご参照ください。

タイトルとURLをコピーしました