ほしぞloveログ

天体観測始めました。

タグ:BXT

M104の画像処理も終わり、補足も含めてブログ記事も書き終えたと思って安心していました。


次に撮影したヘルクレス座銀河団の画像をチェックしていたら、なんとM104をさらにもう1日ぶん追加で撮影していたことに気づきました。その日のシンチレーションが悪ければ無視していいのですが、こういう時に限ってなぜか有意にいいのが撮れてしまっているんですよね。


まずは画像のチェック

SubframeSelectorで個々の画像のFWHMを見てみます。L画像を3日間撮影しているので、それぞれL1、L2、L3とします。前回までで、L1がFWHM = 13pixelくらい、L2は20pixelくらいで、L1にL2から特に悪いものを除いたものを画像処理に回しました。L2の内、特に悪いものは20pixelよりもさらに悪く、残ったいいものでも20pixel程度だったので、L1とは明らかに差があるものを混ぜて処理してしまいました。それでも、実際インテグレートした画像のFWHMを測っても、そこまで有意な落ちがなかったので良しと判断しました。

FWHMを順に見ていきます。まずはL1です。133枚あって、前回までの画像処理では全て使いました。ここでは後に見たL3の基準に合わせた判断をしてみていて、FWHMが12以上、もしくは星の数が35以下なら弾くと判断しています。赤のx印はダメだという判断で、撮影したL1の133枚のうち40枚が残るという判断です。この判断は後で使います。_
SS_L1

L2は酷いもので、上の判断に従えば全滅です。これでも前回はBlinkで見た目判断でダメなものはすでに捨てていて、その残りの56枚でこの結果です。
SS_L2

最後はL3です。新たに発掘された4月12日に撮影したものですが、FWHMだけ見ても9以下のものもあり、L1と比べても全然いいのがわかります。途中時間が経つと悪くなってしまっているので、FWHMが12以上、もしくは、星の数が35以下は使わないという判断をここでしました。FWHMが12という理由は、前回の主にL1のFWHMが13程度だったので、それよりもいいものを使おうということ、星の数は、飛び抜けて数が少ないものを捨てようという意図です。L1にも同様の判断をしたものが、上の図の結果というわけです。L3は全部で139枚撮影して、そのうち24枚除いた115枚を採用しています。
SS


L1とL3の画像で比較

L2は論外なので使わないとして、まずはL1を全て(赤のxは無視して)使った場合と、L3を基準内で使った場合を比較します。それぞれWBPPでインテグレートしてできたL画像に、ABEの4次とDBEをかけて、BXTのCorrect onlyをかけ、その後BXTの星の縮小を0.5、ハロは0、PSFはオートで、背景は1.0をかけます。2枚ともインテグレート後も全て同じ条件で処理しています。

できた2枚の画像を前回締めしたハッブルの画像とほぼ同じ位置で切り取り、重ねてGIF画像で切り替えて見えるようにしてみました。
L1

違いがわかりますでしょうか?ぱっと見どこが違うかわかりにくいかもしれませんが、じっと見てるとモヤっとしてるか、星になっているかなど、違いが見えてくると思います。恒星が大きく見えるのがL1、小さく見えるのがL3です。BXTを同様にかけても、出来上がりの恒星の大きさは元の恒星の大きさに依るということがまずわかります。

上の画像だとちょっとわかりにくかもしれないので、L1でBXTに拾われなくて、L3でBXTに拾われたと思われる恒星を拾ってみました。
L3_marked
もしかしたら取りこぼしているものもあるかもしれませんし、判断が難しいものもありましたが、とりあえず24個と少なくとも無視できないくらいの数の違いがあります。

これらは最終処理で見える星として生き残るものです。一方、モヤモヤしていてまだBXTで取りこぼしてしまっているものも多数あることもわかります。これらは最終処理では背景に埋もれてしまい、星として見えることはないですし、モヤモヤも背景をある程度明るくしないとわからないので、実質的には表には出てこないでしょう。それでも、どれだけシンチレーションがいい日に撮影したとしても、BXTを使う限り、その閾値の上下で星として生き残るか無視されてしまうかが決まってしまうのかという問題は、今のところ避けることはできないようです。かといって、BXTを使わなければ、さらに多くの星が星として成り立たずに背景に埋もれてしまうので、今の所BXTを使う方向でいくほうが有利なのかと思います。

いずれにせよシンチレーションでBXTの有効範囲が大きく変わり、シンチレーションがいいほどより多くの恒星を救えることがわかりました。

一方、銀河本体はというと、あまり目に見えては改善しているように見えませんが、それでも細かいところを見てみると少なくとも何か改善はあるように見えます。


L3画像に同基準のL1画像を加えてみる

次に興味があるのが、L1にL3と同じ採用基準でいいと判断した画像を、L3画像に加えてインテグレートしたものを考えてみます。せっかく撮影した画像をできるだけ使いたいというもったいない精神です。

枚数は元のL3が115枚で、同条件で採用されたL1が40枚です。枚数が(115 + 40) /  115 = 1.38倍に増えたので、S/Nは√1.38 = 1.16倍くらいよくなるはずです。

インテグレーション直後の画像でPIのScript -> Image Analysis -> SNRView (PI上にロードしてある画像のS/Nを一度に評価してくれる)比較してみると、L3のみのS/Nが41.24dB、L3+L1のS/Nが42.65dBでその差は1.41dB = 1.176倍になり、ほぼ枚数増加で期待されるS/Nの増加となっていることがわかります。

これで気を良くしたので、恒星の数も増えると期待して、改めてL3だけの画像と、L3+L1の画像を同様にGIFで比較してみます。
L3_vs_L1L3

こちらはさらに変化がわかりにくいですね。なのでこれも同様に、変化のあった恒星を丸で囲みました。非常に面白い結果です。まず、青丸がL3+L1でBXTに恒星として認識されずL3のみのときにBXTで認識されたと思われる恒星です。数を数えると12個もあります。黄色の丸は逆にL3+L1の方がBXTで救い取られている恒星ですが、こちらの方が数が圧倒的に少ないです。撮影枚数の少ないL3だけの方が、恒星に関してはより分解能が出ているということで、S/Nとは逆転現象が起きてしまっています。
L3_vs_L1L3_marked

ちなみに紫色の丸はL3とL3+L1で位置がずれてしまっているものです。BXTで何らかの認識はされたのですが、補正が必ずしもうまくいっていないということでしょうか。どちらの位置があっているかはわからないですが、そもそもたまたま両画像で星の一致しているからといって、必ずしもその位置が正しいかどうかはわかりません。元々相当暗くて淡くて広がってしまっている星です。シンチレーションで星の位置がぶれていたり、インテグレートする時に画像を歪ませていることもありするので、この結果だけでBXTに問題があるというのは早計でしょう。これらのことについては、別途きちんと定量的な評価をすべきかと思います。


S/Nと分解能の関係は?

さて、このS/Nと恒星の分解能について少し考えてみます。私は最初単純に枚数が多いL3+L1の方がS/Nもよくなり、分解能も良くなると思い込んでいました。S/Nは数値的にもほぼ理論に従いましたが、分解能に関してはL1を加えた枚数が多い方が悪くなってしまっているようです。

このことについては、ラッキーイメージ的な解釈である程度納得することができました。L3に加えたL1画像は、基準が同じといってもL3と比べたら、L3の中でもかなり悪い画像に相当するものなのかと思います。ここでいう悪いというのは、FWHMが12に近い大きなもので、星の数も少ない方という意味です。たとえ枚数が少なくても、いい画像のみを集めて使うラッキーイメージと似たことが起こったと思うと、S/N(明るい信号部分と暗いノイズ部分の比)は悪くても、明るいところの分解能は得をするということでしょうか。

こう考えると、S/Nと分解能は結構独立で、別個のパラメータと考えた方が良さそうです。今回はL3をFWHMが12以下で区切って使っていますが、銀河部分をメインに考えるとS/Nは十分取れているので、もっと枚数を減らしても良いのではと考えることもできます。FWHMの基準を厳しくしたほうが、元々の目的のM104の内部の構造を出すという目的からは、正しいのではないかと推測できるわけです。

でもこれをどこまで攻めてもいいのか?S/Nをどこまで落としてもいいのかの基準がよくわからないので、判断が難しいです。例えばL3画像でFWHMを10以下として、枚数は半分程度に減ってしまうかもしれませんが、実際に試して画像処理までしてみるのは価値があるかもしれません。

と、ここまで記事を書いて疑問に思ったので、焦らずに疑問はできるだけ解決するということで、実際に試してみました。条件はSubframeSelectorでL3画像のうちをFWHM10以下、かつ星の数が50以上のものを採用するとしました。枚数的にはFWHM12以下、かつ星の数が35以上だったときに115/139枚だったのが、44/139枚と、3分の1強くらいになりました。これで全く同じ条件でWBPPをかけインテグレーション直後でまずはS/Nを測定してみると、115枚だった時が上でも示しましたが41.24dBで、さらに条件を厳しくした44枚の方が37.57dBでした。115枚と44枚から計算したS/Nの改善比はsqrt(115/44) = 1.62です。一方インテグレーションした画像の実測値での比は41.24 - 37.57 [dB] = 3.67 [dB] = 10 ^ (3.67 / 20) = 1.53となるので、1.62から少しだけずれますが、まあ誤差の範囲内で一致してるといっていいでしょう。

では同様にL3で115枚使った時と、44枚使った時を、GIFアニメで比較してみます。
L3_115_L3_44
S/Nで高々1.5倍程度の違いなのに、大きく違って見えます。違いを挙げてみると、
  1. 115枚の方が、恒星が大きく見えて、44枚の方は恒星が小さく見える。
  2. 44枚の方が背景がノイジーで荒れている。
  3. 44枚の方はBXTで救いきれていない、取りこぼしている恒星が多い。
  4. 銀河本体の評価は難しく、一見44枚の方が細かいところまで出ている気もするが、ノイジーなだけの気もする。
1. 恒星の肥大に関しては、FWHMが小さい44枚の方が(同じパラメータの)BXTをかけた後でも小さくでるので、FWHMだけで判断してしまっていいでしょう。やはりラッキーイメージ的なFWHMが小さいものを選ぶのは、恒星の鋭さでは結果的にも有利です。

2. 見かけの背景の荒れ具合はどこまで炙り出したかだけの問題なので、背景が荒れ荒れに見えるのは気にしないでください。同じS/Nの画像でも強炙り出しすれば荒れて「見えて」しまいます。

3. それよりもここで重要なのは、暗くて淡い恒星の出具合が全く違ってしまっていることです。明るい恒星は元々S/Nが高いので、2枚の画像であまり差はないですが、暗い恒星はS/Nが低いのでNの影響をより大きく受けます。

例えば、115枚インテグレーションした画像の中で、BXTでギリギリ生き残った星のS/Nをインテグレーション直後の画像で測定すると (実際は淡い星の範囲を決めるのが難しいので測定もなかなか難しいのですが)、少なくとも2から3くらいはあります。一方、115枚画像で生き残った同じ星と同じ位置の、44枚の画像で生き残らなかった星のS/Nを測定すると1から1.5程度で、有意に差があります。115枚の時に2とか3あったS/Nが、枚数が44枚と少なくなりノイズが1.5倍ほど上がり、S/Nも1.5分の1ほどになり、恒星として認識されなくなったということかと思います。

