天文はかせ幕下

LRGB合成するとき、BXTはどの段階で使えばよいのだろうか?問題

(注意:今回のエントリはまだ結論が出ておらず、考察というよりは心配事の吐露みたいな内容です。最後まで読まれて、「なんだよ、この野郎」とガッカリしないよう、あらかじめお断りしておきます)

はじめに

モノクロカメラで撮影した画像を、LRGB合成へて仕上げる場合に、Blur X Terminator (BXT)の処理をどの段階で使うのが良いのかという問題を考えています。

といいますのも、BXTはリニアな画像に対して実行することになっています。さらに作者のRussel CromanさんによるBXTのリリースノート

の"COLOR"の節によれば

「 BXTのAIプログラムは、カラー画像を正しく補正するように訓練されていて、RGBの各チャンネル間の関係性を考慮して適切な処理を行う。なのでほとんどの場合、モノクロの各チャンネルに別々に作用させるよりも、カラー画像に作用させたほうが良い結果になる。」

つまりBXTは、カラーのリニア画像に作用させるのがベストということですね

 

しかし一方で、LRGB合成はノンリニア画像に対して行うべき処理でした。例えばNiwaさんのブログにあるように、LRGB合成にともなう様々なエラーを回避するためには、実行前に十分に強いストレッチを行うのがよいのです:

この辺りの話は以前に散々議論した話で、その経緯はSamさんのブログにまとまっています。

また蒼月さんのYoutubeでもLRGB合成がノンリニアなプロセスである理由が明確に説明されています。

 

そしてここからが本題でして、LRGB合成で画像を仕上げる場合、カラーの画像が得られた時点で画像はノンリニアだから、BXTを施すタイミングがないのじゃ無いか?困ったぞ。と思ったわけです。

心配な問題点

シンプルに考えるなら、BXTを取り入れたLRGB合成の処理手順の概要は次のようになるだろう思います:

BXTを取り入れたLRGB合成のプロセスその1。ただしDBEなどの傾斜補正や背景補正の処理は省略して書いています

つまりモノクロのLに対してBXTを行って解像度を上げ、RGB画像に対してもBXTを"Correct Only"で施して色収差などを補正した上でSPCCでカラーバランスを整え、それぞれをストレッチした後にLRGB合成を実行する——という手順です。

しかしながら、この手順について2つの心配事があります

  1. "Master Lum"に対してBXTを実行しているが、これはモノクロ画像なので、BXTの効果が十分に発揮されないのでは無いか?
  2. 最後のLRGB合成の前後で画像の色は変わってしまうから、SPCCの結果が忠実に反映されなくなってしまうのでは?

前者の1.については、星沼会のメンバーでいくつか検証してもらった範囲では特に問題は見つからず、Russel氏の「BXTがカラー画像に対して実行されるべき」って話は、色収差の修正に限った話であり、解像度の改善については関係ないのでは無いか?という見解になっています。この辺りはさらに検証を重ねる必要がありそうです。

2.については、確かにRGB Working Spaceの設定によっては色が変わるのですが、それは、各自の画像処理の味付けの範囲内のことであって、そんなに厳密に考える必要はないのじゃ無いかという意見もあり得ます。

でも、顧問はちょっと気になるなーって心配していました

考えられる対策

リニアなLRGB画像を用意する

リニアなLRGB画像を用意できるなら、上記の問題はマルっと解決します。

Pixinsightには、HSI色空間をつかってリニア段階でLRGB合成をする”LinLRGB”というスクリプトが用意されています。ただ問題もあって、顧問が試した範囲では、LinLRGBで得られる結果は、通常のLRGB合成と比べるとMaster Lumが元々持っていた背景の滑らかさが損なわれるようなのです。ちょっともったいない感じになってしまうので、この方法がベストとは言えそうにありません。

マスク処理

リニア段階でのLRGB合成が全くダメということはなくて、合成前にヒストグラムを揃えていれば、エラーが出るのは輝度の高い明るい星の周辺だけです。それなら、星にマスクをかけて、高輝度部のみをLinLRGBで合成した画像を置き換えてエラーを回避するという方法が思い付きます。そしてその後にBXTやSPCCを行えばよろしい。

あるいはもうちょっと複雑ですが、リニアなLRGB画像にBXTをかけた後にストレッチした画像と、通常のストレッチ後にLRGB合成したノンリニアな画像を星マスクをつかって合成するのもあり得る方法です。これは文章にするとわかりにくいのでヒストグラムを作りました:

いかにも面倒臭いプロセスです。今月チリで撮影したNGC3532のデータをこの方法で処理してみました。

NGC3532 (Wishing Well Cluster)

Date: 2024-1-8,12,13,16
Location: El sauce, Chile
Optics: Vixen R200SS, correctorPH
Camera: ZWO ASI294MM
Exposure: 240s, gain=120
Number of frames: (L,R,G,B,Ha)=(87, 56, 57, 59, 153)
Processing: Pixinsight, Photoshop

ある程度上手くはいっていますが、正直この画像について言えば、普通にストレッチしてからLRGB合成するのと対して結果は変わらず。

BXTの中身がブラックボックスである以上、こういった議論は色々な画像に対して試してみて結果を吟味するしかなさそうです。そういうわけでこのテーマはまたぶり返して登場するかもしれません。

結論

まとまりのない内容になってしまいまして、なんかすみません。こんなエントリはボツにしてもよいのですけど、書くのに1週間くらいかかってしまって、もったいないので上梓します。