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の目玉のひとつです。ここでは、イメージのクオリティを判断して、選択・重み付けするパラメーターがあります。
なにはともあれ、3つのチェックボックスはチェックしてください。
- Generate Subframe Weights
- イメージの評価・重み付けをするか、というオプションです。さりげなくありますが、これを押さないと話が始まらない、というか単なるBPPになってしまいますのでチェックしてください。しかし処理が大変重くなるので、チェックしないことで「ちょっと便利なBPP」として使うことも可能です。
- Force Images measurement
- WBPPはFWHM、Eccentricity、SNRの値を評価します。これらの値はFITSファイルにも格納されていますが、チェックすることでFITSファイルの情報を無視して、WBPPで評価した値に置き換えます。これもチェックください。
つぎに真ん中の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は一番明るいところの光の強さの半分の場所までを星の大きさとしよう、というものです。
- Eccentricity (星の形)
- 星がどれくらい丸いか、ひずんで写っていないかを評価します。
- SNR (Signal Noise Ratio – 信号とノイズの比率)
- いわゆるSN比で、天体の情報に対するノイズの割合を評価します。
- Pedestal
- 3つのパラメーターの重みをつけた残り分を下駄として足します。重み付けをするときに3つのパラメーターに過剰に反応しないようにするためでしょう。
この4つのスライダーを調整して、個々のイメージに対する星の大きさ、形、ノイズの評価結果をどれくらいの重みで扱うかを決定します。ちょっと細かいですが、個々のファイルを数式で表すと次の様になります。
PixInsightがどんどん自動化されていく背景には、真面目な理論のうえに、たくさんの人の試行錯誤が積み重なっていることを実感します。
異なる露出ファイルのIntegration
もうひとつWBPPがPCCから変わった点として、露出時間の異なるファイルの扱いがあります。WBPPは露出時間ごとにグループ化し、Calibration、Registration、Debayerの処理はグループごとに実施します。またIntegration(重ね合わせ)も別々に行われます。しかし、ひとつのファイルに重ね合わせてしまいたい場合もあります。その場合、Exposure Toleranceの値を変えます。ここを60とすると60秒の違いのファイルは一つに重ね合わせてまとめてくれます。
Flat Darkをつくときなど、露出時間の近い画像を別々にIntegrationしたい場合もあります。そのときはこの値を、露出時間の差より小さくしてください。たとえば露出時間の5秒と2秒の画像を別々にIntegrationしたい場合はこの値を2以下に設定ください。
Image Integrationパラメータの設定
もうひとつ、WBPPでBPPから変わったことがあります。Image IntegrationのRejection Algorithmの指定にAutoオプションができました。
中央下のImage Integrationを押してください。
すると下記の画面に変わります。規定値ではAutoが選択されています。
この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に比べて背景に黒いつぶつぶのノイズが入ったそうです。
28枚のIntegrationだったそうなのでGeneralized Extreme Studentized Deviateが採用されています。これをWinsorized Sigma Clippingに変更するとBPPと同じ背景レベルに戻ったとのこと。ちなみにBPPの規定値はWinsorized Sigma Clippingです。試行錯誤はまだ必要なようです。こういうノウハウは皆でためていきたいですね!
CFA Imagesをチェック
BPPはデフォルトでCFA Imagesがチェックされていますが、WBPPはチェックされていません。カラーのイメージを扱う場合はここにチェックを入れてください。私は最初にチェックを忘れグレーファイルができました。なんか綺麗だなあと思ってよく見たら、白黒イメージができあがっていました・・・。
Registration Reference ImageのAuto設定
位置合わせの基準となるイメージファイルを自動で選択するかどうかです。auto-detect best reference frameもチェックを。面白いのは、画像のクオリティが一番良いものを選ぶのでは無くて、位置合わせの基準として一番よいものを選びます。つまり最も星が小さく、丸く写っているファイルを選択します。WBPPは基準ファイルとして、後述のFWHM、Eccentricity、SNRのうちFWHM、Eccentricityを使い、背景や全体の品質ではなく一番星が綺麗に写っている画像を自動選択します。
Output Directoryの設定
処理ファイルの出力先であるOutput Directoryを指定します。
設定の保存
もうひとつ。これはあるある、なのですがPCCやWBPPはウィンドウを開いていると他の処理ができないので、設定中にウィンドウを閉じることがあります。そうすると次に開いたときに設定が消えてしまう・・・。それを避けるためにPCCでは▲マークをデスクトップに保存していました。WBPPでは設定の保存オプションができました。
これはありがたいです!!
Flat darkの扱い
WBPP実行前にDiagnosticsを試すと以下のワーニングが出ることがあります。
** Warning: Only master bias will be used to calibrate Flat frames
BPPではFlat dark frameを使用せず、Light用のDark frameを流用する仕組みがありました。WBPPにも同じしくみがあります。Flatsタブを選んで表示される画面でCalibrate with flat darksのチェックを外し、Global OptionsでOptimize dark framesにチェックを入れると可能になります。しかしこの機構は問題がある場合が多いようで、ノイズが入る報告がいくつかありました。Optimize dark framesはオフのまま使用せず、Flat Darkを撮影することをおすすめします。このときは、Flatと同じ露出のDarkを撮影しDarkとして登録すると、Flat Darkとして処理されます。
WBPPの実行
いよいよWBPPを実行してみます。Runのボタンを押すと次の様なメッセージが出ました。
「WBCCは便利だけれども結果が悪くなることもある。Image Integrationはとても重要なプロセスで、最適なパラメーターにするにはやはり試行錯誤が必要だ。」というような内容です。とはいえ、いったん実行してみましょう。
実行してみるとRegistrationでエラーになってしまいました。
RANSAC: Unable to find a valid set of star pair matches
というエラーがでています。これはPCCでもよく出るエラーで、ノイズが多い、ピントがあっていない、などの理由で位置合わせがうまくいかないときに起きるようです。対処として、Image ResigtrationのNoise Reductionを1にしてみたらうまく処理ができました。
結果がこちらです。このファイルは、前処理をしたばかりのイメージをSTFしたものです。色合わせなど他の画像処理はしていません。
まずすぐに気付いたのは、Integrationの質が良くなっていました。
私の反射望遠鏡は観望用でコマコレクターやフィルターが装着できないので、コマが出ていることや背景のムラは勘弁してもらうとして・・・画面の端の方はBPPではノイズが消えています。より良い位置合わせの基準ファイルが選択された効果でしょうか。
次に天体も見てみましょう。
トリオ銀河の一つ、ハンバーガー銀河(NGC3628)です。う〜ん。こちらはそれほど改善はありませんでした。ただ背景は幾分良くなっているように見えます。WBPPの効果ではなくRejection Algorithmが変わった効果かもしれません。BPPでは期待値のWinsorized Sigma Clippingを使っていましたが、今回のWBPPではGeneralized Extreme Studentized Deviateが自動選択されていました。
海外の作例ではWBPPによって画像がシャープになっている例が報告されています。私の画像では残念ながらWBPPの実力を発揮するには至らなかったようです。これは今後の宿題にしたいと思います。うまく処理できたときにまた報告しますね。
PixInsightの全体フローはこちらをご参照ください。