ほしぞloveログ

天体観測始めました。

カテゴリ: 画像処理

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に挑戦するときは、暗い場所に行って撮影し、恒星がどこまで出るのか挑戦してみたいと思います。



M104の画像処理の最中に、BXTの恒星のにんしきでで気付いたことがありました。これも補足がてら書いておきます。



BXTの適用限界の一例

BXTについてはある程度一定の評価が定着したのかと思います。私もお世話になっていますし、今回のM104本体の内部構造を出すのにも大きな効果がありました。焦点距離1300mmのSCA260に対してM104は少し小さくて、拡大して細部を見ながら処理をすることも多いです。その拡大しながらの処理の最中で改めて気になったのは、BXTでどこまで微恒星を補正できるのか?ということです。

下の画像を見てください。左から順に1. BXT無し、2. BXTのCollect only、3. BXTで恒星を小さくし背景(銀河本体)の解像度の上げたたものになります。
名称未設定 1

星像を改善しているのはすぐにわかると思いますが、その中で目で見て明らかに微恒星とわかるものをいくつか取りこぼしてしまっているものがあります。次の画像は、仕上げ前にStarNet V2で恒星を分離し取り除いた画像になります。

Image07_ABE1_crop_ABE4_DBE_BXTc_SPCC_BXT_LRGB_GHS_GHS_Preview01

BXTで救いきれなかったものは(BXTとは別ソフトのStarNetでも)背景として認識されるようです。でもそれらは、人の目には微恒星側に認識できるものも明らかにあるのかと思います。

シンチレーションなどでブレてしまい星の鋭さが出ていないのが原因かと思われますが、問題はBXTで星と「認識される」か「認識されてない」かで、その切り替わりを境に本来の明るさや大きさが大きく変わり、差が出てしまうことです。以前、BXT2にバージョンアップする前にも同じようなことを書いていま。


その後BXT2にアップデートした時に、微恒星をより拾うようになっていると解説されています。

そのためかなりマシになっているはずなのですが、今のところは今回程度の認識が限界になるようです。

この程度のことは強拡大しない限りほとんど気になることはないでしょう。さらに今回の最終結果としては背景をそこまで明るくすることはないので、微恒星と思われるシミのようなものは実際には見えなくなってしまい、実用上はなんら問題はないと思います。ただ、強拡大したり、淡い背景を強炙り出しする場合は、この問題が露呈する可能性があることは、頭の隅に置いておいた方がいいのかもしれません。

もう少し突っ込みます。微恒星をできる限り拾うって、色々価値があると思うんですよ。上の背景だけの画像を見てたら、微恒星と思われるところは輝度としては明らかに盛り上がっているので、その部分だけうまく集光できないかなと思ってしまうわけです。FWHMが星の明るさによらずに一定なように、恒星の広がり具合は本来明るい星でも暗い星でも同じはずです。でも暗い星は背景のノイズに埋もれてしまうために鋭さが出ないのかと思います。この鋭さを仮想的に補助してやればいいのかと思います。手動だと銀河本体はマスクをかけて、背景の中の輝度差で微恒星部を分離して、その盛り上がり部を背景に対して増強してやることでしょうか。もしくはここからBXTのcorrect onlyでまともな星像にしてもらうとかできればいいのかもしれません。あ、でもこれだと本来の輝度から変わってしまうかもしれません。まあ何か方法はありそうなので、じっくり考えてみると面白いかもしれません。


bin1にdrizzle x2に、さらにBXT

今出せる解像度の限界は、bin1にdrizzleを2倍以上かけて、さらにBXTでしょうか?PowerMATEなどのバローでも分解能は増す可能性はありますが、ここでは考えないことにします。

どこまで細かいのが出せるのか、果たしたそれに意味があるのかを試してみました。使ったのは2023年5月に撮影した5分露光のL画像を36枚、WBPPでインテグレートしたものです。その際、drizzle無しと、drizzle x2で出力しました。bin1なのでdrizzle x2の方は解像度は16576x11288で、ファイルサイズは1枚だけで1.5GBになります。全ての処理が重く、簡単な操作さえ非常にもっさりしています。画像処理もものすごいディスク食いで、はっきり言ってこの時点でもう実用的でもなんでもありません。

このdrizzle無しとx2それぞれにBXTをかけてみました。

まずはdrizzle無し。左から順にBXT無し、BXTのCollect only、BXTで恒星を小さくし背景(銀河本体)の解像度の上げたたものになります。
comp1

次にdrizzle x2の場合。BXTに関しては上と同じです。
comp2

この結果は面白いです。drizzle x2のほうがBXTが適用されない微恒星が多いのです。理由は今のところよくわかりませんが、niwaさんのブログのこの記事がヒントになるでしょうか。どうもBXTには適用範囲というものがあり、FWHMで言うと最大8ピクセルまでだとのことです。

でも今回、そもそもdrizzle無しでもFWHMが12とか13で、すでにこの時点で大きすぎます。drizzle x2だとするとさらに2倍で、はるかに範囲外です。でも不思議なのは、FWHMが12とか13でも、たとえそのれの2倍でも、一部の恒星にはBXTが適用できているんですよね。なので少なくとも私はまだこの適用範囲の意味はよくわかっていません。

あと、niwaさんのブログの同じ記事内にあった、明るい星に寄生する星が出てくることが私も今回M104でありました。
fakestars
真ん中の明るい星の下と左上に偽の星ができてしまっています。

niwaさんはdrizzle x2だと出て、drizzle x1だと緩和されると書いてありましたが、私の場合はdrizzle x1でした。恒星を小さくすることと、ハロを小さくすることが関係しているようで、両パラメータの効きを弱くしたら目立たないくらいになりました。そのため今回の画像では恒星を小さくしきれていないため、さらに星雲本体を拡大してあるため、恒星が多少大きい印象となってしまっているかもしれません。

いずれにせよ、ここでわかった重要なことは、むやみやたらに元画像の解像度を上げてもよくならないどころか、不利になることさえあるということです。BXTの効かせすぎも寄生星を生む可能性があります。ファイルサイズのこともあるのでbin1とdrizzle x2はそもそも実用的ではないし、さらにこれにBXTを使うなんてことは今後もうないでしょう。今のところbin2でdrizzle x2にBXT、bin1にdrizzle無しでBXTくらいが実用的なのかと思います。小さい銀河みたいに拡大すること前提で分解能を求めるとかでなければ、bin2にdrizzle無しでBXTでも十分なのかと思います。

前回の記事のM104撮影に際し、少し検討したことがあるので、メモがてら書いておきます。大したことではなく、ホントに補足程度です。



恒星の飽和

今回のM104の撮影では、2023年5月と2024年4月で、機材や設定はほぼ同じで、露光時間だけ5分から1分に縮めました。5分露光では多くの星が飽和していて、1分間にしてもそこそこの数の恒星が飽和していることを前回示しました。

いい機会なので恒星の飽和について少し考えてみました。これは恒星周りを3次元でプロットしてみるとよくわかります。1分露光のL画像のストレッチ前のリニアの時のものを一部を拡大しています。

Image28_Preview05_3dplot
全角画像の左下の端にかかっている3つの明るい星。

3つ並んだ星はどれも豪快にてっぺんが平らになっていて飽和していますが、階調がどれくらい足りていないのかはこれだけだと良くわかりません。そこで、画面の中でちょうどギリギリ飽和するくらいのある星をStellariumで調べてみると12.5等級とのことでした。次に、画面の中で最も明るい星の等級を同じくStellariumで調べてみると「HD109875」で7.65等級とのことでした。12.5 - 7.65 = 4.75等級 = 87.1倍となりました。ということは、今回の画像ではまだ明るさを100分の1近くにしなければ、全ての星の飽和を無くすことができないのがわかります。ここではASI294MM Proのbin1設定で見積もっているのでダイナミックレンジは12bitと狭いですが、たとえ16bitのカメラを持ってきても4bit = 16倍稼げるだけで、100分の1という差は賄いきれません。

露光時間で考えてみます。今回は1分露光なので、同じカメラで同じgainだとすると60s / 90 = 0.67秒程度の短い露光時間にする必要があります。今回の撮影時のカメラのgainが120なので、たとえgainを0にしたとしても-12dB = 0.25倍程度です。この場合は露光時間を2.7秒程度まで伸ばせますが、それでも全く現実的でないほど短い露光時間です。これだと淡いところは読み出しノイズに埋もれてしまう可能性が高いです。

画像に写る星の明るさは、星がどれだけ鋭く写るかにも依るので、鏡筒の口径、スポットダイアグラム、シンチレーション、風や地面振動による鏡筒の揺れ具合、それらを積分する露光時間にも依ります。もちろん性能が良くなればより星像は鋭くなるので条件は厳しくなり、要求されるダイナミックレンジは大きく、露光時間はより短くなります。

より一般的には、飽和しないための露光時間は画角に写った星のうち「一番明るい星」に依ります。Stellariumで調べてみましたが、今回撮影したものと同じ画角だと10等星は撮影位置を選べば避けることができそうですが、11等星を画角の中に一つも含まないというのはかなり難しそうです。さらに対象天体は中心に持ってくることが多いので、任意の場所を選べるわけでもありません。10等星は画角内に入ってくる確率がそこそこあるとすると、計算すると6.9秒程度まで露光時間を短くしなければならなくなり、やはり現実的でなくなってきます。

ものすごいラフな見積もりですが、恒星の飽和を完全に避け、かつ淡い天体を写すというのはかなり難しいということがわかるかと思います。こうなってくると、どうしても飽和を避けたい場合は、明るい恒星のみを写す超短時間露光を別撮りして、画像処理時にHDR合成することでしょうか。

というわけで、今後も恒星の飽和はあまり気にすることをせずに、撮影を続けたいと思います。


シンチレーションについて

今回L画像は2024年の4月1日と4月10日の夜に撮影しています。1枚撮りのRAW画像を切り取って、オートストレッチしたものを両日比べてみます。高度が同じ(31度)になるように時間を選んでいます。

1: 202/4/2 00:05:
01_good_1min_2024-04-02_00-05-46_M 104_L_-10.00C_60.00s_0059

2: 202/4/11 01:25 00:05:
02_bad_1min_2024-04-11_01-25-11_M 104_L_-10.50C_60.00s_0000

パッと見で、明らかに4/2の方がシンチレーションがいいことがわかります。

3: もう一つ、2023年5月11日に5分露光で撮影したものです。露光時間が長いので微恒星まで写り込んでいて、一見こちらの方が良さそうに見えますが、星像の大きさだけをよく見比べると今年の4/2の方が小さくてよく見えます。
03_middle_5min__2023_05_11_23_35_26_LIGHT_L_10_00C_300s_G120

