ほしぞloveログ

天体観測始めました。

タグ:PixInsight

過去の縞ノイズでも試してみる

もしかしたら、flat補正の効果が今回の撮影だけの特別な場合だった可能性もあります。なので、過去の画像で縞ノイズが出たファイルを再処理してみます。使ったのは、2年以上前のPixInsightを最初に使い始めた頃に撮影したM33。

シンプルにするためにフラットの有無だけで比較します。撮影条件は
  • 鏡筒: タカハシFS-60Q、焦点距離600mm
  • 赤道儀: Celestron Advaned VX
  • カメラ:  ZWO ASI294MC
  • ガイド: ASI178MCと50mmのCマウントレンズをPHD2にて
  • 撮影条件: SharpCapでゲイン270、温度-15℃、露光時間300秒x25枚 = 2時間5分
  • ディザー: なし 
  • ファイル保存形式: RAW16bit、fits形式
です。本質的なところではカメラは常温ですが同じ、長時間、ディザーなしというのでよく似た条件です。Flat frameの内容はというと、記録から
  • flat frame: light frame撮影後すぐに、鏡筒に状態でスーパーの白い袋を2重に被せて撮影。ゲイン270、露光時間300秒、常温で、3枚撮影。
となっているので、これも撮影後すぐにとったとか、枚数が少ないとかの条件も同じです。この似た条件というのが鍵になる可能性がありますが、まずは時期的にも違うという点で検証して一般性を見ます。

まずはflat補正あり。やはり以前と同じように縞ノイズは盛大に出るので再現性もあります。

light-BINNING_1

次にflat補正なし。ゴミの跡とかは目をつぶってください。当然周辺減光も出ますし、アンプグローも残ります。その代わりに、バラ星雲の時と同じで縞ノイズは消えます。厳密に言うとバラ星雲の時も今回のM33の時も同じで少しの縞ノイズは残っています。でもflat補正のあるなしで、いずれも劇的な違いがあることはわかります。

light-BINNING_1

この時点で、PIに限られますが違う画像でも起きているので、一般的にも十分あり得る話だということがわかります。


PixInsight以外では?ステライメージで確かめてみる

もしかしたらこれ、PIのflat補正のアルゴリズムに問題があって、PIだけの問題という可能性があります。他のソフトの代表で、ステライメージ8で確かめてみました。

そう言えば最近Windowsを入れ直してステライメージまだ入れてませんでした。久しぶりに再インストールして、M33を使ってflat補正をしてみました。自動処理モードは使わずに、詳細編集モード(マニュアルモード)で試しました。自動処理モードはこれまでもほとんど使ったことがないのと、一応は試したのですがうまく色が出なかったからです。

最初の結果がこれです。

light

「お、縞ノイズないじゃん!なんで?PIだけの問題か?」と思ったのですが、よくみるとゴミの跡も残っていてフラット補正全くされていないみたいです。自動処理モードでやっても結果は変わらず、flatファイルが悪いのかとか色々疑ったのですが、原因はステライメージのバグ。バージョン8をディスクからインストールしたてで、アップデートしていなかったことが原因でした。現行のバージョン8.0hにして試してみると、

light

ちゃんとflat補正もされて、縞ノイズも盛大に出るようになりました。なので、PIだけの問題でないということが分かります。

ちょっと蛇足です。久しぶりにステライメージ触ったのですが、随分といろんなことを忘れていました。今回サボりましたがflat darkとかも本当は撮らないとダメ(flat darkあるなしで縞ノイズに影響がないことは確かめています)なんですよね。その代わりにbiasファイルを撮らなくていいとか、今思うとPIとはだいぶん違います。