このように、高々1.5倍程度のわずかなノイズの増加が、淡い部分には決定的に効いてしまうわけです。

4. 恒星のFWHMが小さいと背景の分解能もより出ているはずですが、いかんせんノイズのNが悪くて判断がつきにくく、全体としては44枚の方が不利と言っていいでしょう。


こうなるともう、ラッキーイメージで枚数を制限するか、S/Nを稼ぐために多少FWMHは悪くても枚数を増やすかは、完全にトレードオフですね。恒星の鋭さを取るか、淡い恒星が残るのを取るかです。銀河本体も同様にトレードオフかと思います。要するにその場その場に置いて、どちらを取る方が有利か判断して決めるべきなのかと思います。しかもインテグレーションまでしての判断なので、手間も時間もかかり、きちんとやろうとするとかなり大変になりそうです。

それよりも、これ以上の劇的な改善を考えるとすると、
  • 同等のシンチレーションのいい日に、より多くの枚数を撮影するか
  • 同等のシンチレーションのいい日に、より暗い空で撮影するか
だと思います。今のノイズは光害によるスカイノイズが支配的なので、このスカイノイズを改善する方法を考えるべきだということです。言い換えると、ここまで来てやっと自宅の光害が問題になるレベルに辿り着き、やっと暗い場所で撮影するべきかどうかの議論する価値が出てきたということなのかと思います。これまでは基本自宅撮影が多くて、今回のM104は系外銀河で背景を気にしなければ銀河本体はそこそこ明るいので、自宅でも十分だと思っていました。今のところ自宅だと厳しいと思ったのが、
  • M81を撮影した時のIFN
  • Sh2-240やダイオウイカなどのものすごく淡い天体を撮影した時
ですが、今回の
  • 系外銀河周りの恒星を出したい時
が新たに加わり、3つになりました。

まだ暗黒帯とかにあまり手を出していないので、ここら辺もいずれ暗いところを求めることになるかと思いますが、徐々に自宅撮影の限界が見えてきたということだと思います。今のところ頻繁に遠征に行くのは時間的に厳しいので、貴重な遠征の機会を逃さないように、あらかじめ遠征時のターゲットをはっきり決めて置くことがこれからの課題でしょうか。


画像処理

FWHMを12ピクセルで切ったL3のみ44枚でインテグレートしたL画像と、前回までの画像処理で使ったRGB画像を使って、画像処理をしてみます。

比較しやすくするため、ハッブル、今回、前回の順で並べます。
STScI-01EVT8YHAGM2WGQTV3DGKRFZ7Q

Image07_rot_Hubble_mod_cut

Image07_rot5_Hubble

恒星のシャープさは上がりました。救い上げた星の数は増えましたが、一部以前残っていた星が新たに消えてしまっているものもあります。でも、ハッブルの画像みたいに微恒星が一面に星が散らばっている様子からは程遠いので、ここら辺が次の課題でしょうか。

銀河本体は一部前回のほうが良かったところもあるように見えますが、基本的には今回の方が細部も出ていて、明らかに良くなっています。ハッブルの画像に多少なりとも近づいているのかと思います。どうやら改めて全画像処理工程をほぼやり直した甲斐はあったようです。

全体像も更新です。
Image07_middle

Image07_ABE1_crop_ABE4_DBE_BXTc_SPCC_BXT_LRGB_BXT_back_GHSx3_low
  • 撮影日: 2024年4月10日20時27分-4月11日3時18分、4月12日21時49分-4月13日0時46分
  • 撮影場所: 富山県富山市自宅
  • 鏡筒: SHARP STAR製 SCA260(f1300mm)
  • フィルター: 無し
  • 赤道儀: Celestron CGX-L
  • カメラ: ZWO ASI294MM Pro (-10℃)
  • ガイド:  f120mmガイド鏡 + ASI290MM、PHD2によるマルチスターガイドでディザリング
  • 撮影: NINA、Gain 120で露光時間1分でL: 115枚、R: 59枚、G: 51枚、B: 64枚、総露光時間289分 =4時間49分
  • Dark: Gain 120で露光時間1分が204枚
  • Flat, Darkflat: Gain 120で露光時間 LRGB: 0.01秒でそれぞれ128枚
  • 画像処理: PixInsight、Photoshop


まとめ

今回いろいろ試したことで、FWHMで分解能を評価できる手法はある程度確立できたのかと思います。やはりシンチレーションの影響は大きく、まずはいい日を選ぶことかと思います。その一方、淡い部分はS/Nの、特にノイズが大きく関係するので、全体の仕上がりとしてはFWFMだけでなく、枚数をある程度確保するか、スカイノイズを回避する必要があるのかと思います。

長かったですが、M104はとりあえずこれで完了とします。次回M104に挑戦するときは、暗い場所に行って撮影し、恒星がどこまで出るのか挑戦してみたいと思います。



久しぶりのブログ更新になります。皆様いかがお過ごしでしでしょうか?ゴールデンウィークは天気も良く、特に後半は新月期に入り絶好の星見日和だったのかと思います?

私はというと、あいにくGW中に体調を壊してしまい、前回の小ネタ記事を書いて以降ほぼ何もできない日が続きました。やっと体力も少し回復してきて、今もこの記事は病院の中で書いています。と言っても今回のM104の撮影はずっと前に終わらせていましたし、画像処理もブログ記事ある程度まで終えていたので、少し仕上げたくらいであまり無理はしないようにしています。

せっかくの長期休暇の新月期、暑くもなく寒くもなく、大きな太陽黒点と低緯度オーロラを横目にと、数々の絶好のチャンスを逃してしまい残念でなりません。その不満を払拭すべく、少しづつですが再開していきたいと思います。


三たびM104、でも本当は4度目

M104は分解能ベンチマークのような役割もあり、これまで何度か撮影しています。最初は2021年4月にVISACで。中心部を拡大すると、まだまだ無理やり解像度を出している感があります。


次は2022年8月、SCA260を手に入れてからより大きな口径で違いを見ました。


ただ、SCA260は焦点距離が1300mmとそこまで長くないので、M104は小ぢんまりと写ります。そのためこの時は
  1. バローなどなしでbin1の場合
  2. 2倍のPowerMATEを使ってbin2の場合
で比較しました。1素子あたりの明るさと画角は同じになるようにして比較したということです。違いはFOV(全体の視野角)と、bit depthになります。結果としては、恒星は2の2倍でbin2方が良かったですが、銀河本体は1の方がビミョーに良かったです。でも有意な差はほとんどなくて、結局1のほうがバローの挿入などの余分な操作がなく埃などが入る余地が少ないので、今後は1でいくという結論になりました。あと、この時はまだRGB合成のみで、L画像は撮っていませんでした。

その後、2023年5月にL画像だけ撮影していて、明らかに解像度が上がっていることまで確認したのですが、同時期にRGBを撮影する機会がなかったのでそのままお蔵入りにしてしまいました。2022年のRGB画像と合成しても良かったのですが、いまいち盛り上がらずに2024年を迎えてしまって、このままではさすがにダメだと思い、今回やっとLもRGBも一緒に撮影するに至りました。


NINAが重い

今回の撮影の少し前、3月18日にNINAの3.0が正式に公開されました。ただしちょっと重いみたいです。3.0にしてから撮影画像の保存にすごく時間がかかるようになりました。1枚撮影すると保存だけで毎回1分以上かかり、保存中は撮影は進まないので、かなりの時間ロスになります。

現在はStick PCで撮影し、micro SDに保存しているのです結構非力です。最初ディスクの書き込み速度を疑いました。でも撮影したファイル単体のコピペとかだと全然速く終わります。そこで、タスクマネージャーで撮影中の様子を見てみたら、NINAがものすごくCPUパワーを食っていて、かなりの時間100%になるようです。仕方ないので、以前の2.2に戻したら、ほぼタイムロス無しで連続で撮影できるようになりました。単にソフトが肥大したのか、それとも何か負荷が増えるようなバグっぽいものなのか、3.0がさらにアップデートされたらちょくちょくチェックしてみたいと思います。


今回の撮影

今回の撮影での大きな違いは、
  • 前回まではRGB撮影だけだが、今回はL画像を撮っているところ
  • 露光時間をこれまでの5分から1分にしたこと
です。L画像は実際の解像度向上に大きく貢献することになるかと思います。露光時間に関しては、SCA260+ASI294MM Proの場合gain120で露光時間5分だと、かなりの恒星がサチってしまうことに気づきました。特に、明るいL画像は深刻です。

下の画像は昨年5分で撮影したL画像を反転させています。bin1での撮影なのでそもそも12bit = 4096階調しかありません。ここでは階調の99%以上(4055/4096)になってしまっているところを黒くしています。

2023-05-11_20-58-14_M 104_LIGHT_L_-10.00C_300.00s_G120_0004
結構な数の星と、なんと画面真ん中の銀河中心までサチってしまっています。これはいけませんね。

下は今回露光時間を1分にしたもので、他の条件はほぼ同じです。だいぶマシになっていますが、それでもまだ飽和を避けることはできていません。少なくとも銀河中心は問題ないです。
2024-04-01_22-25-41_M 104_L_-10.00C_60.00s_0013

さらに露光時間を変えるにあたり、以下の2つのことを考えましたが、処理後の画像を見比べた限り違いはわからなかったです。
  1. 自宅撮影に限っていうとスカイノイズが圧倒的に支配的になります。露光時間を短くすると、読み出しノイズの効きが大きくなってくるのですが、露光時間を1分にしたくらいではまだまだ読み出しノイズは全然効かないくらいです。
  2. 淡い部分の階調がADCの暗い側にシフトするので、階調が出にくくなる心配もありましたが、まだ全然余裕があるようです。
LRGB画像は今後1分でいいと思います。ナローに関しては輝度が10分の1以下になるので、露光時間5分をキープするか、ダイナミックレンジがそこまで必要なければgainを上げてもいいかと思います。


画像処理 

WBPPでLRGBそれぞれインテグレートまでします。その後、すぐにRGBを合成して、カラーにしてからABEとDBEでフラット化をかけました。それぞれの色でフラット化してもいいのですが、カラーでやっても独立して働くので効果は同じはずで、1度で済むので手間を省いているだけです。

銀河で自宅撮影なので、背景のIFNなどは気する必要はなく、RGB画像もL画像も、気軽に簡単にフラット化してしまいます。だいこもんさんのブログ記事(元情報はUTOさんだそうです)によると、M104の周りにも相当淡い構造(更に大元がここ)があるようなので、試しに去年撮った5分露光画像も含めてL画像をかなり頑張って炙り出しましたが、私のところではその片鱗さえ全く見えませんでした。大顧問さんはチリで30時間露光して見えたとのことなので、自宅のような光害環境ではここまで淡いのは全然無理なのかと思います。なので、今回は背景は気にしないで、とにかく目的のM104本体の内部の細部構造がどこまで見えるかに全力を傾けます。