実際にPIのFWHMEccentrisityツール(gausiaan, 0.5)で径を測定すると
  1. 12.51px
  2. 23.22px
  3. 13.64px
となり、画像を見た印象とほぼ一致しているのかと思います。

でも、いくらbin1での撮影といえ、そもそも12.5pxでもかなり大きい気がします。SCA260のスポットダイアグラムを見てみます。

sca260_2

いくつか数字があるのでわかりにくいのですが、図はどれも一辺200μmです。右下の一番大きなスポットの長辺が30umくらいでしょうか?これに相当する数値はField 4のGEO radius 15.53umのようです。radiusで半径なので2倍して31.06umでほぼ一致しています。

ではRMS radiusとは何かというと、光の強度分布をガウシアンだと仮定すると、標準偏差σがRMS radiusと一致します。σとFWHMの関係は、計算するとFWHM = 2.36σとなるので、例えばField 1のFWHMは1.916 x 2.36 = 4.50umとなります。

今回はASI294MM Proでセンサーの長辺が19.2mm、短辺が13.1mmなので、四隅までの距離は中心からsqrt(19.2^2+13.1^2) / 2 = 11.6mmとなり、Field 1と2の真ん中くらいでしょうか。2.51umと1.92umの真ん中を取り、RMS radiusを2.25umとしましょう。FWHMは2.25 x 2.36= 5.23umです。

今回のセンサーはASI294MM Proをbin1で使っているので、1pxあたり2.31umです。

ここまでの見積もりが正しいとすると、FWHMをピクセルで表すと、SCA260の中心付近では5.23[um] / 2.31[um/px] = 2.26[px]となりかなり小さい値が見込まれます。これとシンチレーションが良かった4月2日の12.51pxと比べると、実測は5倍以上大きいことになります。スポットダイアグラムなんて全然意味がないくらいに大きな星像になっているというわけです。

では今回撮影したM104の星像が、他のよく撮れている方の画像と比べて大きすぎるかというと、そんなことはなくて、ある意味一般的な恒星の大きさと言えるかと思います。そもそも他と比べてそこまで星像が肥大するようなら、M104本体の分解能もそこまで出ないはずです。

では、何がおかしいのでしょうか?

これまでこんなことはあまり定量的に見積もってこなかったので、冷静に考えてみました。まず気づいたのは、焦点距離に関わらず高性能な鏡筒のスポットダイアグラムも中心像ってそこまで大きく変わらないことです。例えば焦点距離300mmのFRA300 Proのスポットダイアグラムの数値を見ると、RMS radiusで中心では1.961umとSCAとほとんど同じ大きさです。これだけを信じると写る恒星の大きさは同じになるはずです。じゃあ焦点距離が長い鏡筒で写した恒星がそこまで小さくなるかというと、小さい系外銀河の画像などを見てもすぐにわかりますが、現実にはそんなことはなく、一つ一つの恒星の大きさは大きくなってしまい、星の密度も全然小さくなります。スポットダイアグラムでは同じ径なのに、焦点距離が違うと、なぜ撮影した画像ではこんなに違うのかという疑問に置き換えられたということです。

ここまで考えると答えはすぐに出てきて、焦点距離が長いので、同じ大きさの素子のカメラだとするとより拡大して見ていることになり、揺れなどの影響がより効いてくるということです。

揺れを見積もってみます。PHD2の出力を見てみると、角度揺れはRMSで概ね2秒角以内には収まっているようです。焦点距離1300mmとセンサーサイズ19.2mm x 13.1mmから、このサイトで計算すると画角は0.85x0.578度とわかるので、ピクセル数(1binであることに注意して)8288x5644でそれぞれの辺で割ると、1ピクセルあたり0.36秒角とわかります。そのため、PHD2から見積もった角度揺れで5ピクセルくらいは揺れていることになるので、スポットダイアグラムから見積もった2.26ピクセルの倍くらいにはなっています。実際にはこの2倍の揺れの周りに、元のスポットダイアグラムで表されるガウス分布が散らばるとすると、周りに片側0.5倍、両側で1倍程度の広がりを持ってもおかしくはないでしょう。これで3.3倍程度で、実像の5倍までまだ少し足りませんが、ある程度の説明はできそうで、少なくとも角度揺れだけでスポットダイアグラムで期待される径は、全然出るわけがないことがわかります。

ここで、オートフォーカス時の短時間のHFRを見てみます。2023年5月11日のL画像の撮影途中で合わせた時の画像が残っていました。
キャプチャ

この時のフォーカス位置でのHFRは7を少し切るくらいです。HFRはHalf Flux Radiusの略で半径、HFD(Half Flux Diameter)と呼ばれるものもあって、こちらは直径です。FWHMはFull Widthで直径なので、HFDと比較すべきなので、HFRの2倍と比較するとしましょう。でもFWHMとHFDは定義が違っていて、FWHMは最大値の「ある一点」を元に半分の値を径とするもの、FHDは定義によると「統計的に」中心を求めていることが大きな違いです。HFDの方が実測のような崩れた星像にも強いことがわかります。でも理想的なガウシアン分布に対してはいずれも2.36σになることがわかっているので、ここでは簡単のため同じものとして扱います。

2023年5月11日のL画像の撮影ではほぼFWHM =~ 2倍の HFR = 14を切るくらいになるので、測定自身はFWHMもHFRも、共にうまくできているようです。でもここでAF時のグラフを見てみると、フォーカスポイントの真ん中あたりにおいては、フィッティング曲線が実測値よりもかなり下に来ていることがわかります。そうです、なんらかの理由で径が一定値以下に下がることはないということを示しているのです。

この「なんらかの理由」が何なのかは、今のところ不明です。鏡筒の光学性能そのものの可能性もありますし、シーイングの可能性もありますし、シーイングや筒内対流を含むシンチレーションの可能性もありますし、地面の揺れ、風の影響などもあるかと思います。でも確実に2つのことが言えます。まず一つは、日によってFWHMが違っているので、シンチレーションに制限されている可能性が高いということ。もう一つは、短時間測定のHFRでもほぼ同様の結果なので、長時間積分の影響やガイドの影響はほとんど効いていないことです。

いずれにせよ、AF測定でここまではっきり制限が見えているので、逆に言い換えると、ここを見ながら底がフィッティング曲線に近づくような改善を目指していけばいいことになります。

ちなみに、ε130DのAF時の結果が以下になります。実測とフィッティング曲線がほとんど一致しています。でもこれは必ずしもε130Dの性能がいいというわけではなくて、単純に焦点距離が短いから、シンチレーションなどの揺れが効きにくいというだけだと思われます。
AF_good

SCA260でもこれくらい一致が見られるようなら、もっと星像は改善するはずです。日によって変わるシンチレーションや風の影響が小さい日を選んで撮影すること、赤道儀に弱いところがないか見直す、赤道儀をさらに強固なものにするなどでしょうか。性能のいいレデューサやバローを使って焦点距離を変えることで、鏡筒の性能か周りの環境かを切り分けることができるかもしれません。


まとめ

M104の撮影で気づいたことをまとめました。細かいことでしたが、自分的にはこれまであまり考えてこなかったことなので、面白かったです。

実は入院中で結構時間はあって、多少細かいことまで考える余裕がありました。このようにじっくり考えるのは結構楽しいのですが、実際にはなかなか時間が取れてこれませんでした。今後も焦って進めるのではなく、少し余裕を持って考える時間を確保するのが大事かなと今回改めて思いました。


黒天リフさんがX上でバイアス補正について迷っている投稿がありました。


詳しいことはリンク先を読んでもらうとして、ここで上がっている疑問は大きく2つに収束して、
  1. 元々暗いダークファイルからマスターバイアスを引く際に、引きすぎになって0以下の値になり、真っ暗なピクセルが多数出てくるのではないか?
  2. ダークファイルにバイアスが含まれているなら、ライトファイルをダーク補正するだけで良さそうだが、本当にそれでいのか?それではいったいバイアス補正とはなんなのか?
というものかと思います。フラットおよび、フラットダークについては今回の範疇でないので、ここでは考えないことにします。

今回の記事は、これら2つの疑問が動機です。ちょうど今やっているノイズ解析でバイアスを考えるいい機会となりました。前回の記事のダーク補正をもう少し発展させ、バイアス補正を通して、ライトファイルを補正する場合まで考えます。



バイアス補正とは

ここではバイアスファイルとは、センサーに光が入らないようにして、露光時間を設定できる最小の値にして撮影した画像のこととします。ある意味実現しうる最小の輝度値を記録したファイルとなります。

ただし、実際のバイアスファイルの「輝度値」は注意が必要です。なぜなら、撮影時にSharpCapなどのアプリ側で設定できるオフセットを含んだ輝度値になるので、下駄をはかされた状態で記録されます。例えばASI294MM Proなら、設定したオフセットの値の16倍の値がADCの値となって輝度としてカウントされます。私はSharpCapでもNINAでも、大抵オフセット値を40として撮影いるので、撮影画像には60x16=640の値がオフセットとして記録されています。

「バイアス」の元の意味では、この定数のオフセットの意味が強いですね。

バイアスファイルの輝度値にも当然ばらつきがあります。このばらつきは「読み出しノイズ」と一致すると考えて差し支えないでしょう。極端に短い露光時間で撮影するためにセンサーからの信号は何も出てこないので、読み出し回路などから来る「読み出しノイズ」が支配的になります。また、極端に短い露光時間で撮影するということで、(時間に比例するダークカレント起因の)ダークノイズは無視できます。

バイアス補正によくある誤解で「バイアス補正はオフセットのみを引く」と捉えられがちですが、これはノイズのことを何も考えていないので、十分ではありません。オフセットに加えて、ノイズというばらつきを引く(実際には2乗和で足されるのですが)ことになるので、ばらつきの幅によっては補正した後の値が0以下になる可能性があります。特に極端に暗いファイルを補正する場合、例えばダークフレームからバイアスを引いた場合などです。最初の疑問そのものですね。

バイアスファイルを重ねてマスターバイアスを作ると、そこに含まれる「読み出しノイズ」も小さくなります。ばらつきの幅が小さくなるというイメージです。それでもマスターバイアスファイルにはばらつきが残っています。マスターバイアスに含まれる読み出しノイズはランダムで無相関なので、当然のことながら、バイアス補正をする際にはその読み出しノイズを「増やして」しまいます。一方オフセットは実際に引かれるので、平均輝度は下がります。元々暗いファイルなら、平均輝度は0付近になってしまうでしょう。そこにノイズが増えることになるので、補正後に輝度を0以下にする可能性が残ります。