初心者向けの自動処理モードも「ほとんど何も設定出来ない」との批判も多いですが、私はこれでいいと思います。多分ステライメージは、初心者にとっては天体画像処理ソフトとしては唯一の選択肢です。日本語で操作できて、マニュアルも(十分ではないかもしれませんが)日本語で読むことができてという意味で、敷居がずいぶん低いはずです。初めて天体写真に挑む人は、一番最初は本当に何も分からず手探りでやるので、自動モードもこれくらい簡潔にしておくのはある意味正しいと思います。自動モードで理解できてきたら、詳細モードに行って、詳細モードでいろんな操作をして理解して、その上で不満が出たらより高機能なPixInsightという手もあるかと思います。

ステライメージで一つ不満があるとしたら、「ベイヤー・RGB変換」のところでしょうか。バッチ処理が無いので、一枚一枚手で変換しなくてはダメなんですよね。ALTキーでI、ALTキーでYで、Enterで処理、マウスで最小化ボタンを押して次の画像というのを繰り返し、出来るだけ楽に進めてます。今回20枚程度でしたが、100枚とかはやりたくないです。最近はPIで1000枚とかの処理もする時があるので、これだとステライメージでは現実無理です。せめてコンポジットやホット/クールピクセル除去機能みたいにバッチ処理ができるようになるといいのですが。


ついでにDSSでも

あと日本で流行っているスタックソフトの残りは、惑星用除いたらあとは、DSS(DeepSkyStacker)とRAP2くらいでしょうかRAP2は有料で持っていないので試せませんが、DSSはフリーなので試すことはできます。DSSは星を始めた4年前にまだ有料ソフトに手を出す前に、フリーだからと少し試しただけくらいの経験しかありません。もう久しく触っていませんが、いい機会なので試してみます。

昔はものすごく複雑だった印象があるのですが、機能自身は今思うとまあ一直線で素直ですね。少なくともPIに比べるとはるかにシンプルです。特に困ったところは2箇所だけで、一つはRegisteringのところで進まなくなってしまったところ。これは検出する星の数が多すぎたことが原因で、「Register Setting」の「Advanced」タブの「Star Detection Threshold」を増やして、検出する星の数を減らすことで解決しました。もう一つは一度最後まで処理をしたのですが、モノクロのままだったので、メニューの「RAW/FITS Settings」の「FITS Filters」できちんとdebayerしてやることでした。

さて結果です。フラットもうまく補正されたようです。

light

あー、ダメですね。やはり縞ノイズ出ますね。

と言うわけでflat補正問題、PixInsightだけの問題でもなく少なくともステライメージとDSSも含めて、同様に縞ノイズを発生させることがわかりました。日本で使われている3大スタックソフト(惑星用除く)で同じ状況というので、flat補正が縞ノイズに与える影響はかなり一般的と言っていいかと思います。


とりあえず、今回の記事のまとめ

他のデータでも、他のソフトでも同様の傾向で、flat補正の影響はあると言えそうです。

ただしやはり気になるところは、flatの撮り方が2例とも撮影後すぐに同露光時間、同ゲインで、スーパーの袋をかぶせて空で撮っていることです。露光時間が長いので、明るさ的に足りないことはないと思います。ただし、カラーバランスはかなり黄色っぽくなってしまっています。また、枚数が足りない可能性もあります。

次回以降はここら辺のflat frame自身についてもう少し検討できたらと思っています。実は今回の謎の答えもう出ています。今検証を進めているところです。乞うご期待です。



多分このシリーズ、長くなります。普段の記事を全然長いと思っていない私が長くなると思っているので、多分本当に長くなります。試したいことがありすぎるので、書けるとこまで書きます。途中で力尽きたらごめんなさい。

今回縞ノイズの一つを、多分特定しました。最初に断っておきますが、限られた条件でのことかもしれません。この記事を読んで試してみても、全然効果がなかったと言う方もいるかもしれません。ですが幾らかの悩んでいる方の解決にはなると思います。私自身、他の方の環境でどうなるか興味があるというのもあります。

comp

この比較写真のように違います。左がこれまでの縞ノイズ、右が無くなった(実際には軽減された)場合です。以下、詳しく説明します。


バラ星雲で出た縞ノイズ