この内部構造、シンチレーションに強度に依存するようです。L画像は二日にわたって撮影していますが、二日目の画像は全然ダメで使うかどうか迷いました。1日目だけのもの133枚と、1日目133枚+2日目の中でもマシなもの56/103枚を使ったものを比較しましたが、見た目では違いがわからなかったので2日目のも入れたもので処理を進めました。

L画像はABEの2次、DBE、BXTをかけていますが、この時点でかなりの解像度が出ていて期待が持てそうです。
Light_BIN_1_8288x5644_60s_L_drizzle_1x_ABE4_DBE_BXTc_BXT_BXT03


LRGB合成

RGBとLをどう合成するかはいまだに迷います。過去に何度が議論しています。LRGB合成を初めて試したのは2022年10月のまゆ星雲です。この時わかったのは、L画像を合成したときに色がかなり出なくなるのですが、見えなくなっているだけで色情報としては十分残っているということでした。でもLとRGBをどのタイミングで合成すべきか、どういった比率で合成すべきかなどはまだまだ謎のままでした。


その後、この2つの過程でLRGB合成の経験的な方法はある程度確立したのかと思います。



そしてこのページである程度の理屈も含めて結論が出ています。


久しぶりのLRGB合成になるのでかなり忘れていることもあり、今回改めて読み直しましたが、今見てもかなり有用な議論です。当時のniwaさん、botchさん、だいこもんさんに感謝です。

今回まずは様子見で、PIのLRGBCombinationを使ってL画像を指定してRGB画像放り込んでみると、カラーノイズが結構目立ちました。RGBの撮影時間が短いので当然なのかもしれません。そこでLab分解してaとb画像にぼかしをかけてみました。以前うまくいった方法なのですが、今回はカラーノイズに対してほとんど効果が見られませんでした。カラーノイズ対策ができないのならa、b画像で何かする価値はほとんどなくなってしまいます。カラーノイズは後で対策できることと、奇をてらう方法はできるだけ避けたいこともあり、今回は素直にLRGBCombinationを使う方法を探ります。

未だ残っている一番の疑問は、LとRGBの混合比率です。これまでわかっていることは、
  • LRGBCombination処理はリニアでやらずにノンリニアでやること。ノンリニアとはフルストレッチしてからということ。
  • でもフルストレッチは厳しすぎる制限で、多少のストレッチでも大丈夫そうなこと。
  • リニアで処理すると、恒星内部に明るい飽和の飛びができ、後からどうしようもなくなること。
  • 飽和の飛びはL画像がRGB画像より暗い場合にできたが、L画像を明るくすると無くなること。

まず思っている疑問は、リニア段階での処理では本当にダメなのかということです。リニアはノンリニアの特別な場合と考えることができ、ノンリニアでいいのならリニアでも当然大丈夫だと思うからです。今のところ確認できている弊害は、
  • 恒星の飛び
だけです。

結論だけ言うと、今回リニア段階でLRGBCombinationを試しましたが、いずれも恒星の飛びは確認できませんでした。ただしこの結果は、LとRGBの明るさの違い(混ぜる比率)に依存しそうなので、その比率を変えて幾つか試しました。試したのはLRGBCombinationのCannel Weightsを変えることです。これらは相対的な比だけで決まり、例え全部を0.1とかにしても、処理後の画像の全体の明るさは変わらないことは以前確認しています。試したのは以下の4種類です。
  1. L : R : G : B = 0.1 : 1 : 1 : 1
  2. L : R : G : B = 1 : 1 : 1 : 1
  3. L : R : G : B = 1 : 0.1 : 0.1 : 0.1
  4. L : R : G : B = 1 : 0.01 : 0.01 : 0.01
いずれの場合も上で書いたように飛びは出なかったので、とりあえず今回は少なくともリニア段階でLRGB合成したとしても確認できるような問題は起きなかったと言えます。

その一方、できた画像の解像度には明確な差が出ました。下の画像になりますが、左から順に上の1,2,3,4となります。
comp

注意すべきは2, 3, 4で、Lの比率が高いとLRGBCombination直後はほとんど色がなく、一見モノクロのように見えることです。でも色情報はきちんとのこっているので、ここで心配する必要はありません。CurveTranformationで右のSの彩度を選んで曲線をΓの字になるくらいにして彩度を上げてやると確認できます。上の画像はそのように彩度を上げたもので比較しています。

4つの画像を見る限り、カラーノイズ、彩度に関しては明確な有利不利は確認できませんでした。最も大きな違いは分解能で、Lが一定以上の明るさがないとRGBが持つ低い分解能のままで制限されてしまうということです。わかりにくい場合は上の画像をクリックして拡大して比べて見てください。明確に違いがわかります。LとRGBの比が0.1:1や1:1ならばL分解能が十分生きてこなくて、1:0.1ならば十分、1:0.01にしてももう変化がないことがわかります。以前M106で試した時は1:0.25とかにして分解能が出たので、今回も再現性があり、ある程度L画像の明るさを保たないとダメだという結果を改めて確認できたことになります。

というわけで、今後もLRGBCombinationでシンプルに、Cannel WeightsだけLをある程度大きくしてLRGB合成をすればいいということにします。


結果

結果です。とりあえずはクロップして本体をある程度の大きさにしたものを完成とします。

「M104: ソンブレロ銀河」
Image07_middle
  • 撮影日: 2024年4月1日22時3分-4月2日2時41分、4月10日20時27分-4月11日3時18分
  • 撮影場所: 富山県富山市自宅
  • 鏡筒: SHARP STAR製 SCA260(f1300mm)
  • フィルター: 無し
  • 赤道儀: Celestron CGX-L
  • カメラ: ZWO ASI294MM Pro (-10℃)
  • ガイド:  f120mmガイド鏡 + ASI290MM、PHD2によるマルチスターガイドでディザリング
  • 撮影: NINA、Gain 120で露光時間1分でL: 189枚、R: 59枚、G: 51枚、B: 64枚、総露光時間363分 =6時間3分
  • Dark: Gain 120で露光時間1分が204枚
  • Flat, Darkflat: Gain 120で露光時間 LRGB: 0.01秒でそれぞれ128枚
  • 画像処理: PixInsight、Photoshop

まず目的の銀河本体内部の構造ですが、結構出たといっていいかと思います。これはひとえにシンチレーションが良かったからと言うのが今回の結論です。BXTの効果も大きいかもしれませんが、シンチレーション自身が良かったのがまず第一だと思います。色は下に載せたハッブル画像に近くしました。

クロップ前の全体像になります。
Image07_low

恒例のAnnotationです。
Image07_low_Annotated

銀河っぽいシミがいくつかあると思ったのですが、候補に入らないものがいくつかあります。単に画像処理でなにか失敗してるのか、はたまたまだカタログ不足なのでしょうか?


ハッブルとの比較

恐れ多くもハッブルと比べてみます。

まず今回撮影し画像を5度時計回りに回転させ、次のハッブル画像と同じような画角に切り出したものです。
Image07_rot5_Hubble

次がハッブル望遠鏡が2003年に発表したM104です。
STScI-01EVT8YHAGM2WGQTV3DGKRFZ7Q

もちろん分解能には全然差はあって追いつけっこないですし、恒星に至っては大きさも微恒星の写りも全く違います。でもなんかちょっと比べてみようと思うくらいにはなったのかなと思って、自己満足しています。


まとめ

足掛け2年にわたって悶々としていたM104にやっと決着がつきました。2022年の結果がこれなので、大きな進歩だと思います。
final

ソフトは変わりましたが機材は同じです。今回L画像を撮影したのは大きな違いですが、やはりそのL画像のシンチレーションの影響が一番大きいと思います。撮影時のHFRを見るとシンチレーションの評価になりそうなので、いい日かどうかを定量的に評価しながらL画像を撮影すべきなのかカラー画像を撮影すべきなのかを決めることなどができそうです。そこらへんの補足記事を次に書こうと思っています。

今回健康を害すると何もできなくなってしまうことを実感しました。まだ今後も長年続けていきたい趣味なので、少し体に気をつけて、無理をせずに楽しみながらやっていけたらと思います。

画像処理も溜まっています。ダイオウイカは昨年10月くらいから残ってますし、ヘラクレス銀河団、さらに南天がいくつか残っています。これらも焦らずに進めていきたいと思います。


年末の12月初めくらいから撮り続けていたSh2-308 ミルクポット星雲がやっと仕上がりました。

海外ではDolphin Head Nebulaと呼ばれているようで、日本でも「イルカ星雲」とか「イルカの頭星雲」とも呼ばれているようです。その一方、Milk Pot Nebulaとかで検索しても全く引っかからないので、どうもミルクポットと言っているのは日本だけのようです。

本当にイルカの口に似たような特徴的な形と、OIIIで写すと青く目立ってとても綺麗で、星を始めた当初からいつか詳細な形と共に撮影したいと思っていた星雲の一つです。最高高度が31度程度と比較的低い空なので、撮影可能期間もあまり長くなく、やっと実現できたというわけです。


撮影

実際の撮影開始は結構前で、12月4日の夜中過ぎからです。自宅なので平日も撮影可能で、同じ日の前半に北西方向のダイオウイカ星雲、後半に東から昇ってきているイルカ星雲を撮影しています。

一般に淡いと言われているイルカさんですが、同日に撮影していたダイオウイカ星雲がとんでもない淡さなので、イルカ星雲はずいぶん濃く感じました。下の写真の左は6時間40分のOIIIのダイオウイカで、ABEにDBEもかけて強あぶり出ししてやっとこれくらい。一方右は3時間10分でABEをかけただけでこんなにはっきり出ます。
comp

今回のイルカ星雲は、5分露光でOIIIが59枚、Hαが39枚でAOO合成の予定です。さらに恒星用にR、G、Bでそれぞれ8枚ほど撮影しています。OIIIとHαは比較的早くに撮り終えていたのですが、RGBが曇っている日が多くてなかなか撮り溜めできず、撮影は最終的に1月14日まで食い込んでしまいました。

R、G、B画像もそれぞれ同じ5分露光なのですが、明るい星はサチってしまっています。今後はRGBの各フィルターでの撮影は露光時間を短くするか、ゲインを落とした方がいいようです。

blue_BXT_Image36_DBE_DBE_Preview02_3dplot
RGB合成した画像の左側真ん中に写っている一番明るい星を、
PIの3Dプロットで表示。


画像処理

画像処理を進めていてすぐに、今回はイルカ星雲本体の青よりも、背景の赤がポイントではないかと思うようになりました。
  1. まず、イルカさんの中にも赤い部分が存在しているようで、今回程度のHαの露光時間では全然分解して表現できていないように思います。
  2. 背景の左側の赤い部分は、周辺減光か分子雲かの見分けがつきにくかったのです。特に左下の暗くなっている部分は暗くなっていますが、これは周辺減光なのか迷いました。他の方の画像を見ると確かに暗くなっているので正しいようです。
  3. 右側と上部には、かなり濃い波のような分子雲があり、こちらはHαだけでなくOIII成分も持っているようで、左下の赤とは明らかに違った色合いになり面白いです。
  4. 画面真ん中の星雲本体の周りに、下から右上方向に進むかなり淡い筋のような模様が見えますが、これも迷光などではなく本当に存在するもののようです。この筋はHαだけでなくOIIIにも存在するので、ここでも色の変化が見られとても興味深いです。

