星降る場所を求めて

RGB+Ha/O3で悩んだ一年の結論 Continuum Subtraction という考え方

― 今年、RGB+Ha/O3で一番悩んだこと

今年は、撮影した天体をほぼすべて撮り直す勢いで、画像処理を見直した一年でした。
中でも一番時間をかけ、そして一番悩んだのが RGB画像への Ha / O3 ブレンド です。

Ha を足すと赤が濁る。
O3 を足すと背景が荒れたり、全体が青く転んでしまう。
「ブレンド量が多いのかな」「彩度を上げすぎたのかな」と、数値を変えては試行錯誤を繰り返してきました。

当時はそれが“足し方”の問題だと思っていました。
しかし、何度やり直してもどこか不自然さが残る。
淡い構造は出るのに、全体の色調がまとまらない──
そんなモヤモヤを抱えたまま、今年の後半に突入していきました。

転機になったのは、「足す前に、引くべきものがある」という考え方に出会ったことです。
Ha や O3 には、本来の輝線成分だけでなく、星や背景由来の連続光(Continuum)が混ざっています。
それを理解したとき、これまで感じていた違和感が一気につながりました。

この考え方を具体的な処理として形にしてくれたのが
Continuum Subtraction Utility Script です。

この記事では、
「なぜ Continuum を引く必要があるのか」
「このスクリプトが何をしてくれるのか」
そして、私自身が今年たどり着いた結論を、実体験を交えながら整理していきたいと思います。

Continuum とは何か

― Ha / O3 画像に混ざっている「もう一つの成分」

Ha や O3 で撮影した画像は、
「Hα線だけ」「OIII線だけ」が写っているように感じますが、
実際にはそれだけではありません。

そこには、

  • 星が放つ連続した光
  • 空の明るさや光害由来の成分
  • センサーや光学系による背景成分

といった、輝線以外の光が必ず混ざっています。
この「輝線ではない連続的な光成分」を Continuum(連続光) と呼びます。

つまり、Ha画像は単純に「Haだけの画像」ではなく、

Ha(輝線)+ Continuum(星・背景)

という合成状態になっている、ということです。

なぜ RGB ブレンドが破綻していたのか

ここで、今年ずっと悩んでいた現象を思い返してみます。

  • Haを足すと星が赤くなる
  • O3を足すと背景がザラつく
  • 彩度を下げると構造まで死んでしまう

RGB画像にはすでに、

  • 星の色
  • 背景の連続光

が含まれています。
そこへ Continuum を含んだ Ha / O3 をそのまま加えると、

「同じ星の光を、RGBとNBの両方から足す」

という状態になります。

結果として、

  • 星だけが過剰に強調される
  • 色が濁る
  • 背景の質感が崩れる

といった違和感につながっていました。

当時は
「ブレンド量が多いから」
「彩度が強すぎるから」
と思っていましたが、
本質的な問題は 足し算の前段階 にあったわけです。

「足す」前に「引く」という発想

ここで登場するのが、Continuum Subtraction という考え方です。

やることはシンプルで、

  1. RGB画像から
    星や背景の「連続光成分」を推定する
  2. それを Ha / O3 画像から引く
  3. 輝線成分だけに近づけた NB 画像を作る

という処理です。

こうして得られた Ha / O3 は、

  • 星の影響が少ない
  • 色が素直
  • RGBに足しても破綻しにくい

という、ブレンドに向いた素材になります。

「どう足すか」を考える前に、
「何を取り除くか」を整理する。

この発想に切り替えられたことが、
今年の画像処理で一番大きな収穫でした。

Continuum Subtraction Utility Script の役割

Continuum Subtraction Utility Script は、
単に Ha や O3 画像から Continuum を「引き算する」ためのツールではありません。

このスクリプトの本質的な役割は、
減算によって扱いにくくなった画像を、次の工程で使える状態に整えることにあります。

まず、RGB画像を参照しながら、
Ha や O3 画像に混ざっている 星や背景由来の連続光(Continuum)成分を推定します。
ここで使われる RGB は単純な平均ではなく、
各ナローバンドに近い波長帯を考慮した重み付けがなされています。

次に、その Continuum 成分を Ha / O3 画像から減算します。
この段階では、

  • 星の影響が弱まる
  • 背景の質感が変化する
  • 画像全体の平均レベルが下がる

といった変化が起きます。
一見すると使いにくい画像になったように感じますが、これは正常な状態です。

重要なのはその後で、
スクリプトは減算によって崩れやすくなった背景レベルを自動的に整え、
極端な負値やレベルの偏りが出ないように調整を行います。
人の手で行うなら、
LinearFit や軽い背景ノーマライズをかけているイメージに近い処理です。

さらに、O3で起こりやすい色の転びに対しても、このスクリプトは効果的です。
O3(OIII)は RGB の B 成分に強く乗る一方で、
星や背景の連続光も一緒に含まれやすく、
処理の途中で青〜シアン方向へ色が転んだり、背景が不自然に冷たくなりがちです。