この間のEVOSTAR 72EDでのバラ星雲の撮影で、ディザーをしなかったために縞ノイズが出たという報告をしました。

integration_DBE_PCC_AS_cut


その後、上記の縞ノイズを可視化した記事を書きました。この動画は結構反響が大きかったので、ご覧になった方も多いかと思います。






なぜか突然縞ノイズが消えた!?

この後、もう少し縞ノイズの検証をしてみようとファイルをいじってみました。とりあえずシンプルなところからと思って、rawのlight frameをDebayerしてStarAlignmentだけして縞ノイズを再現しようとしたのです。ところがところが、縞ノイズが綺麗さっぱりなくなっています。

integration

拡大です。
integration_cut

え?
なんで?
全然縞ノイズ出てないじゃん!
せっかく縞ノイズの解析しようと思ってたのに!

さあ、ここからが戦いの始まりです。


PixInsight用語

今回、PixInsight (PI)用語がたくさん出てきます。PIに慣れていない方のために、簡単に解説しておきます。
  • PixInsight: 世界的に有名な天体画像処理ソフト。英語でものすごくとっつきにくいが、高機能。
  • BatchPrepocessing: 撮影したファイル(light, bias, dark, flatなどの各frame)を掘り込んでおけば、スタックまでボタン一発でやってくれる便利な機能。
  • master: bias, dark, flatなど、他数枚の補正ファイルを一度処理すると、スタックされた一枚のmasterというファイルをそれぞれ作ってくれる。以降はそれを使うと処理時間を削減できる。
  • ImageCalibration: BatchPrepocessingのような自動で処理する以外に、マニュアルでもっと細かくオプションを指定しながら処理する方法がある。これはbias, dark, flatなどの補正をマニュアルでする機能のこと。
  • Debayer: 同様にマニュアル処理の一つ。モノクロのBayer配列のRawファイルをカラー化すること。
  • StarAlignment: マニュアル処理の一つ。多数枚数の画像の星位置を合わせること。PIでは平行移動、回転にのみならず、画面を歪ませて星の位置をそれぞれ合わせることができる。
  • ImageInteglation: マニュアル処理の一つ。他数枚の画像をスタックすること。
  • ScreenTransferFunction: 簡易的にストレッチ(明るくすること)をする機能。見かけの表示のみをいじるので、ファイルには何の手も加えない。見かけを適用したい場合はHistgramTransfomationを使う。
  • Auto Stretch: ScreenTransferFunctionの一機能。あぶり出しのすんでいないまだ暗い画像などを、そこそこ見やすいように自動でストレッチする機能のこと。超便利。
  • DynamicBackgroundExtraction (DBE): 背景の被りや周辺減光などをソフト的に除去する機能。任意の補正点を指定できるので、星雲部分の補正を避けるなど細かい補正が可能。超便利。
  • AutomaticBackgroundExtraction (ABE): 背景の被りや周辺減光などをソフト的に除去する機能。細かい補正はできないが、大局的に補正してくれるので簡単で便利。
  • TVGDenoise: PI場で最強と言われているノイズ除去機能。

比較条件

今回検証するRAWファイルは全て同じです。他に共通撮影条件は
  • 鏡筒: SkyWatcher EVOSTAR 72ED + x0.72レデューザー、焦点距離300mm
  • 赤道儀: Celestron CGEM II
  • カメラ:  ZWO ASI294MC Pro
  • ガイド: ASI178MCと50mmのCマウントレンズをPHD2にて
  • 撮影条件: SharpCapでゲイン220、温度-15℃、露光時間300秒x20枚 = 1時間40分
  • ディザー: なし 
  • ファイル保存形式: RAW16bit、fits形式
  • フィルター: サイトロン QBP(アメリカンサイズ)
となります。

今回の検討を始める前までに、縞ノイズが出た時の処理と、出なかった時の処理の違いを書いておきます。処理は全てPI上でやっています。
  • 縞ノイズあり: BatchPreprocessingでbias補正、dark補正、flat補正を適用し、走らせた。
  • 縞ノイズなし: マニュアルでDebayer、StarAlignment、ImageInteglation。
