見出し画像

PixInsightのWBPPをゆるく考察(1)(ログを見てみる)

この投稿は2025/1/29時点での内容です。
PixInsight Core 1.9.2 Lockhart (x64) (build 1632 | 2024-12-28)
WBPP:v2.8.2
PC:windows 11 home

この記事はPixInsightで普段よく使っているWBPP(Weighted Batch Preprocessing)について

「WBPPって実際、どんな処理しているの?」

ということをザックリと、ゆるーく調べてみよう!という記事です(^^;
きっかけは丹羽雅彦さんのこちらの記事です。

なんと!WBPPの実行後にできたログファイルからWBPPがどんなスクリプトを使ってどんな処理をしたのか、その様子をある程度再現できる、というモノです。

早速やってみたいと思いますが、その前にWBPPの設定などを書きましたので、結果だけを見たい方は下の目次から「4.WBPPのログの可視化」をクリックして飛んでもらっても構いません。


1.処理する画像データ

何度も色々試すため、今回は処理枚数を少なくしています。

画像処理対象:M42
撮影機材:DWARF3
light画像:30秒,gain60×15枚(合計255MB)
dark画像:30秒,gain60×10枚(合計170MB)

(補足)スクショのフォルダ名が2024〜とDWARF3が発売前の日付になっていたりしますが、それは私のフォルダ名の入力ミスです(^^;


2.WBPPの設定

(1)WBPPのホット&クールピクセル設定のため、CosmeticCorrectionのインスタントを作成。CosmeticCorrectionを開いて
 ① Use Auto detectをON
 ② Hot Sigma、Cold SigmaをON
 ③ 逆三角形をドラッグ&ドロップしてインスタントProcess1を作成

(2)WBPPの設定
 (ア)Calibrationの設定
  ① light画像を設定
  ② dark画像を設定
  ③ light画像表示をクリック
  ④ CosmeticCorrectionのAutomaticをOFF
  ⑤ (1)で作ったインスタントProcess1を選択
  ⑥ Debayer method で Bilinearを選択
  ⑦ 保存先フォルダを設定

 (イ)lightの設定
  ① Reuse last reference frame をOFF
  ② Automatic integration mode をOFF
   ( AutocropはONのまま )
  ③ Automatic Solution をOFF

  ④ Image Registation の設定を押す

  ⑤ Pixel interpolation で Bilinear を選択。

 (ウ)Post-Calibrationの設定
  ① Drizzle integration の Enable をON
   (今回はScaleは1)
  ② Drizzle integration の Fast mode をOFF
  ③ Fast Integration の Enable をOFF


3.WBPPの実行結果

実行結果は以下のようになりました。


4.WBPPのログを可視化

では実際にWBPPのログをみてみます。
PixInsightを開いておきます。
その状態で、WBPPで作られたlogsフォルダを開きます。

この中の「~.js」というファイルを使います。

このファイルをPixInsightの中へドラッグ&ドロップをします。

すると、下のように Script Editor が開き、「~.js」の中に書いてあるWBPPのログが表示されます。

この Script Editor のメニューバーで
EXECUTE > Compile & Run
をクリックします。

すると

出ました!!WBPPの中でどんなスクリプトが動いていたのか、その手順がProcessContainer にセットされた形で見えてきます。

今回の私のWBPPの設定では11個のスクリプトを使ってWBPPが動いていたようです。

〇 一番上の0の<Root>をクリックすると1~11までのスクリプトの動きをつないだログが見えます。
〇 1~11のスクリプトの名前をクリックするとそれぞれのスクリプトのログが見えます。
例えば「2:Image Calibration」をダブルクリックすると

このように、ザックリ言うと

①15枚のライト画像を、②「1:ImageIntegration」で作ったマスターダークを使ってダーク減算処理をして、③ Output directoryに設定したフォルダに、末尾に_cを付けて保存する

という設定が見えてきます。


5.WBPPのログを使ってDrizzle scale=2を実行

上記のWBPPのログの1~11のスクリプトに、WBPPの設定が反映されているなら、、、例えば最後の「11:Drizzle Integration」の設定を、Scale = 2 にして実行したらWBPPで Scale = 2 で実行した場合と同じ結果が得られる・・・?

と、いうことでやってみました。

左上はDrizzle scale=2で実行して作った画像
左下はWBPPからDrizzle scale=1で作った画像

できたっぽい!?
少なくともエラーは出ず、縦横の長さが2倍になったM42画像が得られました!!
( ※ 画像は自動保存されないので、手動で保存します)

と、いうことは、この11個のスクリプトがセットされた ProcessContainer を実行すれば、WBPPがそのまま再現できるのでは・・・?


6.WBPPのログをまとめて実行してみると?

と思って、一度logフォルダ以外のフォルダを削除して、〇丸ボタンを押して実行してみたら、、、

エラーになりました(^^;

どうやら最初の「1:Image Integration」で10枚のダーク画像からマスターダークを作ったものの、それを保存するフォルダが存在しないぞ!!というエラーのようです。

つまり、どうやら11個のスクリプトがセットされた ProcessContainer のプログラムには、「フォルダを作る」というプログラムは書いていないようなのです。

そんなわけで、今回のWBPPのログから作った ProcessContainer は、実は完全にWBPPを再現したモノではないということです。

ではWBPPのログから「 WBPPを再現 」することはできないのでしょうか?

、、、残念ながら、今のところ私には完全な再現はできていません(^^;これについてはまた次の記事で紹介したいと思います。

今回はこれにて。

ではでは。