背景の淡い部分を出すには、フラット化がどこまでできるかがとても重要です。通常のフラットフレームを撮影してのフラット補正は当然として、それだけでは取りきれない
  • 輝度勾配
  • 周辺減光の差の残り
  • ライトフレーム撮影時とフラットフレーム撮影時の迷光の入り具合の差
など、大局的な低周波成分の輝度差が、淡い部分のあぶり出しを阻害してしまいます。

私はフラットフレームは晴れた昼間の部屋の中の白い壁を写しているので、どうしても窓側と部屋中心側で輝度差が出てしまいます。これはABEの1次で簡単に補正できるので、まずはHαもOIIIもインテグレーション後にすぐにABEの1次をかけます。ABE1次の後は出てきた画像を見て、毎回それぞれ方針を考えます。


GraXpert

実は今回、フラット化のために最近人気のフリーのフラット化ツールGraXpertを使ってみました。以前からインストールはしていたのですが、ほとんど使ったことはありませんでした。

今回GraXpertをPixInsightから呼び出せるようにしようと思って、この動画にあるように

https://www.ideviceapps.de/PixInsight/Utilities/

をレポジトリに登録して、ScriptのToolboxの中のメニューにも出てきたのですが、いざPixInsightからGraXpertを呼び出すと「GraXpertの最新版が必要」と言われました。アップデートしようとして最新版をインストールしたわけですが、アップデート後PIから呼び出しても、どうも動いている様子が全くありません。確認のために、まずは単独でGraXpertを立ち上げてみましたが、セキュリティーの問題を回避した後もうまく起動しません。ちなみにMacのM1です。

それでどうしたかというと、アプリケーションフォルダのGraXpertをフォルダから右クリックして「パッケージの内容を表示」でコンテンツの中身を見てみます。ContentsのMacOSの中にあるGraXpertがターミナルから起動できる実行ファイルで、これをダブルクリックすることでエラーメッセージを確認することができます。今回はいくつかpyhthonのライブラリが足りないとか出ていたので、手動でインストールしたのですが、結局解決せず。

そもそもメインPCのpython関連はそんなに変なことをしていないので、おかしいと思い調べたら、最新版はMac OS 13.6以上が必要とのこと。私はアップデート後のトラブルが嫌であまり最新のOSには手を出していなかったのですが、自分のバージョンを見たら12.4とか2世代も古いです。仕方ないので久しぶりにOSをアップデートし、一気に14.2.1のSonomaになって、無事にGraXoertが立ち上がりました。

ちょっと蛇足になってしまいましたが、
  • うまくいかないときはターミナルから立ち上げてエラーメッセージが確認できること
  • OSのアップデートが必要なこともある
というのが教訓でしょうか。

さてGraXpertの結果ですが、背景の星雲の形が大きく変わってしまい、残念ながら撃沈でした。比較してみます。最初がABEのみでフラット化したもの、
Image19_ABE4

次がGraXpertで今回は見送ったものになります。AIとKrigingで試しましたが、大きな傾向は変わりませんでした。画像はKrigingのものです。
Image13_SPCC_GX_K

違いは左下の濃い赤の部分で、GraXpertではムラと判断され、取り除かれてしまっています。また、イルカ星雲本体があるあたりの背景のHαも同様に取り除かれてしまっています。

このように、背景全体に分子雲が広がっているような場合は非常に難しく、DBEでもあまりいい結果にならないことがわかっているので、今回は再びHαとOIIIに戻って、今一度注意深くABEのみで処理することにしました。 GraXpertの方が良い結果を出す場合もあると報告されているので、実際のフラット化処理の際には一意の決まり手は存在せず、毎回臨機応変に対応すべきなのでしょう。


ABEのみでのフラット化

さて、今回最終的に使ったABEの具体的な手順を書いておきます。これも今回限りそこそこ上手くいったと思われる、あくまで一例です。
  • Hα: ABE1次、ABE2次
  • OIII: ABE1次、ABE2次、ABE3次、ABE3次 
として、ここでAOO合成。その後さらに
  • AOO: ABE4次
として、やっと落ち着きました。繰り返しになりますが、どれも決まった手順とかはなく、その場その場で画像を見ての判断です。

ポイントは
  1. 過去に他の人が撮影した画像などを参考にして、自分の背景がおかしすぎることがないこと
  2. オートストレッチで十分に炙り出せる範囲にフラット化を進めること
の2点でしょうか。それでも特に2にあるように、あぶり出しやすくするためにというのを主目的でフラット化しているので、正しい背景からずれてしまう可能性は否定できません。さらに1も、淡いところをどんどん出していくと、参考にできる他の画像自体も数が限られてしまうようになるという問題もあります。

こうやって考えると、PixInsightのMARSプロジェクトにかなり期待したいです。何が正しい背景で、何がカブリなどのフェイクかの指標を示してもらえるのは、とてもありがたいです。もちろん、誰も到達していないような淡さなどは当然データベースに登録されないと思うので、限界はあるはずです。でも私みたいな庭撮りでやっている範囲では、十分な助けとなってくれると思います。


とりあえずの画像処理

1月19日の金曜の夜、SLIMの月面着陸の様子をネットで追いながら、画像処理をしていました。着陸後、結果発表までかなり時間があったので、寝るのは諦めてのんびり進めます。その時に一旦仕上げて、Xに投稿したのが以下の画像です。

Image19_ABE4_SPCC_BXT_back3_cut

イルカ星雲本体はかなりはっきり出ています。イルカなのでOIIIの青がよく似合っています。また、背景の赤もかなり出ているのではないでしょうか。ナローバンドと言えど、自宅で背景がここまで出るのなら、結構満足です。周りの赤いところまで出してある画像はそこまでないのでしょう、結構な反響がありました。

イルカ星雲本体に含まれる赤はもっと解像度が欲しいところですし、全体に霞みがかったようになってしまっています。淡いOIIIを無理して強調した弊害です。OIIIフィルターにバーダーの眼視用のものを使っていることが原因かと思われます。IR/UVカットができないために、青ハロが目立ち、その弊害で霞みがかったようになってしまっています。


Drizzle+BXTが流行!?

土曜の朝起きて、いつものコメダ珈琲に行き、画像処理の続きです。改めて昨晩処理したものを見てみると、ノイズ処理がのっぺりしていて、恒星の色も含めて全然ダメだと反省しました。特に、拡大するとアラが目立ちます。

そもそもε130Dの焦点距離が430mmとあまり長いものではないので、画角的にイルカ星雲本体が少し小さくなってしまいます。後から拡大しても耐え得るように、WBPP時にDrizzleの2倍をかけておいて、Drizzle+BXT法で、イルカさん本体の解像度を上げてみます。



下の画像は、左がDrizzle x1で右がDrizzle x2、上段がBXT無しで下段がBXTありです。差が分かりにくい場合は画面をクリックして、拡大するなどして比べてみてください。

comp2
  1. まず上段で左右を比べると、Drizzleを2倍にすることで、恒星の分解能が上がっていることがわかります。
  2. 次に左側で上下を比べると、(Drizzleは1倍のままで) BXTの有無で、恒星が小さくなり、背景の細かい模様もより出るのがわかります。ただし、画像の解像度そのもので分解能は制限されていて、1ピクセル単位のガタガタも見えてしまっています。
  3. さらに下段のみ注目して左右を比べると、右のDrizzle2倍にさらにBXTをかけたものでは、恒星のガタガタも解消され、かつ背景もピクセル単位のガタガタが解消されさらに細かい模様が見えています。
このように、Drizzle+BXTで、恒星も背景も分解能が上がるため、圧倒的に効果ありです。

ところでこのDrizzle+BXT法ですが、2023年5月に検証して、その後何度がこのブログ内でも実際に適用してきたのですが (1, 2, 3) 、最近のXでの天リフ編集長の「効果があるのかないのか実はよくわからなかった」という発言にあるように、当時は余り信用されなかったようです(笑)。


ところが上のリンク先にもあるように、ここ最近だいこもんさんや他の何人かの方が同様の方法を試してくださっていて、いずれも劇的な効果を上げているようです。とうとう流行期がきたようです!

この手法を科学的な画像としてそのまま使うことはさすがにできませんが、鑑賞目的ならば、本物のさらに細かい構造が見えてきている可能性があると思うと、夢が大きく膨らむのかと思います。多少の手間と、(一から揃えるとPixInsightとBXTでそこそこの値段になるので) あまり多少ではないコストになりますが、それでも対する効果としては十分なものがあるのかと思います。

土曜日はこんなことをやっていて、力尽きました。


Drizzle x2

日曜日もほぼ丸一日かけて、Drizzle x2の画像の処理を進めます。なかなか上手くいかなくて、バージョン10まで進めてやっとそこそこ納得しました。あとから10段階を連続で見てみると、徐々に問題点が改善されていく過程がわかります。

金曜夜中に処理したDrizzle x1と、日曜夜遅くにDrizzle x2で最終的に仕上げた後の画像の比較してみます。ともにBXTをかけたものです。

まずはDrizzle x1
x1

次にDrizzle x2です。
x2

画像処理にかけた気合と時間が大きく違うこともありますが、それにしても結果が全然違います。では一体何をしたかというと、大きくはノイズ処理の見直しと、恒星の処理の見直しです。


Drizzle後のノイズ処理

特にノイズ処理は結構大変で、少し油断するとすぐにモワモワしてしまったり、分解能が悪くなったりで、全然上手くいかなかったです。でも筋道立てて丁寧にやっていくと、なんとか解は存在するといった感じでしょうか。

まず、ノイズ処理で気づいたことが一つあります。Drizzleで解像度2倍にした画像にはノイズ処理が効かないことがあるようです。興味があったので少し調べてみました。

今回試してみたノイズ処理ソフトは
  • Nik CollectionのDfine 2
  • PhotoshopのCamera RAWフィルターのディテールのノイズ軽減
  • DeNoise AI
  • NoiseXterminator
です。この中で効果があったのはDfine 2とNoiseXterminatorでした。他の2つは元々大きな構造のノイズが苦手な傾向があることは気になっていましたが、今回Drizzleで2倍の画素数にしたため、同じノイズでもより細かい画素数で表現されるようになり、相対的に大きな構造のノイズを扱っているような状態になったのかと推測します。まだ少し試しただけなので検証というレベルではなく、他のノイズ処理ソフト、例えばTGVDenoiseなどのPIのノイズ処理関連なども含めて、もう少し調べる必要があると思います。それぞれ得意な空間周波数があるような気がしています。

結局今回使ったのは、PI上でNXT、Photoshop上でDfine 2でした。これでモコモコしたノイズが残るとかを避けることができました。またNXTはカラーノイズ対策はできないので、カラーノイズはDfine2に任せました。


結果

結果です。拡大しないと一見、金曜夜中の画像とそこまで変わらないと思えるかもしれません。でも、少し細部を見ると全く違います。