注意: 今ここで、ノイズが増えるなら0以下にならないのではと思った方いませんか?もしそう思われたかがいるなら、まだノイズのイメージが正しくないです。ノイズが増えるということは、ばらつきが増えるということなので、平均輝度からのズレがより大きくなり、0以下になるピクセルが出てくる可能性がより多くなります。ヒストグラムで表すと、山の幅が大きくなるイメージです。

ちなみに、バイアスファイルの撮影は短時間で済むので、ライトファイルに比べて十分多数枚を容易に撮影することができ、読み出しノイズの増加をほとんど影響がない範囲に抑えることができるでしょう。例えば私の場合、バイアスファイルは512枚とか、1024枚撮影します。ライトファイルに比べてバイアスフレームの枚数が例えば10倍ならば、補正による読み出しノイズの増加は2乗和のルートで効くので、\(\sqrt{1^2+0.1^2} = \sqrt{1.01} \sim 1.005\)倍とほとんど無視できます。3倍の枚数のバイアスファイルでも\(\sqrt{1^2+(1/3)^2} = \sqrt{1.11} \sim 1.05\)倍と、これでも十分無視できます。ライトファイルと同枚数のバイアスファイルだと読み出しノイズは1.41倍となるので、無視できなくなってきます。

でもバイアス補正で読み出しノイズを増やしてしまうのならば、そもそもバイアスファイルを引くことのメリットってなんなのでしょうか?単純には、もし複数枚のバイアスファイルに(ホットピクセルやアンプグローのような固定ノイズ的な)コヒーレントな成分があるならば、それをさっ引くことができるのですが、そもそも本当にコヒーレントな成分なんてあるのでしょうか?

バイアスファイルはよく横縞や縦縞になって見えますが、これらがコヒーレントで決まったパターンになるならば、バイアス補正は有効です。逆にこれらの縞がランダムでどこに現れるかわからないならば、そもそもバイアス補正の意味なんて無くなってしまいます。

さらに、撮影時にディザーを適用すれば、恒星による位置合わせでバイアスのコヒーレントの部分は散らされる可能性もあります。それでも事前に取り除いて、パターンを小さくしておいた方が有利という考えでバイアス補正をしているのかと思われます。今回は試しませんが、いずれバイアスファイルにコヒーレント成分があるかどうかはきちんと検証してみたいと思います。


マスターバイアスファイル

まずは1枚のバイアスファイルを考えてみます。

1枚のバイアスファイルを

Bias:
\[B+\sigma_\text{B}\]
のように表すことができるとします。\(B\)は輝度の平均値、\(\sigma_\text{B}\)は輝度のStandard deviationで読み出しノイズそのものです。

\(N_\text{b}\)枚のバイアスファイルでスタックして、同枚数で割ったマスターバイアスのランダムノイズは、枚数のルート分の1になります。輝度の平均値は足し合わせたバイアスファイルを同じ枚数で割るので、同じ\(B\)のままです。マスターバイアスは以下のように書けます。平均輝度は同じですが、ばらつきは\(\sqrt{N_\text{b}}\)分の1に小さくなっています。

Master bias:
\[B + \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}}\]


バイアスファイルをマスターバイアスファイルで補正してみる

ここで、各バイアスファイルからマスターバイアスを引くこと考えてみるのは面白いでしょう。今後の見通しがよくなるはずです。

Bias - Master bias:
\[\sqrt{\sigma_\text{B}^2+\frac{\sigma_\text{B}^2}{N_\text{b}}} = \sqrt{1+\frac{1}{N_\text{b}}} \sigma_\text{B} \]
で\(N_\text{b}\)が多数の枚数だとすると、元々1だったノイズが\( \sqrt{1+1/N_\text{b}} \)とごく僅か増えて、平均輝度値の\(B\)は消えてしまいます。

これを2枚スタックする場合、バイアスフレームの中の読み出しノイズは無相関ですが、マスターバイアスに含まれる読み出しノイズは正の相関を持つので、
\[ \sqrt{ \left( \sqrt{\sigma_\text{B}^2 + \sigma_\text{B}^2} \right)^2 +\left(\frac{\sigma_\text{B}}{\sqrt{N_\text{b}}} + \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}}\right)^2} = \sqrt{2 + \frac{2^2}{N_\text{b}}} \sigma_\text{B}  \]
となります。前回の記事の、ダーク補正したライトフレームをスタックするときと同じ考え方ですね。大外のルートの中の、1項目が無相関で2乗和のルートで足し合わさるノイズ。2項目が正の相関を持ってそのまま足し合わさるノイズ。それぞれがさらに2乗和となり大外でルートになるというわけです。

3枚スタックしたら、
\[ \sqrt{ \left( \sqrt{\sigma_\text{B}^2 + \sigma_\text{B}^2 + \sigma_\text{B}^2} \right)^2 +\left(\frac{\sigma_\text{B}}{\sqrt{N_\text{b}}} + \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}} + \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}} \right)^2} = \sqrt{3 + \frac{3^2}{N_\text{b}}} \sigma_\text{B}  \]
となります。同じようにして、\( N_\text{a} \)枚スタックしたら
\[ \sqrt{N_\text{a} + \frac{N_\text{a}^2}{N_\text{b}}} \sigma_\text{B}  \]
となります。ここまでは足し合わせを考えていただけなので、輝度をスタックする前の画像に合わせるように\( N_\text{a} \)枚で規格化すると、
\[ \frac{\sqrt{N_\text{a} + \frac{N_\text{a}^2}{N_\text{b}}}\sigma_\text{B}  }{N_\text{a}} =  \sqrt{\frac{1}{N_\text{a}} + \frac{1}{N_\text{b}}} \sigma_\text{B} \]
となります。
 
ここまでわかったので、例えば具体例として\(N_\text{a} = N_\text{b}\)として、マスターバイアスを作った時と同じ枚数の\( N_\text{b} \)枚スタックしたら
\[ \sqrt{N_\text{b} + \frac{N_\text{b}^2}{N_\text{b}}} \sigma_\text{B} =  \sqrt{N_\text{b} + N_\text{b}} \sigma_\text{B} = \sqrt{2 N_\text{b}} \sigma_\text{B} \]
となることがわかり、読み出しノイズは\( \sqrt{2 N_\text{b}} \)倍になります。これも輝度をスタックする前の画像に合わせるように\( N_\text{b} \)枚で規格化すると、 
\[ \frac{\sqrt{2 N_\text{b}}}{N_\text{b}} \sigma_\text{B} = \sqrt{\frac{2}{N_\text{b}}} \sigma_\text{B} \]
となり、読み出しノイズの貢献度は\( \sqrt{2/N_\text{b}} \)倍、すなわち\( \sqrt{N_\text{b}} \)分の1の2回分となることがわかり、直感的かと思います。


0以下の値の存在

さてここで、最初の疑問の1について少し考えてみましょう。1枚の バイアスファイルをマスターバイアスで補正した段階で、すでに輝度の平均値は0になっています。そこに正負に広がりのあるノイズが存在するので、当然0以下の値が存在してしまうことになります。ファイルのフォーマットとしては0以下の値はとることができないので、丸め込んで0となってしまいます。これはまずいです。そのため、通常は計算過程で適当なオフセットを加えて、値を0以上に保ったまま補正などすることが必要となってきます。ここではバイアス補正を見ていますが、ダーク補正の際にもマスターダークファイルの輝度の平均値でさっ引くので、暗いライトファイルを補正する時には同じように輝度が0以下になる可能性が十分にあります。

例えばPixInsightのWBPPでは明示的にPedestal(下駄)という値を設定することができて、ここを適した値に設定することで負の値にならないように0以上にしているため、おかしな結果にはならないです。具体例は以前検証したページをご覧ください。ただし、全ての計算過程で0以上が保たれて以下どうかは不明です。ここも検証ポイントなので、いつか検証したいと思います。

いずれにせよ、補正の際に何も手当をしなければ0以下の値になることは明白で、そもそもバイアスファイルを撮影する際に適したオフセットを設定すること、ダークファイルや極端に暗いライトフファイルを、バイアス補正やダーク補正する際には適当なペデスタルを加算して処理することが必須でしょう。これが最初の疑問1の答えになるかと思います。


バイアス補正は意味があるのか?

ここまではバイアスファイルを補正した話でしたが、次は実際の画像処理に相当するライトファイルの補正を考えてみましょう。

1枚のライトファイルを撮影すると、自動的にバイアス相当とダーク(バイアスを除いたもの)相当が含まれていると考えることができます。そのためライトファイルは
\[L + D + B + \sqrt{\sigma_\text{L}^2+ \sigma_\text{D}^2 +\sigma_\text{B}^2} \]
のように書くことができるとします。ここで、\( L \)、\( D \)、\( B \)はそれぞれ1枚のライト単体、ダーク単体、バイアス単体の平均輝度、\( \sigma_\text{L} \) はスカイノイズを含む、輝度のばらつきからくるショットノイズ、\( \sigma_\text{D} \)はダークノイズ、\( \sigma_\text{B} \)は読み出しノイズとします。各ノイズは無相関と考えられるので、これらは2乗和のルートの貢献となります。

ここで2つのバイアス処理を考えます。黒天リフさんの疑問の2に相当しますが、比較すべきものは
  1. ライトとダークからそれぞれマスターバイアスを引いて、できたライトからマスターダークを引く。
  2. ライトから(バイアスを引いていない)マスターダークを引く -> バイアスはダークに含まれているので、ダーク補正のみでバイアス補正も自動的にされる。
になります。例えば旧来のPixInsightでは1の方法が主にとられていて、バイアスファイルは必須とされてきました。他の画像処理も1を推奨しているのかと思われます。いつの頃からでしょうか、最近のPixInsightではあからさまに1はダメだと言い、2を推奨しています。なぜ2が明らかにいいというのか、ここではそれを検証してみたいと思います。

1と2の共通項目として、個々のバイアスファイルとマスターバイアスは以下のように表されるとします。

Bias:
\[B+\sigma_\text{B}\]

Master bias:
\[B + \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}}\]
\(N_\text{b}\)はバイアスフレームの枚数です。


1のダークファイルのバイアス補正

1. 旧来の方法です。まず、1枚のダークライフからマスターバイアスを引く事を考えます。前回の記事と違い、ダークライフの平均輝度と、ダークノイズをあらわに考えていることに注意です。マスターバイアスの平均輝度分だけライトファイルの平均輝度が下がり、マスターバイアスに含まれる(スタックされ多分の小さな)読み出しノイズが増えます。1枚のダークファイルは以下のように表すことができます。