そのため、O3 の Continuum 成分を見積もる参照として
RGB の G 画像を用いる運用がよく行われます。
G 画像は、星や背景の連続光を比較的素直に表しつつ、
O3 の主成分である青〜シアンに強く引っ張られにくいという特性があります。
これにより、O3 から「連続光っぽい成分」だけを引き、
O3 由来の構造を残しやすくなります。

結果として、減算後であっても色調が破綻しにくく、
O3 を RGB にブレンドした際に起こりやすい
「全体が青くなる」「星がシアンに寄る」といった問題を抑えることができます。

このように、Continuum Subtraction Utility Script は
「引き算 → 背景レベルの整形 → 色バランスの補正」までを一連の処理としてまとめた、
ブレンド前専用の下処理スクリプトだと言えます。

派手に見た目が変わる処理ではありませんが、
この工程を挟むことで、その後の PixelMath や ImageBlend による合成が
驚くほど安定するようになります。

Continuum Subtraction を使わなくていいケース

Continuum Subtraction は非常に有効な処理ですが、
すべてのケースで必須というわけではありません。

まず、以下のような場合は、
無理に使わなくても問題ない、もしくは効果が薄いことがあります。

  • Ha / O3 を ほとんどアクセント程度に使う場合
  • 星雲の輝線よりも RGBそのものの色や質感を重視したい場合
  • RGBのS/Nが低く、Continuum推定が不安定になりそうな場合

特に、反射星雲主体の対象や、
RGBだけで十分に完成度が高い画像では、
Continuum Subtraction を行うことで
かえって情報を削ってしまうこともあります。

また、
「とにかく淡い構造を最大限あぶり出したい」
という目的の場合、
Continuum を引くことで構造が痩せたように感じるケースもあります。

Continuum Subtraction は
「仕上がりを派手にする処理」ではなく、
ブレンドを安定させるための下処理
です。

最終的に何を表現したいのかを考えた上で、
使う・使わないを判断するのが大切だと感じています。


使うための前提条件

― RGBの質が結果を左右する

Continuum Subtraction Utility Script を使う上で、
最も重要なのは RGB画像の質 です。

なぜなら、このスクリプトは
RGB画像を元に「連続光(Continuum)」を推定しているからです。

そのため、RGBについては以下の点を意識しています。

  • RGBとHa / O3が 正確にアライメントされていること
  • RGBが Linear状態であること
  • 星や背景が極端に荒れていないこと
  • 可能であれば、ある程度の S/Nが確保されていること

RGBのS/Nが低い場合、
Continuum 推定そのものが不安定になり、

  • 引きすぎる
  • ムラが出る
  • 色バランスが崩れる

といった原因になります。

このスクリプトは
「悪いRGBを魔法のように補正する」ものではなく、
良いRGBを土台として、NBを整理する処理だと考えた方が安全です。


星消し前?星消し後?

― 私がたどり着いた結論

Continuum Subtraction を
「星消し前にやるか、後にやるか」
これは、実際にかなり悩んだポイントでした。

結論から言うと、
基本は“星消し前”に行うのが扱いやすいと感じています。

理由はシンプルで、

  • Continuum の大部分は「星」に由来する
  • 星が残っている方が、連続光の推定が安定する
  • RGBとNBの対応関係が自然

からです。

先に星を消してしまうと、

  • Continuum推定が弱くなる
  • 引き算が効きにくくなる
  • 背景だけが過剰に変化する

といったことが起こりやすくなります。

ただし例外もあり、

  • Starless RGB / Starless NB を前提とした合成
  • 星は完全に別管理(後乗せ)する場合

このようなワークフローでは、
星消し後に Continuum Subtraction を試す価値もあります。

私自身は現在、

  1. RGB / Ha / O3 を Linear で揃える
  2. 星ありの状態で Continuum Subtraction
  3. その後に星分離・ブレンド処理

という流れに落ち着いています。

星を消してContinuum Subtraction実行して処理した画像〜Ha画像がオレンジっぽくなって不自然
星を残したままContinuum Subtraction実行して処理〜自然に馴染んでる

Continuum Subtraction Utility Script の使用方法

ここからは、実際の処理例をもとに
Continuum Subtraction Utility Script の使い方を整理します。

細かい数値設定よりも、
「どの画像を、どの状態で渡すのか」
という流れを重視しています。

使用する準備画像

まず用意するのは、以下の Linear状態の画像 です。

  • RGB画像
  • G画像(O3用 Continuum 推定に使用)
  • Ha画像
  • O3画像

すべて 同一アライメント で揃っている必要があります。
この時点では、星は 残したまま で問題ありません。

① 星あり/星なしの選択

PDF内の①で示されている通り、
スクリプトには 「星あり(Starry)」と「星なし(Starless)」 の選択があります。

私は基本的に、
星あり(Starry) を選択しています。

理由は、

  • Continuum の多くが星由来であること
  • 星が残っている方が連続光の推定が安定すること

からです。

星を完全に別管理するワークフローの場合を除き、
まずは星ありで試すのがおすすめです。