「Sh2-308: イルカ星雲」
Image17_ABE4_SPCC_BXTx3_HT_HT_back7_cut_low
  • 撮影日: 2023年12月5日0時3分-3時9分、12月9日0時2分-1時5分、12月29日22時3分-30日4時20分、2024年1月4日20時50分-22時43分、その他2夜
  • 撮影場所: 富山県富山市自宅
  • 鏡筒: TAKAHASHI製 ε130D(f430mm、F3.3)
  • フィルター: Baader:Hα 6.5nm、OIII 10nm、R、G、B
  • 赤道儀: Celestron CGEM II
  • カメラ: ZWO ASI6200MM Pro (-10℃)
  • ガイド:  f120mmガイド鏡 + ASI290MM、PHD2によるマルチスターガイドでディザリング
  • 撮影: NINA、bin2、Gain 100、露光時間5分、Hα: 39枚、OIII: 59枚、R: 8枚、G: 9枚、B: 8枚、の計123枚で総露光時間10時間15分
  • Dark: Gain 100、露光時間5分、温度-10℃、117枚
  • Flat, Darkflat: Gain100、露光時間 Hα: 0.2秒、OIII: 0.2秒、R: 0.01秒、G: 0.01秒、B: 0.01秒で全て64枚
  • 画像処理: PixInsight、Photoshop CC

私的にはかなり満足なのですが、子供に上の画像を見せたら「霞んで見えるのが惜しい」と言われました。ナローバンドフィルターは星まつりで安いB級品をちょくちょく集めてきたのですが、パッと手に入れることができた眼視用OIIIフィルターだと多分もう厳しいので、新品で購入してしまった方がいいのかもしれません。でも新品でも在庫がないみたいです。いっそのことUV/IRカットフィルターを重ねてしまうのも手かもしれません。

上の画像は拡大すると真価を発揮します。イルカに見えるように画像を90度左回転し、左に明るい赤の壁を置くような構図にしてみました。

Image17_ABE4_SPCC_BXTx3_HT_HT_back7_rot_half2_wall
恒星の色もでているかと思います。大きくクロップしたとは思えないくらいです。

さらにイルカ星雲本体のみにしてみますが、ここまで拡大してもまだ大丈夫かと思います。
up2

この画像も子供に見せたら、「イルカの中の赤いところがまだ出ていない。頭のところにある脳みそみたいなところはまだマシだが、下の心臓の形はもっと出るはずだ」とか言われて、どこからか検索してきたもっと細部が出ている画像を見せられました。でもその画像の説明を見たらそもそも大口径の350mmでf/3、撮影時間がなんと45時間...、さすがに太刀打ちできるはずもないです。

超辛口な息子の意見に少したじろぎましたが、ナローバンドだとしても自宅撮影でここまで出るなら、もうかなり満足です。あとは毎回コンスタントにこれくらいまで出すことができるかでしょうか。もう少し練習が必要な気がしています。


まとめ

金曜夜から土日のほとんどを画像処理にかけてしまいました。やり直しを含めて、今回は丁寧な処理の画大切さを実感しました。淡いところを出すときは、特に慎重に手順を考えて処理しないとすぐに破綻してしまいます。

結局これ1枚に32時間くらい画像処理にかけたので、ちょっとスキルが上がったはずです。1枚に集中してできる限りのめり込むことは、かなり効果があるのかと思います。

でも次のダイオウイカとまともに戦えるとはまだ思えません。今のところ全然ノイジーです。ダイオウイカ星雲はそれくらい手強いです。


今回は1ヶ月ほど前に書いたビニングの話の続きです。


ソフトウェアビニングが役に立つのかどうか...、そんな検証です。


ダイオウイカさんが釣れない...

最近ずっと自宅でダイオウイカ釣りをしています。いつまで経ってもダイオウイカさんは出てきてくれません。もうかれこれOIIIだけで10時間になりますが、全部インテグレートして、普通にオートストレッチしただけだとこんなもんで、かなり淡いです。これでもABEの4次をかけてかなり平坦化してるんですよ。

OIII_stacked_normal

今回の画像は、ε130DにASI6200MM Proでbin2で撮影しています。ゲインはHCGが作動する100、露光時間は1枚あたり5分で125枚、トータル10時間25分です。

これだけ時間をかけても高々上に出てくるくらいです。やはり自宅でのダイオウイカ釣りは難しいのでしょうか?


ビニングの効果

これ以上露光時間を伸ばすのはだんだん現実的ではなくなってきました。遠征してもっと暗いところに行けばいいのかもしれませんが、自宅でどこまで淡いところを出せるかの検証なので、限界近くを責めるのはかなり楽しいものです。

さて、こんな淡い時にはビニングです!

そもそもCMOSカメラのビニングはASI294MMなど特殊な機種でない限り、一般的にソフトウェアビニングと同等で、
  • ハードウェアビニングでは信号は4倍になる一方読み出しノイズのを一回だけ受け取ればよく、S/Nで4倍得する。
  • ソフトウェアビニングでは信号が4倍になっても読み出しノイズを4回受け取らなければならないので、4のルートの2倍ソフトウェアビニングが不利になり、S/Nとしては2倍しか得しない。逆に言えば2倍は得をする。
というものです。それでも前回議論したように、スカイノイズなど、読み出しノイズが支配的でない状況ではハードウェアビニングの有利さは活きないので、
  • 実効的には ハードウェアビニングでもソフトウェアビニングでも効果は同等で、両方ともS/Nが2倍得するだけ。
というのが重要な結論になります。

と、ここで天リフ編集長から重要な指摘がありました。
  • 「もしソフトウェアビニングで同等の効果というなら、撮影後にPC上で本当にソフトでビニングしてもいいのでは?」
というものです。理屈の上ではその通りです。でも本当にそんなに都合がいいのか?というのが疑問に残るところでしょうか。


DrizzleとBXTの組み合わせ効果

もう一つ、Drizzleをかけて分解能を2倍にして、それだけだと解像度はそこまで大きくは上がらないのですが、さらにBXTをかけると本来の2倍の解像度程度まで戻すことができるという検証を以前しました。




ここまでのことを合わせます。
  1. 2倍のビニング
  2. Drizzleのx2
  3. BXT
を使うことで、
  • S/Nを2倍得して
  • かつ分解能の犠牲を戻す
ということができるのではというのが今回考えてみたいことです。


検証

さて、上で述べたことは本当なのか?実際に検証してみましょう。ダイオウイカ星雲はものすごく淡いので、格好の検証材料です。

まずはPC上でのソフトウェアビンングの準備です。今回は、PixInsightのIntegerResampleを使います。「Resample factor」を2として、「Downsample」を選び、「Average」を選びます。Dimemsionsはいじる必要はないです。左下の三角マークをPIの画面上に落として、このインスタンスを作っておきます。あとはImageContainerで、ビニングしたい画像を全て選び、出力ディレクトリを選択したら、これも同様にインスタンスを作成します。IntegerResampleのインスタンスをImageContainerに放り込むと処理が始まり、しばらく待つとさらにbin2相当、元から見るとbin4相当の画像が出来上がります。

と、最初は結構簡単に考えていたのですが、ここから実際にWBPPで処理を進めようとすると、ダークフレーム、フラットフレーム、フラットダークフレーム全てを同様にbin2相当にしておかないとダメだということに気づきました。

さらに注意は、WBPPのReferene frameです。bin2処理をしたOIIIと何もしないHαを最後に合わせようとする場合、Referene frameに同じライトフレームを選んでおく方が楽です。その際に、bin2処理をする場合のReferene frameのみ、あらかじめbin2でダウンサンプリングしておかないと、結果が変になってしまいます。考えてみればあたりまえなのですが、気づくまでなぜか結果がおかしいと悩んでしまいました。

さて、結果を比較します。左が普通にOIIIをWBPPで処理した結果、右がダウンサンプリングでbin2(元からだとbin4)相当でさらにWBPPでDrizzle x2を適用した結果です。両方ともABEの4次をかけ、強度のオートストレッチをかけています。イカの明るい所を拡大しています

preview_s

違いがわかりますでしょうか?
  • まず恒星ですが、やはり右のビニング画像した方が大きく見えます。
  • 背景のノイズの散らばり具合は、左はトゲトゲしいですが右は丸くなっています。でもこれは単純にダウンサンプリングのせいでしょう。S/Nが良くなったかというと、うーん、見た目だけだとどうでしょうか?心持ち右が良くなったように見えなくもないですが、あまりわからないです。

背景についてはっきりさせるために、S/Nを数値で定量的に評価しましょう。比較すべきは、
  1. ノイズN: 背景と思われる何も天体が写っていない暗い部分と、
  2. 信号S: 天体と思われる、ダイオウイカの明るい部分
です。具体的には上の画像のプレビューのところを比較しました。元々の画像で位置合わせがきちんとできていることと、プレビューの位置もタグを放り込んできちんと合わせているので、公平な評価になっている思います。

測定ですが、ノイズNはPixInsightのImageInspectionのStatistics結果は「Standard deviation」で直接比較できます。問題は天体の信号Sです。同じくStatisticsの「Mean」を使いますが、そのままだと値が大きすぎてよくわかりません。ここでは、ノイズ解析でS/Nを求めた時と同じように、天体部分の輝度から背景部分の輝度を引いたものをSとします。

結果は
  • 元画像: 天体部分の輝度 411.3、背景部分の輝度: 404.6、背景部分のノイズ:1.21
  • ビニング画像: 天体部分の輝度 308.1、背景部分の輝度: 301.3、背景部分のノイズ:0.73
でした。この結果からS/Nを計算すると
  • 元画像のS/N: (411.3-404.6) / 1.21 = 5.54
  • ビニング画像のS/N: (308.1-301.3) / 0.73 = 9.32
となり、S見事に予想通り、2倍のソフトウェアビニングで2倍程度のS/Nの改善になっています。このことは、PC上のソフトウェアビニングが実際に十分な効果があるということを示しています。もちろんその分、分解能は犠牲になっています。

さて、S/Nは向上しましたが、実際に画像処理で本当に効いてくるのかどうかは興味深いところで、次の課題と言えるでしょう。


さらにBXT

ソフトウェアビニングが理屈通りに効果があることがわかってきたので、次にBXTでの分解能が改善するかを見てみましょう。これまでの議論から、Drizzle x2を欠けていることが前提です。パラメータはデフォルトの、
  • Sharpen Stars: 0.5, Adjust Star Halos: 0.0, Automatic PSF: on, Sharpen Nonsteller: 0.50
としています。左が元の画像、右がソフトウェアビンニングしたものです。
BXT_s

恒星については、どちらも小さくなっていて、結構近い大きさになっています。微恒星に関しても、ビニングした方もほとんど取りこぼしなどもなさそうです。これはすごいですね。

その一方、背景の細部出しについては、元画像もビニング画像も、BXTの効果は共にほとんど見られず、差は縮まったりしなくて、依然としてビニングした方は細部が出ていないように見えます。BXT2はBXT1に比べて背景が出にくくなっているので、そのせいかとも思い、この後両方ともにBXT2を背景のみに複数回かけましたが、はっきり言ってほとんど変化が見られませんでした。さらに、AI4からAI2に戻してBXT1相当にしてかけてみても、効果がほぼ何もみられませんでした。