Dark:
\[(D + B) + \sqrt{\sigma_\text{D}^2 +\sigma_\text{B}^2} \]
これを、マスターバイアス

Master bias:
\[B + \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}}\]
で補正します。

ダークノイズも、ダークファイル中に含まれるバイアスノイズも、マスターバイアスに含まれるノイズも、全て無相関として2乗和のルートになり、

Dark - Master bias:
\[D+\sqrt{ \sigma_\text{D}^2+\sigma_\text{B}^2 + \left( \frac{\sigma_\text{B}}{ \sqrt{N_\text{b}} } \right) ^2 } = D+ \sqrt{\sigma_\text{D}^2+\sigma_\text{B}^2 + \frac{\sigma_\text{B}^2}{N_\text{b}} }\]
となります。

ここからスタックしていきます。まずバイアス補正したダークファイルを2枚足し合わせて、明るさを合わせるために2で割ると、マスターバイアス起因のノイズは正の相関を持つことに注意して、
\[ D+ \left( \sqrt{ \left( \sqrt{2 \sigma_\text{D}^2 + 2 \sigma_\text{B}^2} \right)^2 + \left( 2 \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}} \right)^2 } \right)/2 \] \[ \begin{eqnarray} &=& D+ \left(\sqrt{ \left(2 \sigma_\text{D}^2 + 2 \sigma_\text{B}^2 \right) + 2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} } \right) /2\\  &=& D+ \left(\sqrt{ \left(\sigma_\text{D}^2 + \sigma_\text{B}^2 \right) + 2 \frac{\sigma_\text{B}^2}{N_\text{b}} } \right) /\sqrt{2} \end{eqnarray}\]

3枚足し合わせて、明るさを合わせるために3で割ると、
\[ D+ \left( \sqrt{ \left( \sqrt{3 \sigma_\text{D}^2 + 3 \sigma_\text{B}^2} \right)^2 + \left( 3 \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}} \right)^2 } \right)/3 \] \[ \begin{eqnarray} &=& D+ \left(\sqrt{ \left(3\sigma_\text{D}^2 + 3 \sigma_\text{B}^2 \right) + 3^2 \frac{\sigma_\text{B}^2}{N_\text{b}} } \right) /3\\  &=& D+ \left(\sqrt{ \left(\sigma_\text{D}^2 + \sigma_\text{B}^2 \right) + 3 \frac{\sigma_\text{B}^2}{N_\text{b}} } \right) /\sqrt{3} \end{eqnarray}\]


\( N_\text{d} \)枚足し合わせて、明るさを合わせるために\( N_\text{d} \)で割ると、
\[ D+ \left(\sqrt{ (\left(\sigma_\text{D}^2 + \sigma_\text{B}^2 \right) + N_\text{d} \frac{\sigma_\text{B}^2}{N_\text{b}} } \right) /\sqrt{N_\text{d}} = D+ \sqrt{ \frac{\sigma_\text{D}^2}{N_\text{d}} + \frac{\sigma_\text{B}^2}{N_\text{d}} + \frac{\sigma_\text{B}^2}{N_\text{b}} } \]
となります。3項目が\(N_\text{d}\)ではなく\(N_\text{b}\)で割られていることに注意です。

ここで、例えば\(N_\text{d} = N_\text{b}\)としてバイアスとダークのスタック枚数を合わせてやると簡単になって、
\[ D+ \sqrt{ \frac{\sigma_\text{D}^2}{N_\text{b}} + \frac{\sigma_\text{B}^2}{N_\text{b}} + \frac{\sigma_\text{B}^2}{N_\text{b}} } = D+ \sqrt{ \frac{\sigma_\text{D}^2}{N_\text{b}} + 2 \frac{\sigma_\text{B}^2}{N_\text{b}} } \]

となり、ダークノイズの2乗と「2倍」のバイアスノイズの2乗の和のルートが、スタック枚数分のルートで小さくなったことわかり、直感的にもわかりやすくなるかと思います。ここで、2倍のバイアスノイズが貢献することは重要です。ダークファイルをバイアス補正した段階で、バイアスノイズが増えてしまっています。

結局、マスターダークはダークのスタック枚数\(N_\text{d}\)とバイアスのスタック枚数\(N_\text{b}\)を用いて

Master dark:
\[D+ \sqrt{ \frac{\sigma_\text{D}^2}{N_\text{d}} + \frac{\sigma_\text{B}^2}{N_\text{d}} + \frac{\sigma_\text{B}^2}{N_\text{b}} } \]
のように書けることがわかりました。


1のライトファイルのバイアス補正

次に1枚のライトファイルからマスターバイアスを引く事を考えます。マスターバイアスの平均輝度分だけライトファイルの平均輝度が下がり、マスターバイアスに含まれる(スタックされた分の小さな)読み出しノイズが増えます。上と同様の計算をして

Light - Master dark:
\[L+ D+ \sqrt{\sigma_\text{L}^2+\sigma_\text{D}^2+\sigma_\text{B}^2 + \frac{\sigma_\text{B}^2}{N_\text{b}} }\]
となります。


1のバイアス補正したライトファイルを、バイアス補正したダークファイルで補正する

次に、ここからバイアス補正済みのダークを引きます。ここでダークの平均輝度Dは無くなります。

(Light - Master bias) - bias compensated Master Dark:
\[ L+\sqrt{ \left( \sqrt{ \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 + \frac{\sigma_\text{D}^2}{ N_\text{d}} + \frac{\sigma_\text{B}^2}{ N_\text{b}} }\right)^2 + \left( 2 \frac{\sigma_\text{B}}{ \sqrt{N_\text{b}} } \right) ^2 }\]
\[= L+\sqrt{ \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 + \frac{\sigma_\text{D}^2}{ N_\text{d}} + \frac{\sigma_\text{B}^2}{ N_\text{b}} + 2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} }\]

これを2枚スタックして2で割ると
\[ L+\left( \sqrt{ \left( \sqrt{ 2 \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right) } \right) ^2  + \left( 2 \frac{\sigma_\text{D}}{ \sqrt{N_\text{d}}} \right)^2 + \left( 2 \frac{\sigma_\text{B}}{ \sqrt{N_\text{b}}} \right)^2 + \left( 2 \left( 2 \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}} \right) \right)^2} \right) /2 \]
\[ = L+\left( \sqrt{ 2 \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + 2^2 \frac{\sigma_\text{D}^2}{ N_\text{d}} + 2^2 \frac{\sigma_\text{B}^2}{ N_\text{b}} + 2^2 \left( 2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} \right)} \right) /2 \]
\[ = L+\left( \sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + 2\frac{\sigma_\text{D}^2}{ N_\text{d}} + 2 \frac{\sigma_\text{B}^2}{ N_\text{b}} + 2 \left( 2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} \right)} \right) /\sqrt{2} \]

3枚スタックして3で割ると
\[ L+\left( \sqrt{ \left( \sqrt{ 3 \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right) } \right) ^2  + \left( 3 \frac{\sigma_\text{D}}{ \sqrt{N_\text{d}}} \right)^2 + \left( 3 \frac{\sigma_\text{B}}{ \sqrt{N_\text{b}}} \right)^2 + \left( 3 \left( 2 \frac{\sigma_\text{B}}{\sqrt{N_\text{b}}} \right) \right)^2} \right) /3 \]
\[ = L+\left( \sqrt{ 3 \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + 3^2 \frac{\sigma_\text{D}^2}{ N_\text{d}} + 3^2 \frac{\sigma_\text{B}^2}{ N_\text{b}} + 3^2 \left( 2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} \right)} \right) /3 \]
\[ = L+\left( \sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + 3\frac{\sigma_\text{D}^2}{ N_\text{d}} + 3 \frac{\sigma_\text{B}^2}{ N_\text{b}} + 3 \left( 2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} \right)} \right) /\sqrt{3} \]

\(N_\text{l}\)枚スタックして同数枚で割るとマスターライトとなり、

Master light:
\[ L+\left( \sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + N_\text{l} \frac{\sigma_\text{D}^2}{ N_\text{d}} + N_\text{l} \frac{\sigma_\text{B}^2}{ N_\text{b}} + N_\text{l} \left( 2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} \right)} \right) /\sqrt{N_\text{l}} \]
となります。

2項目分母の\(\sqrt{N_\text{l}}\)を分子のルートの中に入れたほうがわかりやすいでしょうか、

\[ L+\sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right) /N_\text{l}  + \frac{\sigma_\text{D}^2}{ N_\text{d}} + \frac{\sigma_\text{B}^2}{ N_\text{b}} + 2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} } \]

簡単のため、\(N_\text{l}=N_\text{d}=N_\text{b}\)としてライトとバイアスとダークのスタック枚数を合わせてやると少し見やすくなって

\[ L+\sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right) /N_\text{l}  + \frac{\sigma_\text{D}^2}{ N_\text{l}} + \frac{\sigma_\text{B}^2}{ N_\text{l}} + 2^2 \frac{\sigma_\text{B}^2}{N_\text{l}} } \] \[ \begin{eqnarray} &=& L+\sqrt{ \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 + \sigma_\text{D}^2 + \sigma_\text{B}^2 + 2^2 \sigma_\text{B}^2  \right) /N_\text{l} }\\ &=& L+\sqrt{ \left( \sigma_\text{L}^2 + 2 \sigma_\text{D}^2 + 6 \sigma_\text{B}^2 \right) /N_\text{l} }\end{eqnarray} \]

となります。6倍の\(\sigma_\text{B}\)と2倍の\(\sigma_\text{D}\)の貢献あることがわかります。6倍の\(\sigma_\text{B}\)はマスターダークを作る際のバイアス補正で2倍、マスターライトを作る際のバイアス補正で2倍、ダークにもとからあるバイアスノイズが1倍、ライトに元からあるバイアスノイズが1倍で、計6倍となるわけです。\(\sigma_\text{D}\)はマスターライトを作る際の、ダークに元からあるものとライトに元からあるもので、2倍となります。


2の最近の手法の場合

こちらは1の計算に比べ、ずいぶんシンプルになります。ダークはバイアスを含んだままなので、マスターダークは、ダークとバイアスの輝度とダークノイズとバイアスノイズがダークの枚数のルート分小さくなった項が加わり、

Master Dark:
\[ D+B+ \sqrt{ \frac{\sigma_\text{D}^2}{N_\text{d}} + \frac{\sigma_\text{B}^2}{N_\text{d}} }\]
となり、これを1枚のライト
\[L + D + B + \sqrt{\sigma_\text{L}^2+ \sigma_\text{D}^2 +\sigma_\text{B}^2} \]
から引くと