この中に決定的な違いがあるはずです。以下、各補正ファイルの条件です。全てSharpCap上で撮影していて、最初の処理でmaster fileができるので、以降はそれを利用。
  • bias frame: ゲイン220、露光時間が最小の0.032ミリ秒で、100枚撮影。
  • dark frame: frat frame撮影後、片付けの後すぐに、家の中で撮影。ゲイン220、露光時間300秒、-15℃で、28枚撮影。
  • flat frame: light frame撮影後すぐに、鏡筒に状態でスーパーの白い袋を2重に被せて撮影。ゲイン220、露光時間300秒、-15℃で、7枚撮影。

処理結果に大きな違いが出ていて、検証材料も全て揃っているので、何が違いに影響しているのか順に検証していきます。


検証過程

ここからはほぼ実際にやった手順です。
  1. まず、再度BatchPreprocessingとマニュアル処理で再現性を確認。->きちんとBatchPreprocessingのときには縞ノイズ出て、マニュアル処理では出ないです。再現性はきちんとあります。
  2. 次に、一番怪しくないと思ったflat frameのみ適用させBatchPreprocessingで処理 -> 縞ノイズ出ます。「うーん、あんまり関係ないよな。」
  3. 次、一番怪しそうなbias framaのみを適用させBatchPreprocessingで処理 -> 縞ノイズ消えた!「そりゃbias必要でしょ。」
  4. 次、flatとbias frameを適用させBatchPreprocessingで処理 -> 縞ノイズ出ます。「あれ?flatあまり関係ないはずなのに。」-> ところが、ここでやっと思い違いに気づきます。今回、何も補正していない方が縞ノイズが出なくて、補正した方が縞ノイズが出たのでした。と言うことは、bias関係なしで、flatで縞ノイズ有無が決まっていることになります。え、本当?
  5. 確認で、darkとbias frameを適用させBatchPreprocessingで処理 -> 縞ノイズ出ません。「えー、ホントにdarkもbiasも関係ないよ!?」
  6. 念のため、darkのみ適用させBatchPreprocessingで処理 -> 縞ノイズ出ません。「確かにdark関係なし。」
  7. さらに念のため、master flatを使うのではなく、改めて個々のflat frameを使ってBatchPreprocessing処理 -> 縞ノイズ出る。「やっぱりflatが原因だ!」
  8. さらに、BatchPreprocessingが何か悪さをしている可能性も考えて、マニュアルのImageCalibrationを使ってflat処理だけしてみます->縞ノイズあり。「少なくともPIで処理する限りflatが悪さをしているのは確定でよさそう」


Flat補正をしない場合、本当に改善されているのか

確かに上の画像で見た通り、flat補正をしないと縞ノイズは無くなって見えているのですが、本当でしょうか?それぞれSTFでオートストレッチをしているのですが、本当に正確な比較をしているのか疑問になってきました。オートストレッチは星雲を含む背景の最大の輝度と最小の輝度から適用範囲が決まります。例えば、flat補正をしていない周辺減光のある画像ではあぶり出しも中途半端で、周辺減光のない平坦に近い画像では極限まで炙り出すことをするので、細かい差(この場合縞ノイズも含めて)をより浮き出させてくれます。

ここでは公平に比較するために、それぞれの画像にAutomaticBackgroundExtraction (ABE)を適用し、周辺減光の影響をできるだけ少なくして比較してみます。flat補正をしたものでもまだ明暗のばらつきは無視できないほど存在していて、ABEを適用することで多少の変化があります。それぞれABEをしてから、STFでオートストレッチをしています。

まず、flat補正ありの画像。

light_BINNING_1_integration_ABE

light_BINNING_1_integration_ABE_cut
これまで通り、縞ノイズは盛大に見えています。

次にflat補正しない場合。
integration_ABE

integration_ABE_cut

