天文はかせ幕下

「いちばんはじめのストレッチ」

f:id:snct-astro:20210501152243j:plain

はじめに

冒頭の黒い四角は、Pixinsightにてフラット補正やダーク減算、スタッキングを終えたのちの天体写真です。"Linear画像"と呼ばれることもあります。ここから被り補正やカラーバランスの調整、場合によってはDeconvolution、ノイズ処理を行った後に"nonlinear"なストレッチを行います。

”Linear”画像を”nonlinear”に持っていくストレッチを、ここでは「いちばんはじめのストレッチ」と呼びたいと思います。

その方法は、用いる画像処理ソフトによって色々な方法があるようです。顧問なりにまとめてみました:

  1. [Photoshop] レベル補正とトーンカーブをつかって少しづつ強調していく。ときには複雑なマスクなども駆使する。
  2. [StellaImage] ディジタル現像で輝度を調整し、マトリクス色彩強調で彩度を調整する。
  3. [FlatAidePro] 対数現像で輝度を調整。
  4. [Pixinsight] MaskedStretch, AutoHistgram, HistgramTransformation, CurvesTransformation, ArcsinhStretch など選択肢が多数ありカオス状態。

といったところでしょうか。まず[Photoshop] の方法は、非常に時間がかかる上に再現性が低いのが問題です。顧問も昔はこの方法を使っていて、精神状態によって結果が変わるのがしんどかった覚えがあります。つぎの二つ[StellaImage] と[FlatAidePro]の方法は、調整するパラメータが最小限で再現性があります。しかしその中身は、定式化されたトーンカーブ調整に過ぎず*1私としては、もう少し工夫の余地があるかもなーとも感じています。

で、最近の画像処理では主流になりつつあるとおもわれる[Pixinsight]ですが、上に書いた通り選択肢が分岐していて、「使う人それぞれ」状態です。そこでTwitterでアンケートとってみました

f:id:snct-astro:20210501202032p:plain

一番人気のArcsinhStretchは色を保存するストレッチ法で、輝度を強くすると同時に、色が白に近づいて彩度が落ちることを防いでくれる手法です。星雲の色を引き出しやすい特徴がある一方、しかし淡い部分のあぶり出しにはそれほど適していません。2番人気のHistgram / Curves Transformationは、PhotoShopで使うトーンカーブ調整ですね(ただCurves..では彩度の選択的強調のできます)顧問的には意外だった3番人気のMaskedStretchは、輝度の高い部分にマスクをかけながら数十回から100回ほどにわけて細かくストレッチ行うアルゴリズムで、輝度の飽和を防ぎながら淡い部分を引き出すことができます(まさにPhotoshopでの職人技がオートマチックになったような方法です)、しかし色の出方はAsinhStretchに劣ります。

顧問としては、ArcsinhStretchとMaskedStretchのいいところ取りをできればベストと考えます。

そしてそれは実に単純な方法で実現できます。何で今まで思いつかなかったのかと思うほど簡単なので、ひょっとしたらすでに多くの方が実践されているかもと恐れつつ、紹介いたします。

ArcsinhStretchとMaskedStretchのいいとこ取り

プロセスは単純です。元画像から輝度情報(以下、L画像)を取り出して、それにMaskedStretchをかける。元のRGB画像にはAsinhStretchをかけ、あとから合成するだけです。それだけで「分かった」という方は以下を読む必要はありません。

  1. ストレッチしたい画像を用意し、あらかじめ、L画像を抜き出しておきます・
    (下の写真のように、画像をアクティブにした状態で "Image" > "Extract" > "Lightness(CIE L*)”と選択)

    f:id:snct-astro:20210501192119p:plain

  2. もとのカラー画像に対して、好みの強度でArcsinhStretchを施す。下の画像は、カラー画像にArcsinhStretchを施した後のものです

    f:id:snct-astro:20210501192726p:plain
    この工程は1回目Stretch factor=40, 2回Stretch factor=7くらいを目安に分けて行うのが良いと言われています。

  3. ストレッチが終わったら、以下のようにしてカラー画像の背景の輝度値を測定しておきます。

    f:id:snct-astro:20210501193303p:plain上の例では、背景輝度はおよそ0.15でした。この背景の輝度を暗めに押さえておくと、次に行う Masked Stretchの強度を落とすことになります。ストレッチを弱めにしたい場合は背景輝度を落とすと良いです。

  4. 次に 1. で用意しておいたL画像を開き、これにMaskedStretchをかけます。このとき、"Target Background"の値を、ArcsinhStretchを施したカラー画像の背景輝度(ここでは0.15)に指定し、その背景値を測定した付近に"Background reference"のpreviewを設定しておきます

    f:id:snct-astro:20210501194105p:plain

  5. そしたら最後に、LRGBCombinatinで、MaskedStretchをかけたL画像とArcsinhStretchをかけたRGB画像を合成します。これは以下の画像に示す手順を使うと楽です。

    f:id:snct-astro:20210501195033p:plain
    つまりL画像にMaskedStretch後のL画像を指定しておき、RGBチェックを外した状態でAsinhStretch後のカラー画像に「青い三角マーク」をドラッグします。この方法は「楽しい天体観測」で有名なNiwaさんに教わりましたが、いまいち謎な操作法ですよね。ちなみにL画像を指定するときも、L画像のウインドウの青い部分をタグの部分を白枠部分にドラッグして指定できるので便利です!

以上です。結果は以下の通りです

結果の比較

まずは今回紹介した、MaskedStretchとArcsinhStretchのLRGB合成から↓

f:id:snct-astro:20210501200737j:plain

 

次はMaskedStretchのみの結果↓

f:id:snct-astro:20210501200751j:plain


 最後にArcsinhStretchのみの結果です↓

f:id:snct-astro:20210501201036j:plain

MaskedStretchのみの画像は色の出方が弱く、ArcsinhStretchは淡いところがイマイチですが、今回の方法は色ノリ良く&淡いところも出ていると思います。

注意点としてはこの方法、ピンクスターが出やすいです。それが気になる場合は、L画像にMaskedStretchをかける前にHistgramTransformationで星の輝度を飽和させておくか(M&Mさんがやられていた方法)、蒼月城さんがYoutubeで紹介していたRepaired HSV Separationを適用するといいかと思います。

それでは以上です。ありがとうございました。

 

サムネ用:

f:id:snct-astro:20210501201750p:plain


 

 

*1:拙ブログの記事を参照ください

snct-astro.hatenadiary.jp

snct-astro.hatenadiary.jp