Light - Master dark:
\[ L+ \sqrt{\sigma_\text{L}^2+\sigma_\text{D}^2+\sigma_\text{B}^2 + \frac{\sigma_\text{D}^2}{N_\text{d}} + \frac{\sigma_\text{B}^2}{N_\text{d}}}\]
となります。これを2枚スタックして、2枚で割ると
\[ L+\left( \sqrt{ \left( \sqrt{ 2 \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right) } \right) ^2  + \left( 2 \frac{\sigma_\text{D}}{ \sqrt{N_\text{d}}} \right)^2 + \left( 2 \frac{\sigma_\text{B}}{ \sqrt{N_\text{d}}} \right)^2} \right) /2 \]
\[ = L+\left( \sqrt{ 2 \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + 2^2 \frac{\sigma_\text{D}^2}{ N_\text{d}} + 2^2 \frac{\sigma_\text{B}^2}{ N_\text{d}}} \right) /2 \]
\[ = L+\left( \sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + 2\frac{\sigma_\text{D}^2}{ N_\text{d}} + 2 \frac{\sigma_\text{B}^2}{ N_\text{d}}} \right) /\sqrt{2} \]

3枚の場合
\[ L+\left( \sqrt{ \left( \sqrt{ 3 \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right) } \right) ^2  + \left( 3 \frac{\sigma_\text{D}}{ \sqrt{N_\text{d}}} \right)^2 + \left( 3 \frac{\sigma_\text{B}}{ \sqrt{N_\text{d}}} \right)^2} \right) /3 \]
\[ = L+\left( \sqrt{ 3 \left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + 3^2 \frac{\sigma_\text{D}^2}{ N_\text{d}} + 3^2 \frac{\sigma_\text{B}^2}{ N_\text{d}}} \right) /3 \]
\[ = L+\left( \sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + 3 \frac{\sigma_\text{D}^2}{ N_\text{d}} + 3 \frac{\sigma_\text{B}^2}{ N_\text{d}}} \right) /\sqrt{3} \]

\(N_\text{l}\)枚の場合

Master light:
\[L+\left( \sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right)  + N_\text{l} \frac{\sigma_\text{D}^2}{ N_\text{d}} + N_\text{l} \frac{\sigma_\text{B}^2}{ N_\text{d}}} \right) /\sqrt{N_\text{l}} \]
\[=L+\left( \sqrt{\left( \sigma_\text{L}^2 + \sigma_\text{D}^2+\sigma_\text{B}^2 \right) /N_\text{l} + \frac{\sigma_\text{D}^2}{ N_\text{d}} + \frac{\sigma_\text{B}^2}{ N_\text{d}}} \right) \]
となります。

やっと全ての計算が終わりました。最後の式は直接1の結果と比較することができます。


何が違うのか?

ここで振り返って、1と2の違いを比べてみましょう。

バイアス補正を個別にした1の方式ではルートの中に
\[2^2 \frac{\sigma_\text{B}^2}{N_\text{b}} = 4 \frac{\sigma_\text{B}^2}{N_\text{b}}\]
が余分に加わっています。バイアス補正の回数が1の方が2回多いので、最初にルート2倍、次にルート2倍でルート4倍損をしてしまっているというわけです。

ここで、黒天リフさんの疑問への回答をあらわに書くとすると、
  1. 個別のバイアス補正をすると、4つ分の読み出しノイズ\(\sigma_\text{B}/\sqrt{N_\text{b}}\) のだけの「余分な」ノイズが加わる。バイアス補正なしのライトフレームとダークフレームで補正した方が、バイアス補正の回数が少ないため、明らかに得をすることがわかる。
  2. それに加え、ダークファイルにバイアス補正を加える際に、元々暗い可能性があるダークファイルなので、補正によって輝度の値が0以下になる可能性がある。
以上の2つの理由から、単体のバイアス補正は原理的に不利で、ダークフレームに含まれるバイアスで自動的にライトフレームを補正する方が得するという結論です。

PixInsightでは以前は単体のバイアス補正が必須に近かったのですが、現在はDark frameに含まれるバイアスを考慮し、Dark補正のみで処理をするのが標準となっていますが、その根拠も今回の計算ではっきりしたことになります。

また、ライトフレームの補正まで考えているのでかなり実用的になり、今後の計算に具体的に使えそうです。ただし、フラットに関しては十分明るいと考えたので、無視できるとしています。

かなり長い記事と長い計算になってしまいましたが、そうはいってもこれも他のノイズとの比較で決定すべきで、例えば明るい空の撮影でスカイノイズが大きいなら、読み出しノイズの補正などはしてもしなくても誤差の範囲となるはずです。


まとめと、今後したいこと

今回のバイアス補正の計算はかなり大変でした。計算ミスが繰り返しみつかって、何度記事を書き直したことか。前回のダーク補正はまだまだ布石で、今回の計算でやっと、スタックを含めたノイズ評価ができるようになったのかと思います。式もTeX化したので、見やすくなったかと思います。前回の記事も余裕があったらTeX化しておきます。

今回の計算でやっとスタックを含めていろいろ計算できる準備ができたと言っていいので、今後スタック済みの画像のノイズと信号を、色々パラメータをいじることで、どんな状況が有利になるのかなど、具体的に考えていきたいと思います。

それとは別に、前回と今回の考察から、いくつか検証したいことが出てきました。そもそもバイアス補正というものが本当に意味があるかということです。ダーク補正はいずれにせよするので、バイアス補正必ずはされるのですが、バイアスにコヒーレント成分がなければ、補正そのものが意味がない気がします。なので、以下のようなことで検証したいと思っています。
  1. 100枚のバイアスファイルで作ったマスターバイアスを複数作る。複数のマスターバイアスで、模様が一緒になるかを見る。
  2. 下駄を履かせるか、履かせないかで差が出るかを見てみる。具体的にはバイアスファイルをマスターバイアスファイルで補正する過程を細かく見てみる。
などです。











ここしばらくは別の記事でしたが、再び実画像のノイズ解析です。前回の記事はこちらになります。


ここまでで、画像1枚の中にある各ノイズの貢献度が定量的にわかるようになりました。


また天体部分の信号にあたる大きさも定量的に評価でき、S/Nが評価できるようになりました。


S/Nは1枚画像では評価しきれなかったので、スタック画像で評価しましたが、あくまで簡易的な評価にすぎません。簡易的という意味は、ダーク補正はフラット補正でノイズの貢献度がどうなるかをまだ評価できていないということです。

今回の記事では、ダーク補正やフラット補正で画像の中にあるノイズがどうなるかを評価し、他数枚をインテグレートしたときに信号やノイズがどうなるのかを議論してみたいと思います。


スタック(インテグレーション)

そもそも、天体写真の画像処理で言うスタック(PixInsightではインテグレーションですね)とはどういったことなのでしょうか?

基本的には以下のように、重ね合わせる枚数に応じて、信号SとノイズNで、それぞれ個別に考えることができます。
  1. 画像の天体などの「信号部分」Sに関しては、多数枚の画像同士で相関がある(コヒーレントである)ので、そのまま足し合わされるために、信号Sは枚数に比例して増えます。
  2. 画像の天体以外の「ノイズ部分」Nに関しては多数枚の画像同士で相関がない(インコヒーレントである、コヒーレンスが無い)ので、統計的には2乗和のルートで重なっていきます。例えば5枚のノイズNがあるなら、sqrt(N^2 + N^2 + N^2 + N^2 + N^2) = sqrt(5) x Nとなるので、√5倍となるわけです。
そのSとNの比(S/N、SN比、SNR (Signal to Noise ratio))を取ることで、スタックされた画像がどれくらいの質かを評価することができます。S/N等は技術用語ですが、ある特殊分野の技術単語というわけではなく、かなり一般的な単語と言っていいかと思います。

n枚の画像をスタックすると、1の信号Sのn倍と、2のノイズNの√n倍の比を取ると、
  • S/N = n/sqrt(n) = sqrt(n)
と√n倍改善されるということです。

よくある誤解で、スタックすることでノイズが小さくなるという記述を見かけることがあります。ですが上の議論からもわかるように、ノイズが小さくなっているわけではなく、実際には大きくなっています。ノイズの増加以上に信号が増えるのでS/Nがよくなるということです。また、スタックするという言葉の中には、足し合わせた輝度をスタックした枚数で割るという意味も含まれていることが多いです。S/Nが良くなった画像をスタックした枚数で割ることで1枚画像と同じ輝度にした結果、1枚画像と比較してノイズが小さい画像が得られたということです。

もちろん、こういったことをきちんと理解して「スタックすることでノイズが小さくなる」と略して言うことは全く構わないと思います。ただ、定性的にでもいいので、どういった過程でスタックが効いてくるのかは、理解していた方が得することが多いと思います。


ダーク補正

天体写真の画像処理でも一般的な「ダーク補正」。一番の目的はホットピクセルやアンプグローなど固定ノイズの除去です。ホットピクセルは、センサーがある温度の時に撮影すると、いつも決まった位置に飽和状態に近い輝度のピクセルが現れることです。ホットピクセルの数は温度とともに多くなると思われます。アンプグローはセンサーの回路の配置に依存するようです。これが温度とどう関係があるかはほとんど記述がなく、よくわかっていません。ホットピクセルやアンプグローなどは、どのような過程、どのような頻度で出るのかなど、カメラに依存するところも多くあり、私自身あまりよくわかっていないので、今回は詳しくは扱いません。いつか温度とホットピクセルの関係は実測してみたいと思います。

ダーク補正でダークノイズは「増える」:
これまたよくある誤解が、ダーク補正をするとダークノイズが小さくなると思われていることです。ここで言うダークノイズとは、ダークカレント(暗電流)がばらつくことが起因で出てくるノイズのことです。ダークカレントとは、センサーに蓋をするなどしていくら真っ暗にしても出てくる一定の電流からの信号のことで、センサーの温度によって単位時間あたりの大きさが決まります。この信号のバラツキがダークノイズとなります。最近はメーカのカメラのところにデータが掲載されているので、そこからダークカレントを読み取ることができ、これまでもその値からダークノイズを計算し、実測のダークノイズと比較して正しいかどうか検証してきました。

何が言いたいかというと、ダーク補正をするとホットピクセルは除去できるが、ダーク補正ではどうやってもダークフレームが持っているダークノイズ(ホットピクセルでないラインダムなノイズの方)は消すことができなくてむしろ必ず増えるということです。

