ハート星雲と馬頭星雲の撮影を通じて、LRGB合成を伴うPixInsightのフローと格闘し、いったんLRGB+ナローバンドのPixInsightの処理フローを固めてみました。まずは、フローのご紹介を。
カラー画像は採用する処理、順序はいろいろあれど基本的に一本道。一方でモノクロは複数のフローが並行して走るためバリエーションも飛躍的に多くなります。今回のフローはInside PixInsideに記載されたフローからスタートしてネットにある各種情報を取り入れて構築しました。このフローをベースに今後、改善を加えようと思います。それではこのフローの説明をします!
共通の前処理
撮影したデータを処理しやすくするため、位置合わせやトリミングなど共通の処理を最初にします。まずはお馴染みのWBPPから。
(1) WBPP
Bias, Dark, Flat, LightをまとめてWBPPに入れます。感心したのはWBPPの使いやすさ。まとめてAdd Filesに放り込むと、ファイル種類、露出時間、フィルターごとに自動仕分けしてくれます。取り扱うデータの種類が多くなるモノクロではとてもありがたい。実行すると、フィルターごと、露出時間ごとのマスターファイルが出来上がります。
(2) DynamicCropによる切り出し
Integration済みのマスターファイルは端の方の画像が荒れていることが多いので、初期のタイミングでCropすることにしました。重要なのはStar Alignmentにより位置合わせが済んでいますので、全てのファイルで同じ位置を切り出さなければいけないこと。PixInsightの▲マークのインスタンス機能が活躍します。
まずどれか代表のイメージで切り出し位置を設定します。そのあと(ここが大事なのですが)、✔︎マークでDynamicCropを実行する前に▲マークで他の画像に切り出し位置を指定していきます。他の画像のすべてに▲をドロップしたら、✔︎マークで自分もCropします。
あれほど謎オペだった▲インスタンスがとっても便利機能に思われます。
(3) DBE or ABEによるバックグランド処理
次もお馴染みのバックグランド処理です。DBEでもDynamicCropと同じく▲マークを全てのファイルにドロップすることで、同じサンプル打点によりDBE処理がされます。打点位置が画像ごとに同じであるべき、というよりサンプル打点の手間を省くために、このような手順としました。
冷却CMOSになってバックグランド処理は難しくなりました。カメラの写りがよいため、背景のムラのようにみえるものが光害によるかぶりなのか、Hα、暗黒星雲、星間赤化現象などの天体起因によるものか判断がつきにくいのです。ネットで公開されている同じ天体領域の作例を参考に一つひとつ判断するようにしています。
共通処理はこれで終わりです。続いて個別のフローに入ります。
RBG画像処理
LRGB画像処理は色相と彩度の色データをRGBから、明度をLから取得し合成する手法です。イメージとしてはLの下絵に、RGBで色つけをする塗り絵です。RGBデータは色を出すこととノイズを入れないことに注意しながら処理していきます。
(4) RGB合成
個別のR、G、Bの画像からカラーデータであるRGB画像を生成します。ProcessメニューのColor CalibrationからChannel Managementを起動します。
R、G、Bにそれぞれ、R画像、G画像、B画像を設定し●ボタンを押します。するとRGBのカラー画像が生成されます。
(5) PixelMathによるナローバンドとRGBの合成
ナローバンドデータがある場合、RGB画像にHαなどのナローバンドデータを合成します。私はPixelMathで合成をしていますが、NBRGBCombinationスクリプトを使うのも有効です。
(2022.7.18追記)
現在ではPCCを実施した後にHα合成をしています。PCCは星の光の色を使って色合わせをします。星の色はオリジナルのRGB画像の色なのでオリジナルのRGBだけにPCCをかけた方が正しいという考え方からです。またHα合成はストレッチを済ませてから合成することも可能です。これには正解はなく、私は画像に応じて両方ためしています。
また星雲データには新しい手法も使いました。こちらのHα合成方法もお試しください。この方法はストレッチ後のノンリニア画像に適用しています。
(6) PhotometricColorCariblation
通常のRGBデータのPCCと異なり、HαなどナローバンドデータをブレンドしたRGBに対してPCCが正しく機能するか懸念ました。Hαのブレンドに関する限り、これまでは発色良くうまく色合わせができています。今後、OIII, SIIをブレンドしたRGBでも検証を重ねたく思います。
(7) MultiscaleLinearTransform
リニアの段階でMultiscaleLinearTransformを使ってノイズリダクションをかけます。LRGB合成の場合、天体の詳細な構造を映し出す明度はLの仕事です。RGBは色相、彩度という発色を担当します。そのためRGB画像へのノイズリダクションはきつめにかけて良いと考えます。ノイズリダクションで失われた構造はLが補えるため。一方でRGBデータからノイズを混入するのは避けたいことです。Deconvolution処理もRGBでは実行していません。
(2022.7.18)
現在では私はこの処理をしていません。この段階でノイズリダクションをすることで、重要な情報を落としてしまってはいけない、という懸念からです。ノイズリダクションは画像処理の最終段階で一回ですませています。
(8) Stretch
カラー画像のようにSTFを使ったHistogramTransformation、ArchsinhStretchなどを使ってリニアからノンリニアに変換します。MaskedStretchは明るい場所を飽和を避けるために保護しながら少しずつストレッチをかけていく手法ですが、LRGB合成の場合は色相、彩度に利用するRGBデータに対してMaskedStretchを実行する意味はあまりないと考えます。Inside PixInsightでもno beneficialと記載がありました。
(9) SCNR
LRGB合成はLとRGBのマリアージュ。マリアージュの前に綺麗な色にしておきます。色合わせの最後はSCNRで不要な緑色をとります。
(10) TVGDenoise
ノイズリダクションは最大限、LRGB合成前に実施しておくべきと私は考えます。RGBであればきつめにノイズリダクションをかけても良い一方で、L画像では繊細にかける必要があります。つまり画像の役割によってノイズリダクションのパラメーターが変わるため、合成前に個別にノイズリダクションをかけたほうがよいと考えました。
とはいえ馬頭星雲の画像はそれなりに露出時間を確保していたので、RGB画像もLと同様の軽めのノイズリダクションですましています。ノイズリダクションは情報がなんらかの形で失われるので、少ないに越したことはないと思います。
次はL画像の処理です。
L画像処理
明度を担当するL画像はなるだけ詳細な構造を映し出すように処理します。
(11) Deconvolution
詳細構造をとらえるためDeconvolutionをかけています。Deconvolutionは復元処理なので種類の異なるLとHαを合成する前のL画像に対して実施してます。私は、カラー画像のときは変なノイズがのってしまう現象が多く、Deconvolutionをスキップすることも多くありましたが、L画像のDeconvolution処理はこれまでのところ、うまくできています。
(12) PixelMathによるナローバンドとL画像の合成
Hαのある場合、RGBと同じくL画像にナローバンドデータを合成します。Hαデータはは非常に繊細な構造もとらえて、私のお気に入り。L画像にもHαを合成することにしました。
(13) MultiscaleLinearTransform
なるだけリニアの段階でノイズリダクションをし、ノイズまでストレッチさせないことは重要です。そのためストレッチの直前でノイズリダクションを実行します。しかしMultiscaleLinearTranformは強力なノイズ除去ツールである一方で、妙なノイズが逆にのることも経験しています。L画像にはなるだけ少なくかけるようにします。
(14) Stretch
リニアフェーズの処理が終了したらストレッチします。L画像はグレースケールデータのため、RGBバランスを保持する特徴をもつArchsinhStretchはここではあまり意味をもたないと考えます。一方、MaskedStretchは今回は有効と考えます。また基本であるSTFを用いたHistogramTransformationも利用できます。
(15) TGVDenoise
RGBの項目で記載したように、ノイズリダクションはLRGB合成の前にそれぞれの画像特性にあわせて処理した方がよい、という立場を私はとっています。ここでTGVDenoiseをかけることでリニアフェーズで取りきれなかったノイズを除去します。
LRGB合成
いよいよメインイベントLRGB合成に入ります。LRGBはマリアージュとよく海外のサイトでは説明されています。きりりと引き締まったL画像と、色鮮やかなRGBが合成されて一つの画像になるわけです。
(16) LRGBCombination
LRGB合成にはLRGBCombinationを使います。Process-ColorSpacesメニューからLRGBCombinationを起動します。
L画像を設定します。またRGBのチェックボックスを外します。LightnessとSatuationはデフォルトのままでよいようです。Satuationの値を小さくするとより色が濃くなりますが、これらの処理はあとからCurvesTransformationなどで実行すれば良いでしょう。
▲マークをRGB画像にドロップして実行します。実行するとRGBデータの明度データがL画像のものに置き換わります。
Lを合成すると、ぼんやりしていたRGB画像が鮮明になるのがわかると思います。
(17) HDRMultiscaleTransformから(20) HistogramTransformまで
この先はカラー画像の処理フローと同じです。(18) LocalHistogramEqualizationはアンドロメダの処理フローをご覧ください。また(20) Starnet / Curvestransformによる微光星の処理もあわせてご覧ください。
(22) DarkStructureEnhance
今回から導入しました。処理フローの一番最後に使うスクリプトで暗黒星雲など黒い部分のコントラストを高めてくれます。画像が引き締まる効果がありました。Script-Utitilities-DarkStructureEnhanceで起動します。パラメータはデフォルトのままで大丈夫です。
以上がLRGB+ナローバンドの処理フローでした。このように手順が多いものの、RGBやL画像の個別の処理や、合成後の処理はカラーと変わりません。合成の手順やタイミングを注意して実行していけば無事に処理は完了します。手順が多いのは選択肢が多いことでもあるので、より良いフローになるよう、今後詰めていきたいと思っています。