どうも天体部分がまだ淡すぎる、もしくは天体と背景のS/Nが低すぎるのかと思っています。ブログで示した画像は目で見えるようにストレッチしたものを掲載していますが、ストレッチ処理前の画像は真っ暗です。S/Nを見ても最も明るいところでわずかわずか5とか10で、背景との輝度差にするとわずが7 [ADU]程度で暗すぎるのです。少しストレッチしてコントラストを上げて、背景との輝度差を付けてからBXTをかけるとかの対策が必要かもしれません。

とりあえずOIIIに加えて、Hα、恒星のためのRGBの撮影も完了しているので、次は画像処理です。BXTの効果についても、仕上げまで持っていく際にもう少し検証できればと思います。


まとめ

今回の検証で2倍のソフトウェアビニングで実際にS/Nが2倍得することはわかりました。これは撮影時間にしたら4倍長くしたことに相当し、今回10時間撮影しているので、実行的に40時間撮影していることと同等です。もしCMOSカメラのbin2をそのままのbin1で撮影した時と比べるとさらに4倍で、160時間撮影したことと同等になります。分解能は当然犠牲になります。

さらにDrizzle2倍 x BXTで、恒星に関しては分解能をかなりのレベルで回復できることは分かりましたが、背景に関してはほとんど効果がないことが判明しました。ある程度広域で見た天体であること、かなり淡いので詳細はあまり見えないことなどもあり、分解能はそこまで必要ないと考えることもできますが
少し悔しいところです。淡すぎて背景との輝度差がほとんどないことが原因かと思われます。


日記

正月に能登半島で最大震度7という大きな地震がありました。その時私は実家の名古屋にいたのですが、名古屋でも大きく揺れました。すぐに富山に残っていた家族に電話をしたのですが、これまでに体験したことがないような揺れだったそうで、立っていることもできなかったそうです。

元々、元日夜に車で富山に戻ろうとしていたのですが、安全を考えて2日の明るいうちの移動としました。自宅に着いて部屋とかを見てみましたが、自宅は富山市内でも山川に近い比較的南の方で、幸いなことに何かが倒れるとかいう被害もほとんどありませんでした。天体機材もほぼ無事で、棚の上の方に置いてあった空箱が一つ落ちたくらいでした。

自宅周りは地盤的にも比較的頑丈なのか、近所の人に聞いてもほとんど大きな被害を聞くことはなかったです。その一方、少し離れた川に近いところや、富山の少し中心街に近いところは、自宅から大した距離でなくても、そこそこ被害があったと聞いています。さらに富山駅より北側、富山県の西部、金沢などはかなりひどいところもあったのことで大変だったようです。震源地に近い能登半島は、日が経つにつれ被害の状況が伝わってきて、想像をはるかに超える被害でとても心が痛みます。石川の星仲間もいるので、無事を祈るばかりです。

今週末は気温が下がり、場所によっては雪も降るとのことです。被害のひどいところでは平時の生活に戻るまではまだかかるかと思いますが、一刻も早い復旧を願って止みません。

BlurXTerminator version 2.0 and AI version 4がリリースされました。



以下BXT2とかAI4とか呼ぶことにします。以前のものはBXT1とか単にBXTでしょうか。BXTというのはバージョンに限らずBlurXTerminatorの略語の場合もあるので、ここでは文脈によって使い分けたいと思います。


Correct only

まず、恒星についてはこれまでのBXT1に比べて明らかに大きな改善です。以前もこの恒星の収差を改善するCorrect onlyがかなりすごいと思って評価しましたが、その当時は星雲の細かい模様出しが第一の話題の中心で、恒星を小さくすることが次くらいの話題でした。収差などを直すCorrect onlyはあまり話題になっていなかったのが残念でした。でも今回はむしろ、この収差補正の方が話題の中心になっていて、しかもその精度が格段に上がっているようなので、より精度の高いツールとして使うことができそうです。

今回のBXT2で修正できるものは:
  • First- and second-order coma and astigmatism: 1次と2次のコマと非点収差
  • Trefoil (common with pinched optics and in image corners with some camera lenses): トレフォイル(矢状収差?) (歪んだ光学系や、いくつかのカメラレンズで出る画面四隅において一般的)
  • Defocus (poor focus and/or field curvature): デフォーカス:  (焦点ズレや、もしくは像面歪曲)
  • Longitudinal and lateral chromatic aberration: (縦方向、横方向の色収差)
  • Motion blur (guiding errors): 動きのブレ(ガイドエラー)
  • Seeing/scatter variation per color channel: 各色ごとのシーイング/散乱の違い
  • Drizzle upsampling artifacts (2x only): ドリズルのアップサンプリング時の偽模様(2倍時のみ)
とのことです。

ちなみに、BXT1の時に修正できたのは以下のようなものなので、BXT2では圧倒的に進化しています。
  • limited amounts of motion blur (guiding errors): ある一定量までの動きのブレ(ガイドエラー)
  • astigmatism: 非点収差
  • primary and secondary coma: 1、2次のコマ収差
  • unequal FWHM in color channels: 各色のFWHM (星像の大きさ) の違い
  • slight chromatic aberration: 多少の色収差
  • asymmetric star halos: 非対称なハロ

なので、まずは星雲部分を補正する前に、一度Correct Olnyをチェックして収差などによって歪んで写った恒星がどれだけ改善されるのかを、十分に味わうべきでしょう!星雲部の模様出しとかは他のツールでも似たようなことはできますが、上に挙げたような収差補正をここまでやってくれるツールはBXTだけです。画面全体を見ている限りは一見このありがたさに気づかないかもしれませんが、拡大すればするほど、こんなに違うのか!というのを実感することと思います。

では実際に比較してみましょう。全て前回のクワガタ星雲の処理途中のリニアな段階での比較です。

1. オリジナル画像
まずはオリジナルの画像です。
Image13_mosaic_original
ε130Dは、スポットダイアグラムを見る限り非常に優秀な光学系です。同系列のε160EDやTOA-130N+TOA-645フラットナーといったスーパーな鏡筒には流石に負けますが、FSQ-130EDとコンパラくらいでしょうか。反射型なので光軸調整さえ安定してできれば、間違いなく最強の部類の鏡筒と言えると思います。上の画像は四隅でもかなり星像は小さくなっていますが、まだ少し流れが残っています。

2. BXT1相当 (BXT AI2)
ここにまずは、BXT1相当の、BXT2に従来のAI Ver.2を適用します。ここではCorrect onlyでの比較です。
Image13_mosaic01_BXT

四隅の星の流れは明らかに改善されていることがわかりますが、星の大きさなどは大きく変わることがなく、これだけ見てもε130Dの光学性能の優秀さが伺えるかと思います。

3. BXT2 AI4
では上の画像で十分で、高性能鏡筒に今回のAI4をかけても意味がないかというと、そんなことはありません。BXT1では微恒星を救いきれていない場合が多々ありました。このページの「もう少しL画像を評価」の2のところ以降に、

「BXTはかなり暗い最微恒星については恒星と認識するのは困難で、deconvolutionも適用できないようです。そうすると逆転現象が起きてしまうことも考えられ、より暗い星の方がそれより明るい星よりも(暗いけれど)大きくなってしまうなどの弊害も考えられます。」

と当時書いていました。そして暫定的な結論として

「この逆転現象とかはかなり拡大してみないとわからないこと、収差の補正や星雲部の分解能出しや明るい恒星のシャープ化など、現段階ではBXTを使う方のメリットがかなり大きいことから、今のところは私はこの問題を許容してBXTを使う方向で進めたいと思います。シンチレーションの良い日を選ぶなどでもっとシャープに撮影できるならこの問題は緩和されるはずであること、将来はこういった問題もソフト的に解決される可能性があることなども含んでの判断です。」 

と書いていますが、今回は実際にソフト的に改善されたと考えて良さそうです。

実際に見てみましょう。BXT2 AI4を適用したものです。
Image13_mosaic02_BXT2_4
一見BXT1との違いがわからないと思うかもしれませんが、少しぼやけて写っているような最微恒星に注目してみてください。BXT1では取りこぼしてぼやけたままに写っているものがBXT2ではきちんと取りこぼされずに星像が改善されています。

このことはリリース次のアナウンスの「Direct linear image processing」に詳しく書いてあります。

One of the most significant “under the hood” features of AI4 is that it processes linear images directly. Earlier versions performed an intermediate stretch prior to neural network processing, then precisely reversed this stretch afterwards to restore the image to a linear state. This was done because neural networks tend to perform best when their input values lie within a well-controlled statistical distribution.

While this worked well for most images, it introduced distortions that compromised performance. Flux was not well conserved, particularly for faint stars, and the network could not handle certain very high dynamic range objects (e.g., M42, Cat Eye nebula). These compromises have been eliminated with AI4, resulting in much more accurate flux conservation and extreme dynamic range handling.

要約すると、

BXT2では直にリニアデータを処理することができるようになった。BXT1ではニューラルネットワークの処理過程の制限から、一旦ストレッチした上で処理し、その後リニアデータに戻していた。そのため恒星の光量が変わってしまったり、特に淡い恒星では広いダイナミックレンジを扱うことが難しかった。BXT2ではこのような妥協を排除し、その結果より正確に光量を保つことができ、大きなダイナミックレンジを扱うことができるようになった。

というようなことが書かれています。これは大きな進化で、実際に自分の画像でも微恒星に関しては違いが確認できたことになります。


Nonsteller

Niwaさんが恒星の締まり具合から判断して、PSFを測定してその値を入れた方がいいという動画を配信していました。その後訂正され、PSFの設定はオートでいいとなりましたが、一方、私はこのPSFの設定は星雲部分の解像度をどれだけ出すかの自由度くらいにしか思っていないので、測定なんていう手間のかかることをしたことがなかったです。

BXTのパネルは上が「Steller Adjustments」となっていて、「Sharpen Stars」とか「Adjust Star Halos」とかあるので、こちらは恒星のためのパラメータで、恒星の評価はこちらを変えて判断すべきかと思います。とすると真ん中の「Nonsteller Adjustments」は恒星でない星雲部などのパラメータで、星雲部を見て判断すべきかと思われます。このPSFが星雲部にどう働くかはユーザーにとっては結構なブラックボックスですが、必ずしも測定値を入れなくても、星雲部の出具合を見て好きな値を入れればいいのかと思っていました(BXT2ではここが大きく変わっています)。

というわけで、いくつかのパラメータを入れてどう変わるかを見てみましたが、これまた興味深い結果になりました。

1. まずはオリジナルのBXTをかける前の画像です。こちらも前回のクワガタ星雲の画像の中のバブル星雲部分拡大していて、リニア処理時の画像になります。まだ、バブル星雲もかなりボケてますね。
Image13_ABE1_RGB_ABE4_SPCC_SCNR1_Preview01

2. 次は右下のリセットボタンを押して、すべてデフォルトの状態でどうなるかです。
Image13_ABE1_RGB_ABE4_SPCC_SCNR_BXTdefault_Preview01
恒星は上で書いた収差補正などが入り、さらに星を小さくする効果(0.5)で実際に星が小さくなっているのがわかります。そして確かに星雲部の分解能が上がっているのがわかります。今回の画像は全てBin2で撮影しDrizzle x2をかけてあることに注意で、これにBXTをかけたことになるので、相当な解像度になっています。

