実録! アンドロメダ銀河の画像処理手順 – PixInsight

M31 アンドロメダ銀河
M31 アンドロメダ銀河

ずっと楽しみにしていたアンドロメダ銀河の撮影。自分としては気に入っており、処理手順を記録しておくことにしました。たくさんの方が撮影する大型天体なので、手順の違いを比較してより良いプロセスにできると良いなと思っています。個々の処理の説明はこちらの全体フローなど他の記事にまかせ、ここでは処理手順を中心に記載しました。(実はこの投稿のあとに、処理手順に間違いがいくつか見つかりました。反省版も合わせてご覧ください)

撮影方法

BORG 72FL + レデューサー(288mm)に、ノーマル機のFujifilm X-T30を接続、一軸赤道儀のSWAT-310V-specでノータッチガイドで撮影しました。ISOは3200、露出時間は60秒です。2.5時間 150枚撮影しましたが使用できたのは122枚。28枚はブレたり追尾ミスで非採用です。

SWAT 310V-specは高性能なので露出時間は2分くらい余裕なんですが、60秒を選択したのには訳があります。ひとつはまだ撮影技術が追いついていなくて、像が二重になったり星が伸びたりミスが多いことです。60秒ならひとつのミスにつき60秒捨てるだけですみますが、120秒ですと120秒捨てることになります。今回、28回のミスがあって28分を捨てましたが、120秒露出では連続ミスも考慮すると2倍の56分とは言わないまでも40〜50分捨てることになります。それはもったいない。

もうひとつは飽和対策です。大型の明るい銀河ですのでバルジが飽和することを懸念しました。飽和してしまった画像は完全に情報を失うので、あとから何をしても無理です。慣れてくればモニター画面から適正な露出も判断できそうですが、いかんせん初めてのアンドロメダ撮影。慎重を期して短い露出時間にしました。長い露出時間は今後のテーマです。

一枚のRAWはこんな感じです。意図的ではないですが選んだのが人工衛星が写り込んだ画像でした。ちなみに私はこれまで人工衛星の入った画像は採用しませんでしたが、いまはスタックの対象に入れています。人工衛星の軌跡は光が強いので簡単にリジェクトできるので、他に問題ないのなら捨てるのがもったいないからです。PixInsightのマニュアルでも人工衛星の入った画像は採用するよう推奨しています。

RAWデータをSTFした画像
RAWデータをSTFした画像

Bias, Darkはそれぞれ120枚撮影しました。Darkは一枚につき60秒かかります。撮影に2時間かかるので帰り支度しながら撮影を始め、車のトランクにいれておく作戦にしました。明け方だったので同じくらいの温度になったと思います。Flatは翌日、夕方の曇り空に向かってトレーシングペーパーを使って撮影しています。まだ空が青くFlatも青くなりましたが、明るさだけを使うものなので色は関係なく比較的うまくとれました。空の明るさが変わるので120枚の3セットで360枚撮影して比較しました。一番出来が良かったのはヒストグラムの左側1/4〜1/3くらいのもの。それより暗いとノイズが増えており採用しませんでした。

採用した処理フロー

個々の説明の前にPixInsightの処理フローを最初にまとめて記載します。

  • 前処理
    • BPP (Calibrate Only)
    • SubframeSelector
    • StarAlignment
    • ImageIntegration
    • DrizzleIntegration
  • 後処理 – リニアフェーズ
    • Deconvolution
    • PhotometricColorCalibration
  • 後処理 – ノンリニアフェーズ
    • HistogramTransformation
    • SCNR
    • HDRMultiscaleTransform
    • LocalHistogramEqualization
    • SCNR (2回目)
    • CurvesTransformation
    • HistogramTransformation
    • Rotation
    • DynamicCrop

では各処理について説明します!

前処理

