前回の記事でBlurXTerminator (BXT)についてゴースト星雲の画像処理で適用した例を書きました。


最初L画像のみでBTXを試していたのですが、途中からL画像単体でBXTを適用することは止めて、最終的にはLRGB合成した後にBXTを適用しました。前回の記事では、RGB画像へのBXTの適用の過程をざっくり省いてしまいました。実際にはかなり検証していて記事もそこそこ書いたけど、長すぎるのでボツにしてしまいました。Twitter上でカラー画像への適用に興味を持たれた方がいたので、ボツ予定だった記事を一部改変して掲載しておきます。


カラー画像にBTXを適用するに至るまで

大きく分けて次の5段階のことを試しました。
  1. L画像のみBXT、 その後LRGB合成
  2. L画像にBXT、RGB合成した画像にBXT、その後LRGB合成
  3. L画像にBXT、星像の大きいRのみにBXTをかけてGB画像はそのままでRGB合成、その後LRGB合成
  4. L画像にBXT、R、G、Bそれぞれの画像にBXTしてRGB合成、その後LRGB合成
  5. RGB合成、その後LRGB合成 、できた画像にBXT
とりあえず最初に各テストの結果を書くと
  1. 一見問題ないが、よく見ると恒星に色ずれが起きる。原因は恒星の大きさがL画像とRGB画像で違いすぎること。
  2. RGBにBXTをかけた段階では問題がないが、LRGB合成をする際に恒星中心がサチることがある。
  3. 恒星にハロが出て、その影響でSPCCをかけると背景の色が変わる。
  4. 問題なし。
  5. 問題なし。
4と5は手法としては問題はなさそうです。ただしこれにNoiseXTerminator (NTX)が絡むと、3と4で差が出ます。あとの方で詳しく書きます。 


1.

最初は
  1. L画像のみBXT、 その後LRGB合成
した場合です。この方法、一見問題なく見えます。この手法で許容してしまってもいいという人も多いかもしれません。ですが、よく見ると恒星に色ずれが起きる可能性があります。

LRGB合成した後に恒星周りに色ズレのような現象が確認できました。たとえば下の画像の恒星は左下をよく見えるとマジェンタが強くなってしまっています。画像処理を進めていくとこれが目立ってくることに気づきました。

Image55_SPCC_LRGB_zure_cut

いろいろ原因を探っていくと、どうやらBlurXTerminatorをかけたL画像と、BlurXTerminatorをかけていないRGB画像の恒星の大きさと差がありすぎているからのようです。BXTでL画像の恒星の大きさは小さくなるのですが、RGBの恒星の大きさは大きいままです。L画像のエッジを効かせるべき範囲と効かせない範囲が、RGB画像では大きく色情報が違ってしまっているのが原因かと思われます。次の2からの作業をしてこの色ズレが消えたので、おそらくは正しいと思いますが、確証はというとまだいまいちありません。


2.

上記の恒星色ずれ問題があったので、次にRGB合成した画像にL画像と同じパラメータでBXTをかけてみました。RGB画像にBXTを適用すると恒星の色がズレる可能性があるという報告も見ましたが、私が試している限りこの時点での恒星の色は保たれているようでした。RGB画像の段階ではいいのですが、このBXTを適用したRGB画像に、BXTを適用したL画像でLRGB合成すると、恒星中心部が激しく色飛びすることがあるようで、あまりよろしくありません。

Image06_RGB_crop_ABE_ABE_ABE_SPCC_BXT_Preview02_saturation

数回多少パラメータなどを変えて試しましたが、多少の変化はあれどいずれも上記画像のような色飛びがでます。再現性もあるようなのですが、一部の原因は撮影時に恒星中心がサチっていたか、サチりかけていたことがあるのかと思います。

RGB合成だと目立たずに、LRGB合成で顕著に出てくるのが少し不思議ですが、とにかくLRGB合成が鬼門です。BTXを使わなければ、同じ画像でもLRGB合成でこんな過激なサチりはでてきません。この時点で思ったのは、どうもBXTとLRGBは相性問題があるような感触です。BXTのdeconvolutionで星を尖らせているようなものだと考えると、LとRGB尖らせたものどうしで合成する際に問題が出るのは理解できる気もします。


3. と4.

次の策として、R、G、Bの元画像それぞれにBlurXTerminatorをかければと思いつきました。その際、恒星が大きく見えるRのみにかけるか、R、G、B全てにかけるか迷ったので検証してみました。

SPCCをかける前は一見RのみにBlurXTerminatorをかけた方が赤ハロが少なく見えていいと思ったのですが、SPCCをかけるとこの判断は逆転しました。結果だけ見せます。

まずはRだけBlurXTerminatorをかけRGB合成し、SPCCをしたものです。SPCC前の結果とは逆に恒星周りにわずかに青ハロが出てしまって、さらに背景が赤によってしまっています。
Image54_Preview01

次にR、G、BにそれぞれBlurXTerminatorをかけRGB合成し、SPCCをしたもの。ハロもなく、背景もまともな色です。
Image55_BXT4RGB_Preview01

ここまではRGB合成のみのテストですが、この後にL画像も同様のパラメータでBlurXTerminatorをかけ、上の2枚のRGBと合成してみました。この時点で1.で示した恒星の色ズレは見事に消えましたが、やはりRだけBlurXTerminatorをかけた場合は青ハロが残り、RGBそれぞれにBlurXTerminatorをかけた場合は色バランスもきちんと残されたままでした。なので、RだけBXTをかけるとかはやめた方が良さそうです。