3. さてここで、PSFの効果を見てみます。パラメータはSharpen Stars: 0.70, Adjust Star Halos: 0.00, Sharpen Nonsteller: 1.00で、PSF Diameterだけ変えてみます。極端な場合のみ比べます。まずはPSFが最小の0の場合です。
Image13_ABE1_RGB_ABE4_SPCC_SCNR_BXTSS07PD0_Preview01

次にPSFが最大の8の場合です。
Image13_ABE1_RGB_ABE4_SPCC_SCNR_BXTSS07PD8_Preview01

あれ?恒星は確かに少し変わっていますが、星雲部が全く同じに見えます。このことは、PSFを1から7まで変えて比較しても確認しました。


4. BXT1時代にはPSFを変えたら星雲部が大きく変わっていたはずです。念のためAI2にして確認しました。

PSFが4.0の場合。
Image13_ABE1_RGB_ABE4_SPCC_SCNR_BXTSS05PD4_Preview01

PSFが8.0の場合です。
Image13_ABE1_RGB_ABE4_SPCC_SCNR_BXTSS05PD8_Preview01

他のパラメータは全て同じなので、やっぱり明らかにPSF Diameterだけで星雲部が大きく変わっています。

5. ここで、再びAI4に戻りもうひとつのパラメータ「Sharpen Nonsteller」をいじってみました。1.0からから0.5に変えています。
Image13_ABE1_RGB_ABE4_SPCC_SCNR_BXTSS07PD8N05_Preview01
これまでのSharpen Nonstellerが1.0の時と比べて、明らかに星雲部の分解能は出にくくなっています。

今回のリリースノートでは星雲部の記述がほとんどありません。ということはPSFに関しては大きな仕様変更?それともバグ?なのでしょうか。ちょっと不思議な振る舞いです。でもBXT1の時のように星雲部の解像度を出すパラメータがPSF DiameterとSharpen Nonstellerの2つあるのもおかしな気もするので、BXT2の方がまともな設計の気もします。いずれにせよ、今回のAI4ではすでに星雲部に関しては最初から最大限で分解能を出してしまっていて、これ以上の分解能は出せないようです。BXT1の時には星雲部の解像度出しが大きく扱われていたので、これを期待して購入すると、もしかしたら期待はずれになってしまうかもしれません。

でもちょっと待った、もう少しリリースノートを読んでみると、BXTの2度掛けについての記述が最後の方にあることに気づきます。

The “Correct First” convenience option is disabled for AI4 due to the new way it processes image data. It is also generally no longer necessary. If desired, the same effect can still be accomplished by applying BlurXTerminator twice: once in the Correct Only mode, and then again with the desired sharpening settings. The same is true for the “nonstellar then stellar” option: it is generally not needed anymore with AI4, but can be accomplished manually if desired.

Correct Firstとnonstellar then stellarはAI4では使えなくしたとのことで、その代わりに一度Correct Onlyをかけて、その後にCorrect Onlyを外して好きな効果をかければいいとのことです。

実際に試してみましたが、いくつか注意点が必要そうです。下の画像は、上で使ったオリジナルの画像から
  1. Correct Only
  2. Sharpen Stars: 0.70, Adjust Star Halos: 0.00, Automatic PSF: on, Sharpen Nonsteller: 1.00
  3. Sharpen Stars: 0.00, Adjust Star Halos: 0.00, Automatic PSF: on, Sharpen Nonsteller: 1.00
  4. Sharpen Stars: 0.00, Adjust Star Halos: 0.00, Automatic PSF: on, Sharpen Nonsteller: 1.00
4回かけています

Image13_ABE1_RGB_ABE4_SPCC_SCNR1_BXTCO_SS07auto_SS0auto_SS0auto

まず、星雲部の解像度出しを後ろ3回でかけていることになりますが、その効果は回数分きちんと出ていて、複数掛けで効果を増すことができるのがわかります。その一方、Sharpen Starsは2回目のみにかけ、それ以降はかけていません。これは繰り返しかけると恒星がどんどん小さくなっていき、すぐに破綻するからです。3回目のみにかけるとか、4回目のみにかける、もしくは小さい値で複数回かけてもいいかと思いますが、恒星が破綻しないように注意してチェックする必要があると思います。

最も重要なのが、PSFの設定です。BXT1時代にはここをマニュアルで数値を入れてやることで、星雲部の解像度が調整できましたが、ここまでの検証でBXT2ではその効果は無くなってしまっています。しかも、ここで試しているようなBXT2の複数回掛けで固定PSFにすると、小さくなっていく恒星に対して間違った値のPSFが適用されてしまい明らかに恒星が破綻していくので、Automatic PSFを必ずオンにしておく必要がありそうです。

というわけで、ここまでの検証でまとめておくと、
  • BXT2は星雲部の解像度出しの効果が弱いので、複数回がけで効果を強くすることができる。
  • 複数掛けは作者がOKを出している。
  • Sharpen Stars(と、今回は検証してませんが多分Adjust Star Halosも)は無理をしない。
  • PSFはオートにしておいた方が楽で変なことが起きないのでいい。
と言うことがわかりました。PSFはNiwaさんの言うようにBXT2をかけるたびに毎回きちんと測定してからその値を入れるのでもいいかもしれませんが、私の方では今回は検証していません。


BXTの中身について推測

BXTですが、まだまだブラックボックスなところはたくさんあります。ここからはあくまで個人的にですが、どんなことが行われているのか色々推測してみようと思います。

最初に、AIと言っていますがどこに使っているのか?です。自分だったらここに使うとだろうという意味も込めて推測しています。

まずは「恒星とその他の天体の区別」にAIを使っているのではないかと思います。これはStarXterminatorで既に実装されているのでおそらく確実でしょう。画像の中にはものすごい数の星があります。全てまともな形をしていればいいのですが、収差などで崩れた形の(元)恒星もきちんと恒星と認識しなければいけません。ここはAIの得意とする分野だと思います。でも、恒星の認識率も100%にするのはかなり難しいと思います。リリースノートで示されているような種類の収差を膨大な画像から学習しているものと思われ、逆にそうでないものは恒星でないと判断すると思います。ハッブルの画像などから学習したと書いていますが、ハッブルの画像は逆に収差は比較的小さいと思いますので、これと収差があるアマチュアクラスの画像を比べたりしたのでしょうか。それでも現段階でのAIなので、学習も判別も当然完璧では中々ないはずなのですが、例えば銀河などはかなりの精度で見分けているのかと思います。

個別に恒星が認識できたら、恒星にのみdeconvoutionを適用することが可能になるはずです。上での検討のように、BXT1では超微恒星は星像改善がなかったものが、BXT2では無事に恒星として認識できて星像改善されているので、このことは認識できた恒星にのみdeconvoutionを適用していることを示唆しているのかと思います。従来のdeconvolutionは効果を画面全体に一度に適用せざるを得ないので、恒星部と星雲部に同様にかかってしまいます。恒星が星雲を含む背景から分離でき、そこにのみdeconvolutionをかけられるなら、個別に効果を調整できるので、従来に比べてかなり有利になるでしょう。

ただし、恒星が小さくなった後に残る空白の部分は、従来のdeconvolutionでは黒いリング状になりがちなのですが、BXTはかなりうまく処理しているようです。説明を読んでも「リンギングなしでうまく持ち上げる」くらいしか書いていないのでわからないのですが、ここでもAIを使っているのかもしれません。例えば、簡単には周りの模様に合わせるとかですが、もう少し考えて、恒星の周りの中心よりは暗くなっているところの「背景天体の形による輝度差」をうまく使うとかも考えられます。輝度を周りに合わせるようにオフセット値を除いてやり、模様を出しやすくしてから、それを恒星が小さくなったところの背景にするなどです。S/Nは当然不利なのですが、そこをAIをつかってうまくノイズ処理するとかです。本当にこんな処理がされているかどうかは別にして、アイデアはいろいろ出てくるのかと思います。

あとBXTの優れているところが、画像を分割して処理しているところでしょう。512x512ピクセルを1つのタイルと処理しているとのことで、その1タイルごとにPSFを決めているとのことです。収差処理もおそらく1タイルごとにしているのでしょう。現在のAI処理はそれほど大きなピクセル数の画像を扱っていないので、どうしても一回の処理のための画像の大きさに制限が出るはずです。でもこのことは画像の各部分の個々の収差を、それぞれ別々のパラメータで扱うことにつながります。四隅の全然別の収差がどれも改善され、恒星が真円になっていくのは、見事というしかありません。これをマニュアルでやろうとしたら、もしくは何かスクリプトを書いて個々のタイルにdeconvolutionをかけようとしたら、それこそものすごい手間になります。画面全体に同じ処理をする従来のdeconvolutionなどとは、原理が同じだけで、もう全く違う処理といってもいいかもしれません。


微恒星の補正について

もう一つ、極々小さい微恒星がさらにdeconvolutionされたらどうなるか考えてみましょう。

もともと時間で変動する1次元の波形の周波数解析によく用いられるFFTでは、サンプリング周波数の半分の周波数以下でしか解析できません。この半分の周波数をナイキスト周波数と言います。要するに2サンプル以上ないと波として認識できず、周波数が決まらないということです。ではこの2サンプルのみに存在するインパルス的な波を、無理矢理時間軸で縮めるような処理をしてみたらどうなるでしょうか?元々あった2サンプルで表現されていた波が2サンプル以下で表現され、より高周波成分が存在するようになります。

これと同じことを2次元の画像で考えます。上のFFTの時間が、画像のドットに置き換わり、縦と横で2次元になったと考えます。周波数と言っているのは画面の細かさになり、「空間周波数」という言葉に置き換わります。細かい模様ほど空間周波数が高く、荒い模様ほど空間周波数が低いと言ったりします。

1ドットのみの恒星は、本当に恒星なのか単なるノイズなのか区別のしようがありません。少なくとも各辺2ドット、すなわち4ドットあって初めて広がりのある恒星だと認識できます。この各辺2ドットがナイキスト周波数に相当します。超微恒星に対するdeconvolution処理はこの4ドットで表されている恒星を、4ドット以下で表現しようとすることになります。その結果、この画像はナイキスト周波数以上の高周波成分を含むことになります。

deconvotionはもともと点像であった恒星と、その点像が光学機器によって広がりを持った場合の差を測定し、その広がりを戻すような処理です。その広がり方がPSFという関数で表されます。広がりは理想的には口径で決まるような回折限界で表されますが、現実的にはさら収差などの影響があり広がります。BXTはあくまでdeconvolutionと言っているので、ここに変なAIでの処理はしていないのかもしれませんし、もしくはAIを利用したdeconvolution「相当」なのかもしれません。

BXT1からBXT2へのバージョンアップで、処理できる収差の種類が増えていて明確に何ができるのか言っているのは注目すべきことかと思います。単なるdeconvolutionなら、どの収差を補正できるのか明確には言えないはずです。でもAIで収差の補正の学習の際、どの収差か区別して学習したとしたら、deconvolution相当でどのような収差に対応したかが言えるのかと思います。そういった意味では、やはりBXTのdeconvolutionは後者の「相当」で、AIで置き換えられたものかと思った方が自然かもしれません。


BXTの利用目的