Blinkを使った150枚から135枚程度を選択したあと、WBPPにBias, Dark, Flatの360枚と一緒にWBPPに放り込み実行して前処理完了!・・・のはずが、エラー頻発で終わりません。やはり私の4年もののMacには荷が重いのか?速いPCが欲しくなりますが、いやお金をかけるならCMOSカメラ・・・とか思いながら、試行錯誤を始めてはや48時間。まだ終わりません。Calibrate、Demosaicまでは処理できるので、その先は一つずつマニュアルでやることにしました。

まずBPPでCalibrate Onlyを選択して実行します。これでLightsのCalibrateと各種マスターができます。

次にWBPPの肝である重みづけで、これはSubframeSelectorを使います。ここで評価が低い画像も削除したため最終的に122枚が採用されました。SubframeSelectorの使い方は別の機会にまとめたいと思います。

このあとStarAlignmentと上記で作った重みを使ったImageIntegrationによる、位置合わせとスタックで前処理が終わりです。

今回はちょっと欲張ってここからDrizzle処理をしました。Drizzleとは解像度を上げる処理でデフォルトでは縦横2倍ずつ、面積にして4倍のピクセル数に変換します。DrizzleIntegrationというプロセスを利用します。効果は絶大で・・・これ以降の後処理がもっさり遅くなりました。ご老体のMacにはご苦労とご不便をおかけしてしまいました。それで肝心の効果はというと、確かに解像度は増しています。

Drizzleあり、なし比較
Drizzleあり、なし比較

またバックグランドのムラも減っています。しかしDrizzleなしでも十分とも思います。そういえば、今回はノイズリダクションは一度もかけませんでした。もしかしたら効果があったのかもしれません。もっさりするといっても、我慢できるレベルなので、今後もやれるものはやっておこうと考えています。

ちなみにここまでで丸3日かかってしまいました。WBPPの失敗に時間がかかったのが主因です。

後処理 – リニアフェーズ

この時点でできたイメージがこちらです。リンクなしでSTFしてあります。

前処理が終わったばかりの画像
前処理が終わったばかりの画像

思ったより綺麗に前処理が終わりました。前処理に3日かかってどんな結果になるかヤキモキしていたので安堵したのを覚えています・・・すみません、嘘をつきました。ちゃんと撮れていたので、小躍りして喜びました。

このあと通常ならABEかDBEを実行するところですが、今回はしていません。実行するとムラが出て画像が悪化してしまったのと、なくても問題ないだろう、という判断からです。(投稿してから分かった事実ですが、この判断がまちがいだったことが後ほどわかります。)

次にDeconvolutionを実施しました。解説した方法とほぼ同じ手順で実施しています。ノイズが少なかったので、MutiscaleLinearTransformもパスしました。

次にPhotometricColorCalibrationです。画像にムラがあるときはエラーが出ることがありますが、今回は楽勝!と思っていたらまやもやエラーがでました・・・。パラメーターちょいちょいいじってもエラーは消えません。「やばいかも」と思いはじめ、ネットも検索しはじめるとPCCのエラーでDrizzleのことが言及された記事を発見。「そっか、解像度2倍だから、ピクセルサイズが半分・・」早速、私のセンサーの3.75を2で割って1.88にしたところ、エラーなく処理が終わりました。

後処理 – ノンリニアフェーズ

いつものように、STFのデータをHistogramTransformationに移しました。ArcsinhStretchを使ってストレッチされる方が多いと思いますが、私は使わない主義です。なぜなら・・・わかんないんです、やり方が・・・いつも色が変なことになっちゃいます。もう少し勉強して出直します。気を取り直して、ストレッチした直後の画像がこちらです。

ストレッチ直後
ストレッチ直後

緑がかっているので、先にSCNRをかけました。いろいろ試してみて一番具合がよかったAmountを0.75にしました。

SCNRをかける
SCNRをかける

つぎにHDRMultiScaleTransformですが、またしてもはまります。この先、LHE、 CT、 HT、DynamicCropそしてJPEG最終化までの工程をたどりますが、そのプロセスを3-4回繰り返すことになりました。なんかピシッと決まらないのです。前処理をしてできた透き通った画像の清廉さが薄れ、どんどんぐちゃぐちゃ、ごてごて、わかんなくなっていきます。ところが数回目のHDRMultiScaleTransformで突如画像が変わりました。調べてみるとLightness maskをオンにしたつもりで間違ってTo lightnessをオンにしていました。