なんでこんなまどろっこしいことをあえて書いたかというと、BXTはRGBバランスよくかけた方がいいことがわかりますが、その一方でBlurXTerminatorは恒星の各色の大きさ調整に使えるのではないかということです。鏡筒によってはRGBで収差が違う場合もあり、それがハロなどにつながることがあります。それらの色合わせに役立つ可能性があるということです。ただし上で示したように、SPCCなどで構成の色合わせをしてからでないと判断を間違える可能性があるので、きちんと色バランスをとった上で判断した方がいいということに注意です。

上の結果はさらに、恒星の色バランスが悪いと、SPCCが背景の色バランスに影響を与える可能性があるということを示唆しています。PCCもSPCCもそうですが、基本は「恒星の色」を基に「恒星の色」を合わせるだけの機能で、背景の色を直接検証しているわけではないということです。例えば色収差のある鏡筒では恒星のRGBバランスがズレてそれを元にSPCCを使うと背景の色も狂う可能性があるなど、SPCCもまだ完璧とは言い難いことを意識しておいた方がいいのかと思います。

というわけで、ここまでで4の

L画像にBXT、R、G、Bそれぞれの画像にBXTしてRGB合成、その後LRGB合成

という手法でほぼ問題ないことがわかりました。


5

ここまでで、L、R、G、B画像にそれぞれBXTをかけてLRGB合成するのでほぼ問題がないと言ってきました。念の為、LRGB合成してから、その画像にBXTをかけてみます。この段階では4と5にほとんど差が見られませんでしたが、もう少し見やすくするためにNXTをかけてみました。ここで差がはっきりと出ました。

L、R、G、B画像にそれぞれBXT、後にNXT:
Image37_Preview01


LRGB合成してから、その画像にBXT、後にNXT:
Image65_ABE_ABE_ABE_Preview01


後者の方が明らかにノイズが少ないです。(追記: すみません、ブログ記事にアップ後に改めて見たのですが、ブログ上だとほとんど差が分かりません。一応ローカルでは見分けがつくくらいの差はあるのですが...。あまり気にするレベルではないのかもしれません。)

ではなんでこんなことを試したかというと、R画像はまだしも、G画像やB画像にはゴーストの形はほとんど写ってなくて、それらにBXTをかけた結果を見ていてもシャープさが増すというより、単にノイズが増えたように見えてしまったからです。それならばRGBでバランスよくBXTをかけた方が得なのではと思ったのが理由です。


注意と結論(らしきもの)

あと一つ、今のところ私はBXTをリニア画像にしか適用していません。例えばマニュアルにはBXT内でFWHMを評価するとありましたが、ストレッチなどしてしまうとFWHMも正しく評価できなくなってしまうので、リニアで適用するのが原則かなと思います。ただ、例えばFWHMも絶対評価でなく各色の相対評価とかでもいいと思うと、必ずしもリニア画像でなくてもいいのではとも思います。ここら辺はもう少し検証が必要でしょう。

結論としては、いい方から5>4>1>>3>>2の順で、特に3の方法はもしかしたら色々応用できるかもと思っています。

というので、私的には今のところ普通にLRGB合成をして、その画像にBXTをかけるのが一番いいという結論です。もちろん、これはあくまで今回個人的に出した結論というだけで、まだまだ他に試すべきやり方はあるでしょうし、画像や環境によってはこの結論が根本的に変わる可能性もまだあるかと思いあます。


おまけ1: BXTとNXTどちらが先?

最後におまけで、BXTとNXTどちらを先にかけたらいいかの結果を載せておきます。BXTをかける時にもしもう少しノイズが少なかったらとかいう誘惑に取り憑かれたときのためです。5のLRGB合成してから、その画像にNXT、後にBXTをかけています。

Image65_LRGB_crop_ABE_ABE_ABE_SPCC_clone_Preview01

もう全然ダメですね。これは原理を考えればすぐにわかるのですが、ノイズ処理をしてしまった段階で、deconvolutionをする前提が崩れてしまっているからだと思われます。


おまけ2: L、R、G、BそれぞれにBXT、NXTをそれぞれかけてからLRGB合成

もう一つおまけで、Twitterでt a k a h i r oさんからのリクエストです。L、R、G、BそれぞれにBXT、NXTをそれぞれかけてからLRGB合成したらどうなるかです。4.のmodバージョンですね。

結果だけ示します。
Image12_BXT_NXT_LRGB_SPCC_CT_CT_cut


私の予測は4の結果とほとんど変わらないだったのですが、これだけ見ると全然ダメですね。というか、なんでここまでダメなのかむしろ理由がわからなくらいです。何か間違ってないか見直しましたが、NXTの順序を入れ替えただけで、特におかしなところはなかったです。

改めて見てみると、やはりGとBの星雲本体が淡すぎることが問題の気がしてきました。淡すぎるとNXTがノイズを無くしているだけで、特に星雲を炙り出すようなことは全然できてないのです。BTXもNXTもやはり何かはっきりした対象があって、初めて効果的に働くような気がしています。もしくは、今回どのテストも同じパラメータでやって、そのパラメータはというとゴースト本体が一番よく出るようにというので選んでいるので、他のパラメータを考えてみればまた結果は変わってくるのかもしれません。


まとめ

限られた環境ですが、ある程度の結論として「BlurXTerminatorはカラー画像に適用できる」ということは言ってしまってもいいのかと思います。むしろL画像のみに適用する場合はLRGB合成をかなり注意深く実行する必要がありそうです。

いずれにせよ、このBXTはすごいソフトです。もう少し色々触ってみたいと思っています。またまとまったら記事にするかもしれません。