結局、周辺減光がABEで補正できる範囲を超えてしまっているので全然補正できていません。そのためオートストレッチ後、少し補正して目で見て、拡大部分の明るさをそこそこ合わせています。多少公平性は欠けてしまいましたが、それでも不公平になる程の違いは無いくらいにはなっているでしょう。結果はというと、flat補正なしであからさまに縞ノイズは改善されていますが、よく見るとやはり完全に無くなりきってはいないです。「相当軽減する」くらいは言っていいでしょうか。

この比較から、flat補正は縞ノイズの影響を悪化させていることは確からしいですが、完全には撮りきれないことから、それだけが原因というわけでもなさそうです。

実際の画像処理では背景はもう少し暗くなるので、flat補正なしにして、この程度の縞ノイズになるのなら個人的には許容範囲でしょうか。


Flat frameについて

でもここでふと我に返ります。でも今回使ったflatってそんなに変なの?

確認してみる限りごくごく普通のflatだと思います。master flatをAuto Stretchしたものです。(blogに載せるためのファイルサイズ制限で、bayer配列を無理にjpegにしているので、偽色が出てしまってノイジーに見えてしまっています。)
flat-BINNING_1

拡大です。pngなので、偽色とかは出ていないはずです。(画像サイズが小さいのでpngでもファイルサイズが大きくなり過ぎず、blogでもアップロードできます。)
flat-BINNING_1_cut

見ている限り、極々ノーマルで、ノイズが特別多いようにも思えません。

でも、master flatをdebayerしてAuto Stretchしてみると少し正体が見えてきます。
flat_BINNING_1_integration_RGB_VNG

拡大です。
flat_BINNING_1_integration_RGB_VNG_cut

カラー化すると結構ノイジーなのがわかります。なんだかカラーノイズと言われているものに似ています。これが固定ノイズとなって、星像を止めたときには逆に、この固定ノイズが流れるのでしょう。

でも本当にこれくらいのことであんなに盛大に縞ノイズが出てくるまで画像を悪化させるのでしょうか?だって直接処理しているのはlight frameの1枚1枚で、それに対してflat frameは枚数少ないとは言え7枚です。それが流れて見えるので、スタックした20枚:7枚でなく、1枚:7枚の比で比較してもいいような気がします。ここは少し疑問が残ります。


flat frameのノイズを改善してみたら?

本当にflatが効いているのか確認するためにもう少し試します。master flatにPI上でTVGDenoiseでノイズを減らしたflat frameを適用して処理してみました。その結果がこれです。
integration

拡大です。
integration_cut

わかりますでしょうか?多分拡大していない方がわかりやすいと思いますが、細かい縞ノイズが消えて、大きな構造の縞ノイズが出てきています。

この結果から考えられることは、flat frame自身でのノイズ除去があまりうまくいっていなくて、細かいカラーノイズが大きな構造のノイズになってしまったからです。

少なくとも、これらの結果からflat frameが縞ノイズに影響を与えているのは間違いないでしょう。ただし、あくまでこれも限られた環境、限られた条件下での話の可能性もあります。ここら辺は次回以降に検討してきます。


とりあえずのまとめ

どうも聞いていると、縞ノイズに困っている人と困っていない人がいるみたいです。なので、一概に今回の結果が正しいとは言えないと思いますが、flat補正の影響は私と同じような状況の人には朗報となるかもしれません。でもflatが原因の全てだなんていうことを言う気は全くありません。あくまで原因の一つであるのではないかということです。

いろいろ検索してみましたが、flat補正が縞ノイズの原因だとバッチリ書いてあるところは見つかりませんでした。むしろこれまで思っていた通り、flat補正をきちんとすると縞ノイズが解決できるはずだと書いてある記述はたくさん見つかりました。普通だとこちらのセンスの方が正しといと思ってしまうのは、ある意味ごくごく普通でしょう。そもそもなんでflat補正が縞ノイズに対してダメなのか、まだよくわかっていません。これからいろいろ検証していきたいところです。