To lightnessの効果

To lightnessの効果

おお〜。To lightnessとは、色を数値化する手法のひとつであるL*a*b*色空間のうち、L*つまり明度のみに効果を効かせるオプションです。これまであまり効かなかったのでオフにしていましたが今回は劇的でした。これほどの明るい画像を撮ったのは初めてだったので、それも良かったのかもしれません。ちなみにLayer数はいつもより多めの9です。

つぎにLocalHistogramEqualizationを初めて使いました。 コントラストが低い部分を高くする効果があり、とくに銀河の淡い部分を強くします。Contrast Unitは1.4、Amountは0.5にしました。

これで納得・・と思ったのですが、またCT、HTしてJPEGに最終化したところで、銀河の周りの淡い光が減ってしまったことに気付きました。Undoして戻っていくとHDRMultiscaleTransformで光を失っています。

銀河の周りの光が減っている
HDRMultiscaleTransformで銀河の周りの光が減っている

そこでRangeMaskで保護することにしました。最初は銀河をカバーする領域の小さめのマスクを作りました。

失敗したマスク 銀河の周りに境目ができてしまった
失敗したマスク 銀河の周りに境目ができてしまった

しかし、そのマスクを使って後続の作業をすると処理がかかった銀河中心部分とかかっていない周辺部分がくっきり分かれて人工的になりました。そこでマスクを大きめにとり、銀河の周りの淡い部分はFuzzinessを大きくして効果を減らすようにしました。

Fuzzinessを高くして銀河の周りを柔らかく保護
うまくいったマスク Fuzzinessを高くして銀河の周りを柔らかく保護

マスクは白黒画像なので1か0のようにオンとオフのような印象がありますが、実際にはうっすらかけるというように、0と1の間の効果を減らすようなかけ方をすることができます。とにもかくにも今回は銀河の周りはこれでうっすらかかっているはずです。こうして難産の末、HDRMultiscaleとLocalHistogramEqualizationを突破した画像がこちらです。

Maskが効きました
Maskが効きました

少し緑がかっている印象があるので、ここでもう一度SCNRを実行しました。Amountは0.5です。

次にCurvesTransformationによる色調整です。一番右の「S」ボタンをおして彩度を少しあげます。そのままのマスクで実行したら今度は銀河の周りの淡い光に変な色がのったので、今度はボツにした小さいマスクを採用しました。彩度をあげるときは、つい上げ過ぎてしまいますが不自然になるため上げ過ぎに注意して少しずつあげていきます。

CurvesTransformationによる彩度の調整
CurvesTransformationによる彩度の調整

次に背景を暗くします。HistogramTransformationのシャドークリッピングを右に寄せました。空が真っ黒になることはないので、私は背景は完全に黒くせずグレーにするのが好みです。クリッピングしすぎないようにしました。

HistogramTransformationで背景をひきしめる
HistogramTransformationで背景をひきしめる

ここでTGVDenoiseをかけましたが、ほとんど変化がなかったのでUndoしました。結局今回はノイズリダクションはしませんでした。ちょっと夢のよう。最後に北を上にするよう時計回りに90度回転し、銀河の位置が真ん中になるよう少し周りをトリミングしてJPEG化しました。ただアンドロメダは北を上にするとひっくり返るので、西が上の横長バージョンも作りました。

また最初にスタックが終わった画像の色味が気に入っていたので、JPEG画像をAdobe Lightroomで色温度を少し下げました。色温度の調整もPixInsightで完結できるようになりたいのですが、それは今後の研究テーマです。

こんな感じです。試行錯誤を要するのがPixInsightですが、今回は難産でした。まだ試してみたいことがあり、発見があったら報告します!

タイトルとURLをコピーしました