② 必要な画像の指定

次に、PDF内②の赤枠部分で、
各スロットに画像を指定します。

  • Emission Line Group
    • Ha画像
    • O3画像
  • Continuum Group
    • Red / RGB画像
    • Green(G)画像

特に O3 処理で G 画像を指定する 点が重要です。
G画像は、星や背景の連続光を素直に表しつつ、
O3 の主成分(青〜シアン)に引っ張られにくいため、
O3 Continuum の推定に適しています。

ノイズリダクションと出力設定

PDFにも記載されている通り、
私はここでは ノイズリダクションのチェックを入れていません

理由は、

  • 減算結果の素の状態を確認したい
  • ノイズ処理は後段でまとめて行いたい

からです。

また、
「Linearで出力」 にチェックを入れ、
この後の PixelMath や ImageBlend に使いやすい状態で出力します。

実行後に得られる出力画像

スクリプトを実行すると、以下の画像が得られます。

  • Continuum Subtraction 後の Ha画像
  • Continuum Subtraction 後の O3画像

これらは、

  • 星の影響が抑えられている
  • 背景レベルと色バランスが整っている
  • ブレンドに直接使える

という状態になっています。

星の除去について

画像右側に示されている通り、
この後に StarXTerminator などで星を除去 します 使用方法。

  • RGB
  • Ha
  • O3

それぞれの画像から星を除去し、
星雲成分と星成分を分離して扱います。

この順序にすることで、

  • Continuum 推定は星ありで安定
  • その後の合成は星なしで自由度が高い

という、両方のメリットを活かすことができます。

この手順で得られる効果

この流れで Continuum Subtraction を行うと、

  • Ha / O3 を RGB に足しても色が濁りにくい
  • 星の色転びが起きにくい
  • ブレンド量の調整がシンプルになる

といった効果を実感できました。

特に、
「ブレンド量を減らして誤魔化す」必要がなくなる
という点は、大きなメリットだと感じています。

この後の手順・・・

参考にしてください。

・PixelMathUI-SimpleStretch で各画像をストレッチ

・CombineRGBandNarrowband で各画像を合成

Balanceのスライダーでブレンド量を調整

このあとは、お好みでレタッチ
その後、星を戻してノイズリダクションかけて完成。

― M33 を例に感じた違い

例えば M33(さんかく座銀河)では、
Ha や O3 を使うことで HII 領域の存在感を強調できますが、
同時に「やりすぎ感」が出やすい対象でもあります。

Continuum Subtraction を行わずにブレンドすると、

  • 星が赤やシアンに寄る
  • 銀河本体の色調が崩れる
  • 全体が落ち着かない印象になる

ということがありました。

一方、Continuum Subtraction を行った Ha / O3 を使うと、

  • HII 領域だけが自然に浮き上がる
  • 星の色は RGB のまま保たれる
  • 銀河全体のトーンが安定する

という違いをはっきり感じました。

「Ha / O3 を足した」という主張が前に出るのではなく、
結果として“情報量が増えたように見える”
そんな仕上がりになります。

PixelMath / ImageBlend へのつなぎ方

― 「足しすぎを恐れなくていい」状態を作る

Continuum Subtraction を行った Ha / O3 は、
そのまま PixelMath や ImageBlend に投入できます。

このときの考え方は、とてもシンプルです。

  • Ha / O3 は「構造情報」として使う
  • 色はあくまで RGB が主体
  • 微調整はブレンド係数で行う

Continuum を引いていない場合、
PixelMath 側で

  • 係数を極端に小さくする
  • 彩度で誤魔化す

といった調整が必要になることが多いですが、
Continuum Subtraction 後は、
係数を上げても破綻しにくい ため、調整が非常に楽になります。

ImageBlend を使う場合も同様で、

  • 背景の馴染みが良い
  • 星周りの違和感が出にくい
  • LHE や HDR をかけても崩れにくい

というメリットがあります。

結果として、

へ意識が移っていきました。

まとめ

Continuum Subtraction Utility Script は、
派手な変化を生むスクリプトではありません。

しかし、

  • RGB+Ha / O3 ブレンドが安定する
  • 星や背景の破綻を防げる
  • 後工程の自由度が大きく上がる

という点で、
結果を左右する“土台作り”の処理だと感じています。

今年は
「どう足すか」ではなく
「何を引いてから足すか」
を学んだ一年でした。

この考え方は、
HDR処理、ImageBlend、星の扱いなど、
今年悩んできた他のテーマにもつながっています。

今回使用した各Scriptのリポジトリアドレス

Continuum Subtraction Utility Script Repository address:
https://raw.githubusercontent.com/setiastro/pixinsight-updates/main/

PixelMathUI Repository address:
https://www.cosmicphotons.com/pi-scripts/pixelmathui/

ImageBlend Repository address:
https://www.cosmicphotons.com/pi-scripts/imageblend/

CombineRGBandNarrowband Repository address:
https://www.ideviceapps.de/PixInsight/Utilities/

コメント

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