今回、縞ノイズに対する根本的な解決策を示したわけではありませんが、状況によってはflat補正を外して画像処理することで、縞ノイズを軽減できる可能性があることがわかります。その上で、PIのABEやDBE、FlatAidProなどを使ってカブリや周辺減光を減らすことで対応する必要もあるでしょうか。この場合、ゴミやアンプグローなどは除去できません。

もう一つ重要なことはは、きちんとディザーをして散らすことでしょうか。多分縞ノイズって複合原因なんです。1方向に流さないようにすること。これが重要なのは変わりません。ディザーはおそらく根本解決の方法の一つです。


この記事まだまだ続きそうです。今回はバラ星雲での撮影のみ取り上げましたが、次回は過去に出た縞ノイズの場合なども検討してみたいと思います。

 


縞ノイズを時間的に見てみる

もしかしたら興味がある人もいるかと思い、縞ノイズを時間的に可視化してみました。先のバラ星雲の1日目のディザーなしで撮影した失敗画像約2時間ぶんの24枚を使っています。中心あたりの一部を拡大して見ています。といってもやったことは簡単で、ディザーなしで撮影した画像を、PixInsightで動画にしただけです。

Blink

これはガイドをしていても、たわみなどでガイド鏡と撮影鏡筒の相対的な視野が一方向にずれてしまうために起きます。それでももしノイズが完全にランダムなら、このように流れるようには見えないはずです。ノイズが流れて見えるということは、ノイズに時間的なコヒーレンスがあるということです。うーん、結構ありますね。あれだけの縞ノイズになるのもわかる気がします。

integration_DBE_PCC_AS_cut



縞ノイズ動画の作り方

さて、この動画の作り方です。今回縞ノイズを時間的にみる目的でしたが、このやり方覚えておくと色々応用が効きそうです。基本的に、PixInsightを使います。
  1. 普通にBatchPreprocessing 処理などで進めます。
  2. master以下のregsteredフォルダに入っている、位置合わせまで終わって、Integrationする寸前のファイルを使います。ここまでは普通にDebayerしてStarAlignmentでも構いません。
  3. Blinkでそれらのファイルを開きます。
  4. とりあえずは、デフォルト機能の再生ボタン(右三角)を押すと確認できますが、順に動画のようになるように見せるだけです。オートストレッチもできるのでみやすくなります。カラーバランスが悪い場合は、RGBのリンクをオン/オフする「鎖マーク」のアイコンを押してください。
  5. Previewで一部を切り取るとその部分だけ拡大して見えます。
  6. それをBlink画面の右下の一番右端の撮影開始マークアイコンで動画にします。
  7. ffmpegがない場合は別途インストールしてください。
  8. ffmpegがインストールされていても、実行ファイルをフルパスで入れないとダメでした。/usr/local/bin/ffmpegとかいうことです。
  9. オプションは秒20コマのgifファイルにしたかったので、 -y -r 20 -i Blink%05d.png Blink.gifとしました。
このように結構簡単に動画を作ることができます。


M42の場合

もう一つ例です。TSA-120でM42を撮影した時のものです。約30分くらいの撮影時間で、枚数は14枚です。これはディザーもそうですが、ガイドさえもしてないので赤道儀の極軸の精度が悪くてずれていってしまっているものです。上のバラ星雲のように画像の一部ではなくて、ほぼ全体像を示しています。解像度はこのブログにアップできるように(一画像当たり5MBが制限)落としてあります。

Blink

縞ノイズの原因となるクールノイズなどに混ざって、おそらくバイアスノイズに相当する縦線のように見えるノイズも流れていることがわかります。基本的にランダムでないノイズは、全て縞ノイズになり得るだろうことがわかります。

これを普通にスタックすると下のように縞ノイズが盛大に出てくるわけです。

integration



バラ星雲のもそうですが、時間的にこれだけ明らかに変化しているのがわかるのなら、なんとか分離してペラっと一枚皮を剥ぐようにこのノイズだけ取れないですかね?

このページのトップヘ