さらにいうと、個々のダークファイルには当然読み出しノイズ(Read noise)も含まれているので、ダーク補正時に読み出しノイズも増やしてしまうことにも注意です。読み出しノイズの増加については、次回以降「バイアスノイズ」という記事で、独立して説明します。

コヒーレンス(相関)があるかないか:
ホットピクセルは、個々のダークファイルに全て(ほぼ)同じ位置、(ほぼ)同じ明るさで出てくる、輝度が飽和しかけているピクセルのことです。アンプグローもカメラが決まれば同じ位置が光ます。どのファイルにも同じように明るく出てくるので、ばらつき具合は(中間輝度を基準とすると)全て正の方向で、互いに正の相関があり ( =「相関がある」、「コヒーレンスがある」、「コヒーレント」などとも言う)、全て足し合わされます。

一方、ダークカレンと起因のダークノイズはランダムなノイズです。個々のダークファイルのある一つのピクセルに注目して、全てのファイルの同じ位置のピクセルの値を見てみると、全ファイルのそのピクセルの輝度の平均値を基準として、個々のファイルの輝度の値は正負がバラバラになります。このことを相関がない ( =「無相関」、「コヒーレンスがない」、「インコヒーレント」などとも言う)といい、それらの値を全て足し合わせると正負なのである程度打ち消しすことになります。

ノイズの数学的な定義:
個々のダークファイルの画像のある面積を考えてみましょう。その面積の中の輝度も、平均値を中心に正負がバラバラで、その大きさも「ばらつき」があります。この「ばらつき具合」がノイズそのものです。数学的には面積内の各ピクセルの値から平均値を引いて、2乗して足し合わせたものを統計用語として「分散」と呼び、そのルートを「標準偏差」と呼びます。この標準偏差をここではノイズと呼ぶことにしましょう。

ここで注意ですが、ある面積を選ぶ時にはホットピクセルやアンプグローを含めてはいけません。ホットピクセルやアンプグローは背景のダークに比べて格段に明るく、特にホットピクセルは飽和気味の場合も多いのでで、そもそもここで考えている統計に従いません。ホットピクセルやアンプグローなどの明るい固定ノイズを除いた領域でダークノイズを測定する必要があります。ちなみに、飽和気味のホットピクセルを含んで測定してしまうと、とんでもなくばらついているようなものなので、結果はノイズがとんでもなく大きく出てしまうということは、言うまでもありませんね。

ノイズの重ね合わせの直感的なイメージ:
あるダーク画像1枚のある面積のノイズがNだったとします。他のダーク画像も同様にノイズNがあるとします。このダーク画像を例えば2枚足し合わせると、個々のピクセルは正負バラバラなのである程度打ち消します。その打ち消し具合は統計的には無相関の場合は「2乗和のルート」で合わさることになります。この場合2枚なので、
  • sqrt(N^2+N^2) = √2 x N
とルート2倍になります。正負で打ち消すということで、2倍にはならずに、元から減ることもなく1倍以下にもならなくて、結局その中間くらいということは直感的にイメージできるかと思います。

負の相関について:
あと、負の相関も考えておきましょう。ある画像で特徴的な形で明るい部分があるとします。もう一枚の画像では同じ形ですが、1枚目の明るさを打ち消すようにちょうど逆の暗い輝度を持っているとします。2枚の画像を足し合わせると、正負で、しかも明るさの絶対値は同じなので、ちょうど打ち消すことができます。このようなことを互いに「負の相関がある」と言います。でも天体写真の画像処理の範疇ではあまりない現象なのかと思います。


ダーク補正の定量的な扱い:
実際の画像処理では、ダーク補正というのはライト画像からマスターダーク画像引くことです。マスターダークファイルとは、個々のダークファイルを複数枚重ねて、輝度を元と同じになるように枚数で割ったものですから、 個々のダークノイズをNとして、n枚重ねて、輝度を枚数nで割ったとすると、マスターダークファイルのダークノイズ
  • N_ masterはsqrt(n x N^2) / n = 1/√n x N
となり、元のノイズのルートn分の1になります。

各ライトフレームにも当然ダークノイズは含まれています。ダーク補正をする際に、各ライトフレームのダークノイズと、マスターダークファイルに含まれるダークノイズは、ここまでの議論から2乗和のルートで「増える」ことになります。

1枚のライトフレームのダーク補正:
個々のライトフレームがマスターダークファイルで補正されると、補正後のダークノイズは
  • sqrt(N^2+N_ master^2) = sqrt(N^2+(1/√n x N)^2) = N x sqrt(1+1/n)
となり、sqrt(1+1/n) 倍にごく僅か増えます。

ダーク補正されたライトフレームのスタック:
これらのダーク補正されたライトフレームをスタックします。スタックの際、ライトフレームに元々あったダークノイズは個々の補正されたライトフレームでランダムに(無相関に)存在するので2乗和のルートで合わさり、輝度を揃えるために最後にライトフレームの枚数で割るとします。

マスターダークファイルで足された(ルートn分の1の小さい)ダークノイズは、スタックされる際に「(同じマスターダークファイルを使い続けるために)正の相関を持っている」ことに注意です。