ここまで書いたことは多分に私自身の推測も入っているので、全く間違っているかもしれません。BXTの中身の実際はユーザーには全部はわからないでしょう。でも中身はどうあれ、実際の効果はもう革命的と言っていいほどのものです。

個人的には「個々のタイルでバラバラな収差をそれぞれのPSFで補正をして、画像の全面に渡って同等な真円に近い星像を結果として出しているところ」が、マニュアルでは絶対にやれそうもないところなのでイチオシです。もちろん今のBXTでは完璧な処理は難しいと思いますが、現在でも相当の精度で処理されていて、BXT1からBXT2のように、今後もさらなる進化で精度が上がることも期待できそうです。

では、このBXTが完璧ではないからと言って、科学的な目的では使えないというような批判は野暮というものでしょう。そもそもBXTは科学的に使うことは目的とはしていないはずです。

それでもBXTを科学的な側面で絶対使えないかというと、使い方次第だと思います。例えば、新星を探すという目的で、BXTでより分解能を増した上で何か見つかったとしましょう。それが本物かフェイクかの「判断」は他のツールも使うなどして今の段階では「人間が」すべきでしょう。判断した上で、偽物ということもあるでしょうし、もし本物だったとしたら、例え判断はBXTだけでできなかったとしても、そのきっかけにBXTが使われたいうことだけで、BXTの相当大きな科学的な貢献になるかと思います。

要するに「ツールをどう使うか」ということだと思います。今の天文研究でもAIが盛んに使われようとしていますが、主流は人間がやるにはあまりに手間がかかる大量のデータを大まかに振り分けるのを得意としているようです。ある程度振り分けたら、最終的な判断はAIに任せるようなことはせず、やはり人の目を入れているのが現実なのかと思います。AIは完璧ではないことはよくわかっているのだと思います。


まとめ

BXTはどんどんすごいことになっていますね。今後はBXT以外にもさらに優れたツールも出てくるでしょう。将来が楽しみでなりません。

何年か前にDenoise AIが出た時も否定する意見はありましたし、今回のBXT2も推測含みで否定するケースも少なからずあったようです。デジカメが出た時も否定した人が当時一定数いたことも聞いていますし、おそらく惑星撮影でWavelet変換を利用した時も同じように否定した人はいたのかと思います。新しいものが出た時の人の反応としてはごく自然なのかもしれませんが、私は個人的にはこのような新しいツールは大歓迎です。新しいものが出たときに否定だけするような人から、新しい革新的なツール作られるようなことなどほぼあり得ないでしょう。新しいツールはその時点では未熟でも、将来に発展する可能性が大きく、その可能性にかけるのが正しい方向かなと思っています。

実際私も、電視観望をしていて頭ごなしに否定されたことが何度がありました。でも今では電視観望は、眼視と撮影の間の手法として確立してきているはずです。当時否定された方達に、改めて今電視観望についてどう思っているのかお聞きしてみたかったりします(笑)。

BXT素晴らしいです!!!

連休中にε130Dのテスト撮影をしているのですが、その画像処理の過程で面白いことがわかりました。このネタだけで長くなりそうなので、先に記事にしておきます。


最初に出てきたε130Dの分解能にビックリ!

今回ε130Dで初の撮影を進めています。満月直前で明るいので、ナローバンド撮影です。初めての機材なので色々トラブルもありますが、それらのことはまた次の記事以降で書くつもりです。とりあえず2日かけてなんとか約2時間半分のHα画像を撮影しました。細かく言うと、ASI6200MM Proのbin1で1時間ぶん、かなり暗かったのでその後bin2で2時間半分撮影しました。

その後、まだ仮処理段階のbin2のHα画像を見てびっくりしました。bin2撮影の2時間半ぶんをインテグレートして、BlurXTerminator(BXT)をかけて、オートストレッチしただけですが、なぜかわからないレベルのすごい分解能が出ています。下の画像はペリカン星雲の頭の部分を拡大して切り出しています。

BIN_2_4784x3194_EXPOSURE_300_00s_FILTER_A_ABE_Preview01

昔FS-60CBとEOS 6Dで撮ったものとは雲泥の差です。
283e6bd1_cut

分解能の理由の一つ

ちょっとビックリしたのでTwitterに速報で流してみたのですが、かなりの反響でした。分解能がいいと言われているε130DにモノクロCMOSカメラなので、ある程度分解能は出ると予想していましたが、予想以上のちょっとした魔法クラスです。

その後、画像処理がてらいろいろ検証を進めていたのですが、魔法の原因の一つは少なくとも判明しました。ちょっと面白いので検証過程を紹介しつつ、謎を解いていきます。


意図せずして高解像度に...

まず、今回大きなミスをやらかしたことです。テスト撮影ではbin1とbin2の2種類を撮ったのですが、それらの画像をPixInsightで同時に処理していました。2種類のマスターライト画像が出来上がるわけですが、ここで問題が起きていたことに後に気づきました。

reference画像をオートで選択していたのですが、そこにbin1のものが自動で選択されてしまっていた
のです。その結果、bin2の低解像度のものもregistration時に強制的にbin1のものに合わせられてしまい、高解像度になってしまっていました。その状態に気づかずにBXTをかけてしまい、予期せずして恐ろしい分解能の画像になっていたというわけです。

その後、気を取り直し再度普通のbin2画像を処理して比較してみると、いろいろ面白いことに気づきました。メモがわりに書いておきます。


1. BXTのPFSの値と解像度の関係

まず、BXTのパラメータですが、恒星の縮小とハロの処理は共に0としてしないようにしました。背景の青雲部の詳細を出すために、PSFを7.0にしてSharpen Nonstellerを9.0にします。

これをbin1画像に適用してみます。この中の一部をカットしたのが以下です。最初の画像と同じものです。少し出しすぎなくらいのパラメーターですが、まあ許容範囲かと思います。

BIN_2_4784x3194_EXPOSURE_300_00s_FILTER_A_ABE_Preview01

これをそのまま同じBXTのパラメーターでbin2画像に適用してみます。明らかに処理しすぎでおかしなことになっています。許容範囲外です。
bi2_bad_BXT_BIN_2_4784x3194_300_00s_FILTER_A_Preview01

次に、bin2画像は解像度が半分になっていることを考慮し、PSFを7.0から3.5にします。するとbin1でPSF7.0で処理した程度になります。これをbin2画像に適用します。

bin2_good_BXT_BIN_2_4784x3194_300_00s_FILTER_A_Preview011

bin1にPSF7.0で適用したのと同じくらいの効果になりました。これでbin1とbin2に対するBXTの効果が直接比較ができるようになったと考えることができます。

このことはまあ、当たり前と言えば当たり前なのですが、BXTのPSFは解像度に応じて適時調整すべきという教訓です。もちろんオートでPSFを決めてしまってもいいのですが、オートPSFはいまいち効きが悪いのも事実で、背景の出具合を調整したい場合はマニュアルで数値を入れた方が効果がよく出たりします。


2. referenceで解像度が倍になったのと、drizzleで2倍したものの比較

referenceで解像度が倍になったのと、drizzleで2倍したものの比較をしてみました。これはほとんど違いが分かりませんでした。下の画像の左がreferenceで解像度が倍になったもの、右がdrizzleで2倍にしたものです。かなり拡大してますが、顕著な差はないように見えます。
comp1

これにBXTをかけた場合も、ほとんど違いが分かりませんでした。同じく、左がreferenceで解像度が倍になったもの、右がdrizzleで2倍にしたものです。
comp2

この結果から、わざわざbin1を撮影してフィットとかしなくても、bin2でdrizzleしてしまえば同様の分解能が得られることがわかります。


drizzleで2倍にしてBXTをかけた場合

次に、bin2で撮影したものと、bin2で撮影したものをdrizzleで2倍にした場合を比べてみます。左がbin2で撮影したもので、右がbin2をdrizzleで解像度を2倍にしたものになります。左のbin2の拡大はPhotoshopで細部を残しすようにして2倍にしましたが、やはり一部再現できてないところもあるので、もと画像を左上に残しておきました。
comp1b

それでもちょっとわかりにくいので、PCの画面に出したものをスマホで撮影しました。こちらの方がわかりやすいと思います。左がbin2で撮影したもので、右がbin2をdrizzleで2倍にしたものです。(わかりにくい場合はクリックして拡大してみてください。はっきりわかるはずです。)
658E3BF1-9F61-4E65-BAE0-340184B9DC67

ぱっと見でわかる効果が微恒星が滑らかになることです。ですが、背景に関してはそこまで目に見えた改善はなさそうに見えます。

ところが、これにBXTをかけた場合、結果は一変します。明らかに2倍drizzleの方が背景も含めて分解能が上がっているように見えます。(と書きたかったのですが、どうも画像を2倍に大きくするときにやはり補正が入ってよく見えすぎてしまい、右とあまり変わらなく見えます。ここら辺がブログでお伝えできる限界でしょうか。実際には左上の小さな画像と、右の画像を比べるのが一番よくわかります。)
comp2b

同じくわかりにくいので、これもPCの画面に出したものをスマホで撮影しました。左がbin2で撮影したもので、右がbin2をdrizzleで2倍にしたものに、それぞれBXTかけています。
27718827-C94A-4A1D-B101-0A9F619FC62F

この右のものは、最初に示したbin1画像を参照してしまって予期せずして解像度が倍になった場合の結果とほぼ等しいです。

どうやら「BXTは画像の解像度を上げてから適用すると、背景の分解能を目に見えてあげることができる」ということがわかります。解像度を上げたことで情報をストックする余裕が増えるため、BXTで処理した結果をいかんなく適用保存できると言ったところでしょうか。言い換えると、BXTが普通に出す結果はまだ表現しきれない情報が残っているのかもしれません。これが本当なら、ちょっと面白いです。


分解能が増したように見える画像を、解像度2分の1にしたらどうなるか

では、解像度増しでBXTで分解能が増したように見える画像を、再度解像度を半分にして元のように戻した場合どうなるのでしょうか?比較してみます。左が1で得た「bin2にBXTをPSF3.5で適用した画像」、右が「一旦解像度を増してBXTをかけ再度解像度を落とした画像」です。

comp2c

結果を見ると、そこまで変化ないように見えます。ということは、解像度自身でBXTが出せる分解能は制限されてしまっているということです。

ここまでのことが本当なら、BXTの能力を引き出すには、drizzleで画像自身の解像度を上げてからかけたほうがより効果的ということが言えそうです。


まとめ

以上の結果をまとめると、
  • drizzleは適用した方が少なくとも微恒星に関しては得をする。
  • BXTと合わせると背景でも明らかに得をする。
  • drizzleして分解能を上げるとBXTの効果をより引き出すことができる。

ただしこのdrizzle-BXT、拡大しないとわからないような効果なことも確かで、そもそもこんな広角の画像で無駄な分解能を出して意味があるのかというツッコミも多々あるかと思います。それでも系外銀河など小さな天体にはdrizzle-BXTは恩恵がある気がします。まあ取らぬ狸の皮算用なので、小さな天体で実際に検証してから評価するべきかと思います。

今回の効果はおそらく意図したものではないと思いますが、BXT ある意味すごいポテンシャルかと思います。ここまで明らかに効果があると思うと、過去画像もdrizzleしてもう少しいじりたくなります。

このページのトップヘ