2枚のスタック:
  • sqrt([sqrt(N^2+N^2)]^2 + [N/sqrt(n)+N/sqrt(n)]^2) = N sqrt(sqrt(2)^2 + [(2/sqrt(n)]^2) = N sqrt(2 + (2^2)/n) 
大外のsqrtの中の、1項目が無相関で2乗和のルートで足し合わさるノイズ。2項目が正の相関を持ってそのまま足し合わさるノイズ。それぞれがさらに2乗和となり大外のsqrtでルートになるというわけです。

3枚のスタック:
  • sqrt([sqrt(N^2+N^2+N^2)]^2 + [N/sqrt(n)+N/sqrt(n)+N/sqrt(n)]^2) = N sqrt([sqrt(3)^2 + (3/sqrt(n)]^2) = N sqrt(3 + (3^2)/n)

ライトフレームの枚数をnl枚として、
nl枚をスタックすると:
  • N sqrt([sqrt(nl)^2 + (3/sqrt(nl)]^2) = N sqrt(nl + (nl ^2)/n)

スタックされたライトフレームの輝度を、1枚の時の輝度と合わせるためにnlで割ると、上の式は少し簡単になって:
  • N sqrt(nl + (nl ^2)/n) /nl = N sqrt(1/nl + 1/n)
と ライトフレームの枚数nl分の1とダークフレームの枚数n分の1の和のルートで書ける、直感的にもわかりやすい形となります。

簡単のため、個々のライトフレームの枚数と、個々のダークフレームの枚数は同じnとしてみましょう。
n枚のスタックは:
  • N sqrt([sqrt(n)^2 + (n/sqrt(n)]^2) = N sqrt(n + (n^2)/n) = N sqrt(n + n) = N sqrt(2n)

となり、結局は「1枚当たりのライトフレームのダークノイズNがn枚」と「1枚当たりのダークフレームのダークノイズNがn枚」合わさったものと同じで、√2n倍のノイズとなります。

マスターダークを考えずに、ダーク補正をまとめて考える:
これは直接「n枚のライトフレーム」と「n枚のダークフレーム」のダークノイズを全て足し合わせたものを考えることと同等で、実際に計算してみると
  • sqrt(n x N^2 + n x N^2) =  N sqrt(2n)
と、1枚1枚処理した場合と同じなります。数学的には
  1. 事前にマスターダークを作ってから個々のライトフレームに適用しても、
  2. 全てのダークノイズをライトフレーム分とダークフレーム分を一度に足しても
同じ結果になるということです。これは直感的にわかりやすい結果ですね。

重要なことは、たとえ頑張ってライトフレームと同じ枚数のダークフレームを撮影して補正しても、補正しない場合に比べてノイズは1.4倍くらい増えてしまっているということです。もっと言うと、補正しない半分の数のライトフレームで処理したものと同等のダークノイズになってしまういうことです。ホットピクセルを減らすためだけに、かなりの犠牲を伴っていますね。

枚数が違うダークフレームでの補正:
例えばある枚数のライトフレームを枚数が違うダークフレームで補正する場合を具体的に考えてみます。

例えば10枚のライトフレームと、同じ露光時間とゲインのダークフレームが10倍の100枚あるとするとします。ダークノイズ起因のS/Nはライトフレームは1/√10=0.316となり、ダークフレームでは1/√100 =1/10となります。ダーク補正したライトフレームは
  • sqrt(1/10+1/100)=sqrt(11/100)=√10/10=0.332
となり、ダーク補正する前の0.316よりほんの少し悪くなる程度に抑えることができます。同様の計算で、2倍のダークフレームだと約4分の1のノイズ増加、3倍のダークフレームがあれば約10分の1のノイズ増加に抑えられます。

では闇雲にダークフレームの数を増やせばいいかというと、それだけでは意味がなくて、他のノイズとの兼ね合いになります。画面のノイズがダークノイズで制限されていいればどの通りなのですが、例えば明るい空で撮影した場合にはノイズ全体がスカイノイズに支配されていることも多く、こんな場合にはダークフレームの枚数は少なくても、それによるノイズの増加は無視できるということです。


フラット補正

フラットフレームは一般的にライトフレームと同じゲインですが、露光時間は異なることが普通です。そのためフラット補正を真面目に計算すると、ダーク補正よりもさらに複雑になります。

ただし、ライトフレームの輝度はライトフレームの背景よりもはるかに明るいことが条件として挙げられるので、補正の際にフラットフレームの輝度を、ライトフレームの背景の輝度に合わせるように規格化する(割る)ので、ノイズに関してもその分割られて効きが小さくなると考えられます。

その比はざっくりフラットフレームの露光時間とライトフレームの露光時間の比くらいになると考えていいでしょう。最近の私の撮影ではライトフレームが300秒露光、フラットフレームが最も長くても10秒露光程度で、通常は1秒以下です。ノイズ比が30分の1以下の場合、2乗和のルートとなると1000分の1以下となるので、実際にはほとんど効いてきません。さらにフラットファイルも多数枚をスタックするので、スタックされたライトフレームと比べても、効きは十分小さく、無視できると考えてしまっていいでしょう。

ただし、暗い中でフラットフレームを作る場合はその限りではなく、ノイジーなフラットフレームで補正をすることと同義になるので、注意が必要です。ここでは、フラットフレームは十分明るい状態で撮影し、フラット補正で加わるノイズは無視できるとします。


まとめ

スタックとダーク補正でノイズがどうなるか計算してみました。理屈に特に目新しいところはないですが、式で確かめておくと後から楽になるはずです。

今回は計算だけの記事で、しかもスタックを1枚づつ追って計算しているので、無駄に長く見えるような記事になってしまいました。でもこの計算が次のバイアス補正のところで効いてきます。ちょっと前にX上で黒天リフさんがバイスについて疑問を呈していましたが、そこらへんに答えることができればと思っています。










CP+のセミナー、いかがでしたでしょうか?細かい操作も多かったので、その場では少し見にくいところなどもあったかもしれません。すでに動画配信が用意されているので、わかりにくかったところは繰り返しチェックしてみてください。

 

今回の記事は、動画配信を元に、わかりにくかったところの補足をしようと思います。


処理画像の準備

セミナーの中で話した、撮影までの状況と、SharpCapでの再ライブスタックは、これまでの記事で書かれています。







今回の記事は、セミナーで示した中でも、特に画像処理の部分について補足していきたいと思います。「なぜ」この操作をするべきなのかという意味を伝えることができればと思います。

セミナーは
  1. (23:50) 入門用にMacの「プレビュー」を使って、その場で処理
  2. (27:05) 初心者用にPhotoshopを使って、その場で処理
  3. (32:40) 中級者用に「GraXpert」とPhotoshopを使って、その場で処理
  4. (41:50) 上級者用に「PixInsight」をあらかじめ使った処理の結果を流れだけ
という内容 (括弧内の時間は配信動画での位置) でした。

使用した画像は、SharpCapで1分露光で撮影したオリオン大星雲を60枚したものです。これを、上の1と2はオートストレッチしたものをPNGフォーマットで8ビットで保存されてもの、3と4はRAW画像のfitsフォーマットで16ビットで保存されたものです。

オートストレッチで保存できるのは2種類あって
  1. 「Save with Adjustments」を選ぶ、LiveStackでのオートストレッチのみかかったもの
  2. 「Save exactlly as seen」を選ぶ、LiveStackでのオートストレッチに、さらに右パネルのオートストレッチが重ねてかけられてもの
です。今回は後者の2の保存画像を元に画像処理を始めます。いかが、SharpCapで保存されたライブスタック済み、オートストレッチ済みの初期画像です。

ここでオートストレッチについては少し注意が必要で、何度か試したのですが、ホワイトバランスや輝度が必ずしも一定にならないことがわかりました。全く同じRAWファイルをスタックした場合は同じ結果になるのですが、スタック枚数が変わったり、別のファイルをスタックしたりすると、見た目に色や明るさが変わることがあります。どうも比較的暗いファイルでこれが起こるようで、ノイズの入り具合で左右されるようです。明るさはまだ自分でヒストグラムの黄色の点線を移動することで調整できるのですが、RGBのバランスは大まかにはできますが、極端に暗い画像をストレッチするときの微妙な調整はSharpCap上ではできないようです。Photoshopでは背景と星雲本体を個別に色合わせできるのでいいのですが、WindowsのフォトやMacのプレビューでは背景も星雲本体も同じように色バランスを変えてしまいます。このことを念頭においてください。


Windowsのフォトでの簡易画像処理

まず、入門用のOSに付いている簡易なアプリを使っての画像処理です。

セミナー当日はMacとWindowsの接続が不調で、SharpCapのライブスタックとWindowsのフォトでの加工をお見せすることができませんでした。手持ちの携帯Wi-FiルーターでMacからWindowsにリモートデスクトップで接続しようとしたのですが、2.4GHzの信号が飛び交い過ぎていたようで、遅すぎで使い物になりませんでした。あらかじめテストはしていたのですが、本番でこんなに変わるとは思ってませんでした。

お詫びではないですが、Windowsのフォトについては、配信動画の代わりに、ここでパラメータと結果画面を追加しておきます。画像処理前の、SharpCapのオートストレッチで保存された画像は以下のものとします。

Stack_60frames_3600s_20_34_59_WithDisplayStretch

これをWindowsのフォトで処理します。
  1. WindowsではPNGファイルをダブルクリックすると、フォトが立ち上がります。画像処理をするには、上部真ん中にあるアイコン群のうち、左端の「画像の編集」アイコンをクリックします。
  2. 上部に出てくるメニューの「調整」を押します。
  3. フォトの弱点は、背景を暗くするのがしにくいことでしょうか。今回は「コントラスト」を右に寄せることで背景を暗くします。
  4. 星雲中心部が明るくなりすぎてます。トラペジウムを残したいので「強調表示」を左にして明るい部分を暗くします。
  5. 色バランスは「暖かさ」と「濃淡」で整えます。「暖かさ」左に寄せて青を出し。「濃淡」を右に移動しバランスを整えます。
  6. 「彩度」をあげて、鮮やかにします。
setting

画面が暗い場合は「露出」を少し上げるといいかもしれません。「明るさ」は変化が大きすぎるので使いにくいです。

上のパラメータを適用すると、結果は以下のようになります。
photo

たったこれだけの画像処理でも、見栄えは大きく変わることがわかると思います。


Macのプレビューでの簡易画像処理

Macのプレビューでの画像処理過程はセミナー中に見せることができました。でも今動画を見直していたら、どうも本来処理すべき初期画像を間違えていたようです。

Windowsとの接続がうまくいかなくて、内心かなり焦っていたようで、本来は上のフォトで示した初期画像にすべきだったのですが、間違えて出してしまったのがすでに加工済みの下の画像で、これを元に画像処理を進めてしまいました。焦っていたとはいえ、これは完全に私のミスです。本当に申し訳ありませんでした。
Stack_60frames_3600s_20_34_59_WithDisplayStretch 2

ここでは、改めて本来加工するはずの下の画像で進めようと思います。フォトで使ったものと同じものです。
Stack_60frames_3600s_20_34_59_WithDisplayStretch

最終的なパラメータはこれくらいでしょうか。一つづつ説明してきます。
setting
  1. オートストレッチで星雲本体を炙り出た状態だと、星雲中心部が明るくなりすぎます。トラペジウムを残したいので「ハイライト」を下げます。
  2. 背景が明るすぎるので、上のヒストグラムの左のマークを右に動かします。星雲本体を炙り出すために、真ん中のマークを左に少し寄せます。これは後のPhotoshopの「レベル補正」に相当します。
  3. 色バランスは「色温度」と「色合い」で揃えるしかないようです。「色濃度」は左に動かすと青っぽくなります。「色合い」は右に動かすとバランスが整います。最後は画面を見ながら微調整します。
  4. 「シャープネス」を右に寄せると、細部を少し出すことができますが、今回はノイズがより目立ってしまうので、ほとんどいじっていません。

結果は以下のようになりました。
Stack_60frames_3600s_20_34_59_WithDisplayStretch
これをみると、セミナー本番中にプレビューで処理を開始したものとよく似ているかと思います。要するに、練習でプレビューで処理をしたものを間違えて開いてしまったと言うわけです。こんなことも気づかないとは、やはりその時はかなり焦っていたんですね。それでも次のPhotoshopの処理はそれに気づいて、SharpCapから直接保存されたものを処理に使っています。


Windowsのフォトも、Macのプレビューも、いじることができるパラメータはそう多くはないので、解はある程度一意に決まります。むしろパラメータは画像処理を始めるときの初期のホワイトバランスと、初期の背景の明るさに依りますでしょうか?これはSharpCapの保存時に決まるのですが、保存時に細かい調整ができないのが問題です。それでも、方針さえしっかりしていれば、パラメータに関してはここら辺しかありえないというのがわかるかと思います。繰り返して試してみるといいかと思います。


Photoshopを使った画像処理

次はPhotoshopです。こちらはできることが一気に増えるので、パラメータ決定の際に迷うかもしれません。それでも方針をしっかり立てることで、かなり絞り込むことができるはずです。

初期画像は上と同じもので、SharpCapでストレッチされたPNGファイルです。
Stack_60frames_3600s_20_34_59_WithDisplayStretch
  1. (27:10) まず、背景の色バランスの調整です。これはPhotoshopのメニューから「イメージ」「色調補正」「レベル補正」を使うと楽でしょう。RGBの各色をそれぞれ個別に調整して、まずは各色の山のピーク位置と、各色の山の幅を調整します。調整の様子は動画で確認してみてください。山の位置が揃うと、背景の色バランスがとれたことになります。
  2. (27:40) 次に動画では、同じ「レベル補正」を使って背景を暗くしています。左の三角を少し右に移動します。暗くしすぎると、後から分子雲が出にくくなるので、これはもしかしたら必要無かったかもしれません。
  3. (27:55) 次に、青を少し強調します。一般的に星雲本体の青は出にくかったりします。特に今回は光害防止フィルターでQBP IIIを使っているので、そのまま処理すると、赤でのっぺりした星雲になりがちです。「イメージ」「色調補正」「トーンカーブ」と行って、「ブルー」を選び、ここは慎重に真ん中ら辺を少しだけ上げます。トーンカーブは左の方が暗い背景に相当し、真ん中ら辺が星雲の淡いところ、右が星雲の明るいところや、恒星に相当します。
  4. ただし真ん中を上げると、せっかくバランスをとった背景も青くなってしまうので、トーンカーブの線上の左の方をクリックしてアンカーを打ち、暗い背景部分があまり変わらないようにします。アンカーの部分だけが動かなくなるので、アンカーの右の方の線を動かすと、アンカーの左側も変わってしまって背景のバランスが崩れることがあります。そんな時は、左の方にアンカーを複数打って、背景バランスが崩れないようにしてください。
  5. (28:20) 少し地味なので、彩度を上げて各色の諧調が豊かな、見栄えがする画像にします。「イメージ」「色調補正」「自然な彩度」と選びます。その中に2つ触れるパラメータがありますが、「彩度」の方はかなり大きく変わってしまうので、私は「自然な彩度」の方を触ることが多いです。
  6. 補足ですが、色を出そうとしてよくあることなのですが、彩度を単体であげるとくすんだような俗にいう「眠い」画像になります。そんな時はまずは輝度を上げるようにしてください。輝度に関しては、画面に集中してしまうと、暗い状態でもいいと思ってしまうことがよくあります。一度ネットなどで自分が一番いいと思う画像をブラウザ上で見て、そのすぐ横に今編集している画像を並べてみてください。思ったより明るさも色も出ていないことに気づくかもしれません。客観的になるのは難しいですよね。並べて比べながら、まずは一番いいと思う画像くらいになるように明るさや彩度を出してみるのがいいのかと思います。
  7. (28:40) Photoshopで便利な機能が、「フィルター」の中の「CameraRawフィルター」です。まずは「ライト」の中の「ハイライト」を下げることでトラペジウムを守ってやります。
  8. (29:10) 次に、背景に含まれる分子雲を引き出すために「ブラック」を右に振り、「シャドウ」を左に振ります。ブラックとシャドウはよく似ていますが、逆にブラックを左にシャドウを右に振ってやると、似て非なるものだとわかるでしょう。この分子雲の炙り出しは、「効果」の「明瞭度」も効き目があります。セミナーでは説明しませんでしたが、「コントラスト」も同じような効果がありますが、こちらは強すぎる感があるので、使うとしても微妙に調整します。
  9. セミナーでは説明しませんでしたが、細部は「効果」の「テクスチャ」である程度出すことができます。同時に背景のノイズや不自然な大きな構造も出すことになるので、かけすぎには注意が必要です。
  10. (29:35) ここまで分子雲をかなりあぶり出してきたことになるので、かなりノイズが目立っていると思います。Photoshopでも簡単なノイズ処理ができます。その一つが「CameraRawフィルター」の「ディテール」の「ノイズ軽減」です。ノイズの具合に応じて、50とか、最大の100とかに振ってやります。同時に「カラーノイズ」も除去してしまいましょう。カラーノイズは画像を拡大すると、RGBの細かい色違いのノイズがあるのがわかると思います。拡大しながらカラーノイズが除去されるのを確認してみるといいかと思います。
  11. (30:45) ノイズを除去すると、どうしても細部が鈍ってしまいます。これは同じところの「シャープ」を上げてある程度回避できますが、完全に戻すことはPhotoshop単体ではできないかと思います。ノイズ処理に関してはここら辺がPhotoshopの限界でしょうか。
  12. (31:15) 最後に仕上げで再びトーンカーブをいじっています。ここら辺は好みでいいと思いますが、今回はまだ青が足りないのでBのを少し上げました。派手さは赤色で決まるので、Rも少し上げます。緑は自然さを調整します。赤とか青が強くて、全体に紫っぽくて人工的な気がする場合は、Gをトーンカーブで気持ち上げると自然に見えたりします。セミナーでは説明しませんでしたが、必要ならばトーンカーブの右側にも適時アンカーを打って、明るい部分が明るすぎにならないようにします。特にせっかく撮影時に残ったトラペジウムを、明るくしすぎて消さないようにします。
Photoshop

こんなところで完成としましたが、いずれにせよここでは、背景と星雲本体を個別に色バランスをとりつつ、背景を炙り出し、コントラストを上げることが重要です。背景はそもそも暗いためにノイズが多く、分子雲を炙り出すとどうしてもノイズが目立つようになるので、何らかのノイズ処理が必要になってきます。

WindowsのフォトやMacのプレビューだけで処理したものと比べると、背景と本体のバランスがとれていて、それらしい画像になってきたのかと思います。


GraXpert

ただし、Photoshopでの処理だけだと、背景の分子雲はまだあまり見えていないですね。この淡いところを出すにはどうしたらいいでしょうか?基本は、星雲本体と背景の輝度差をなくすことです。特に、画面全体に広がるような大きな構造(「空間周波数が低い」などと言います)での輝度差をなくすことが重要です。ここでは「GraXpert」という無料のアプリを使います。WindowsにもMacにも対応しています。

GraXpertは操作がそれほど多くないので複雑ではないのですが、少しクセがあります。

1. (32:35) GraXpertにストレッチ機能があるので、今回はすでにストレッチされたPNGではなく、暗いままのRAWフォーマットのFITSファイルを使いましょう。ストレッチされてない画像なので。最初にGraXpertの「1」の「Load Image」で開くとこんなふうに真っ暗に見えるかと思います。
Stack_16bits_60frames_3600s_20_21_42_fits_nostretch

2. (33:05) GraXpertの「2」の「Stretch Options」で何か選ぶと、明るい画像になるかと思います。ここでは見やすくするために「30% Bg」を選びます。

3. (33:15) 画像の周りに黒いスジなどある場合はフラット化がうまくいきません。ライブスタックの時にディザリングなどで少しづつ画像がずれていくと、黒い筋になったりするので、まずはそれを左メニュー一番上の「Crop」の横の「+」を押して、出てきた「Crop mode on/off」を押します。黒い筋を省くように選択して、クロップして取り除きます。クロップ機能がGraXpertにあるのは、画像周辺の情報の欠落に敏感だからなのでしょうね。実際の取り除きの様子は配信動画を参考にしてください。

4. 「Saturation」は彩度のことなので、少し上げておくと後から彩度を出すのが楽になるかもしれません。今回は1.5を選びました。

5. (33:48) 「3」の「Points per row」と「Grid Tolerance」は画像によって適時調整してください。「Create Grid」を押します。目安は星雲本体が黄色の枠で選択されないくらいです。ここであまり神経質にならなくてもいいのがGraXpertのいいところでしょうか。

6. (34:00) 「Interporation Method」ですが、これは4種類ありますが、各自試してみてください。場合によって適不適があります。私はKriging>RBF>AI>Splineくらいの印象でしょうか?セミナーでは時間のかからないRBFを選びました。Methodによっては差が出る場合もありますが、ほとんど差が出ない場合もあります。

7. (34:25) しばらく待って結果が出たら、画面真ん中上の「Processed」と「Original」で比較してみるといいでしょう。その差が「Background」で見ることができます。
bg
こうやってみると、左が緑に寄っていて、右が赤に寄っていたことがわかります。

8. (35:28)できた画像をこのまま保存すると、ストレッチがかかりすぎているので、「Stretch Options」で「10% Bg」程度を再度選びます。その後「5」の「Saving」で「16bit TIFF」を選択し、「Save Stretched & Processed」を押して、ファイルを保存します。

TIFFファイルはサイズが大きくなるので、ここではTIFFファイルをjpgに変換したものを表示しておきます。
Stack_16bits_60frames_3600s_20_34_59_stretched_GraXpert

9. (36:14) 保存されたTIFFファイルをPhotoshopで開き、あとは上でPhotoshopで処理したものとほぼ同様に進めます。

10. (36:20) 今回の場合、ヒストグラムで全ての山がそろっています。GraXpertで背景のホワイトバランスも合わせてくれています。

11. (36:28) 背景が暗いのですが、中心部は明るいので、Camera RAWフィルターで、ハイライトを下げ、黒レベルを上げ、さらに露光を少し上げると、背景の分子雲がPhotoshop単体で出したものよりも、すでに黙々しているのがわかります。これがGraXpertのフラット化の効果です。

12. (37:17) あとは同様にトーンカーブで青を少し出します。

13. (37:35) GraXpertのフラット化の弊害として、色が出にくいというのがあります。彩度を少し強調するといいでしょう。

14. (38:15) Camera RAWフィルターの「ディテール」の「ノイズ軽減」でノイズが目立ちにくくなります。ここまでの完成画像を示します。

Stack_16bits_60frames_3600s_20_34_59_stretched_GraXpert_final

明らかにPhotoshop単体より、GraXpertでフラット化することにより、背景の分子雲が出たのかと思います。

よりあぶり出せたのはいいのですが、その分ノイズが目立つと思います。そのため、動画では (40:13)あたりで DeNoise AIを紹介しています。これはAIを利用したノイズ除去ツールで、非常に強力なのですが、恒星の処理が苦手で、星が崩れたりしてしまいます。今回は中心が抜けたような星になってしまいました。

これは次に話すように、星と背景を分離するなどして、背景のみに実行することでうまく使うことができますが、ここまで来ると今回の範囲を超えてくるので、参考までにノイズツールはこのようなものもあるということだけ認識しておいてください。


PixInsight

セミナーでは最後にPixInsightでの処理を紹介しましたが、これは今回の目的の範囲を超えていると思いますので、参考程度に処理したものを順に示すだけにしました。なのでここでも詳細な解説は控えておきます。というか、これを解説し出すとこの一記事では到底収まりきりません。

ポイントは
  1. (42:40) BlurXTerminatorで収差を改善し星を小さくシャープにすること
  2. (44:47) 星と背景を分離すること
でしょうか。これらはPhotoshopでの処理とは全く異なり、天体画像処理専用ソフトの強いところです。最初からここまで手を出す必要は全くないと思いますが、いつか自分の処理が不満になった時に、こんな手法もあるということくらいを頭の片隅に入れておけばいいでしょう。


比較

最後に、今回それぞれで画像処理をした
  1. Macのプレビュー
  2. Photoshotp
  3. Graxpert
  4. PixInsight
の4枚を並べて比べてみます。左上からZの字を書くように、上の1、2、3、4と配置しています。

all

Macのプレビューだと、背景と星雲本体を別々に色合わせできなかったことがよくわかります。Photoshopになると、色がある程度バランスよくなっています。分子雲のモクモクはGraXpertが一番出ているでしょうか?

セミナー当日見せるのを忘れてしまいましたが、同じ4枚を拡大したものも比較してみます。
all_magnified

Macのプレビューはノイズ処理がないので、やはりノイジーです。拡大すると、PhotoshopのみとGraXpertが入った時の違いもよくわかります。モクモクのあぶり出しと同時に、細部もでています。それでも細部はPixInsightがBXTのおかげで圧倒的でしょうか。

セミナーの最後でも言いましたが、4枚目でも情報を引き出し切ったかというと、かなりいいところまで入っていると思いますが、まだ少し余地が残っていると思います。マスクを使ったりすることで、ノイズ処理やあぶり出しをもう少し改善することはできるかと思います。


まとめ

さて、今回のセミナーと合わせての一連のブログ記事いかがだったでしょうか?電視観望から始まり、撮影に発展し、画像処理までを解説してきました。セミナー本番は少し詰め込みすぎたかもしれませんが、後の配信を前提に動作を示すことを中心としたので、よろしければ動画を繰り返し見ながら確認して頂ければと思います。皆さんの画像処理の何かのヒントになるのなら、今回のセミナーを引き受けた甲斐が十分にあるというものです。

画像処理はとても奥深いところがあり、今回示したBlurXterminatorもそうですが、まだまだ今後ソフトや技術も進化していくはずです。大切なことは、ここまで説明したことの繰り返しになるかもしれませんが、闇雲に処理を進めるのではなく、何が問題で、どうすれば解決するかの方針を立てて、手持ちの技術で実際に進めていくことかと思います。画像処理といっても、いわゆる普通の問題解決プロセスと同じですね。

今回色々な手法を示しましたが、これが唯一の方法だなんてことは口が裂けても言えませんし、正しい方法かどうかもわかりません。あくまで一例で、他の方法もそれぞれ皆さんで、試行錯誤もあるかと思いますが、いろいろ編み出して頂ければと思います。











このページのトップヘ