PCCの緑色問題に福音? PixInsightのLinearFit

PixInsightでPCC処理をかけるとなぜかいつも緑色になってしまいます。対処に私はこれまでSCNRを多用してきましたが、それに替わる処理としてBooKuuさんからLinearFitを用いる方法をお教えいただきました。今回はLinearFitの色調整について検証しています。いろいろ面白い事実がわかりました。

もとはといえば4DTorusさんのこのツイートから3人で議論が始まりました。

このTweetでは他にマスクについても検証しましたが、それは別の機会にして今回はLinearFitに焦点を当てています。

なにはともあれ、試してみてみましょう。私が夏の遠征で撮影した網状星雲とアンドロメダ銀河を例にあげます。左側がPCC直後で右側がPCCの後にLinearFitを実行しました。

網状星雲でためしたLinearFitの効果
網状星雲でためしたLinearFitの効果
アンドロメダ銀河でためしたLinearFitの効果

ともにPCC直後の緑が抜けてすっきりしました。アンドロメダ銀河はまだ緑がかっていますが、それでもこのあとの後処理がやりやすそうです。このLinearFit、実はやっている処理はシンプルです。

LinearFitとは

LinearFitとはR、G、Bのそれぞれの画像の明るさをあわせる機能です。基準となる色と処理対象となる色を選び、同じピクセル位置に対してペアを作ります。たとえばRを基準、Gを対象とした場合、それぞれの値をとった(r1, g1), (r2, g2)・・・というピクセルのペアです。作ったペアをX軸をR画像のピクセル値、Y軸をG画像のピクセル値としてプロットすると直線状に並ぶので、フィッティングする直線を作ることができます。

LinearFitの直線フィッティング

直線をy=mx+bとすると、mがR画像に対してG画像がどれぐらいの比率で明るいか、bは明るさが全体でどれくらいずれているか、を表します。この直線の式を使ってG画像のピクセルを一つひとつを変換します。これによりR画像とG画像の明るさを一致させるわけです。

LinearFitの効果

ここで、LinearFitが実際にどんな動きをしているか確認してみます。BooKuuさんに提供いただいた「はくちょう座網状星雲西側」で検証します。細部まで色鮮やかで美しい画像です!

網状星雲西側 BooKuuさん撮影
網状星雲西側 (BooKuuさん撮影)

ヒストグラムみるのがわかりやすいので、ヒストグラムを使って確認します。この後の処理は私が実行したように書いちゃってますが、BooKuuさんに実行していただいたデータを使用しています。

まず前処理直後の画像のヒストグラムがこちら。HistogramTransformationのスクリーンショットです。

(1) 前処理直後

見事にRGBチャネルの明るさがバラバラです。これにLinearFitをかけたのがこちら。

(2) 前処理→LinearFit

RGBがそろいました。今回はこのLinearFitの機能をPCC後の色調整に使います・・・とここで私にはひとつ疑問がわきました。

「PCCのあとにLinearFitを使うと、PCCを実行した効果がなくなり、単にLinearFitで色調整をしたことになるのでは?」

せっかくPCCで色合わせしたのに、それを無にしてPCC実行前の画像にLinearFitしたものと同じになるのではという疑問です。心配を胸にPCCをまず実行してみます。これは前処理直後の(1)の画像にPCCを実行したものです。

(3) PCC直後のヒストグラム
(3) 前処理→PCC

ではいよいよPCCのあとにLinearFitをかけてみます。ドキドキ・・・

(4) 前処理→PCC→LinearFit

おぉ!

(2)前処理→LinearFitと異なり、PCCのヒストグラムの特徴を残しつつ、色の調整ができたと言えるのではないでしょうか。定性的な評価ですが少なくとも私にはヒストグラムの形は(2)より(3)に近いように見えます。もちろん厳密な意味でPCCが生成したホワイトリファレンスは狂いますが、それはSCNRを使っても同じこと。現時点のベストと考えてます。

検証をする中でひとつ面白いことがわかりました。ネットの情報ではリニアフェーズの早い段階にLinearFitをかけることを推奨している記事が多くあります。しかしLinearFitをかけてもPCC実行すると、LinearFitかけずにPCCを実行した画像に戻ります。例えば(2)前処理→LinearFitにPCCを実行してみます。

(5) (前処理)→(LinearFit)→(PCC)
(5) 前処理→LinearFit→PCC

これは「(3) 前処理→PCC」画像とほぼ同じです。PCCは元画像を加工しようとも抜群の安定感で一定基準の Calibrationをしている表れだと思います。そうわかると、できればPCCだけで完結できるようになりたいですがそれは今後の宿題です。この画像にLinearFitを実行すると、やはり「(4) 前処理→PCC→LinearFit」画像と一致します。

(6) (前処理)→(LinearFit)→(PCC)→(LinearFit)
(6) 前処理→LinearFit→PCC→LinearFit

アンドロメダ銀河でも試してみる

淡い星雲でうまくいったので今度はアンドロメダ銀河で試してみます。同じ流れなのでサクサク行ってみましょう!

前処理直後は・・。

(1) 前処理直後

はい。見事にバラバラです。これにLinearFit。

(2) (前処理)→(LinearFit)
(2) (前処理)→(LinearFit)

そろいました! それでは一方、前処理直後にPCCをかけると・・・

(3) (前処理)→(PCC)
(3) 前処理→PCC

ここでドキドキしながら、LinearFit。

(4) 前処理→PCC→LinearFit
(4) 前処理→PCC→LinearFit

どうでしょうか。やはりPCCのヒストグラムの特徴を残しながら色を調整できたようにみえます。緑にピークがあるのはPCCの明るいピクセルを少し暗めにずらしているからだと思います。

また先ほどと同じくLinearFitをした画像にPCCをかけても、単にPCCをかけた場合と一致します。

(5) 前処理→LinearFit→PCC
(5) 前処理→LinearFit→PCC

(3)と(5)はほぼ同一の曲線になっています。これにLinearFitをかけると・・・

(6) 前処理→LinearFit→PCC→LinearFit

やはり(4)と(6)は一致します。星雲と銀河で良い結果となったので、PCCのあとにLinearFitをかけるという方法で良さそうです。

LinearFitの使い方

最後にLinearFitの使用方法を解説します。

まず対象となるRBGを分解することから始めます。対象となる画像を表示して、Process – ChannelManagementメニューから、ChannelExtractionを起動します。

ChannelExtraction

デフォルト設定のまま■ボタンで実行すると、RGBに分解された3つの画像が生成されます。

このうちどれかを基準とします。今回はR画像を基準としました。ネットの情報では最も明るい画像を基準とした方が良いとありました。PCCを実行することで明るさは揃うのでどれを基準としてもできたヒストグラムは大きくは変わりませんでしたが、やはり若干の違いはみられます。今回はR画像を基準にしました。Process – ColorCalibrationのLinearFitメニューを実行します。

LinearFit

Reference imageに基準となる画像を設定し、残りの画像に▲マークをドロップするか残りの画像を選択して■ボタンを押します。今回の例ではR画像を基準としたので、G画像とB画像に処理をかけました。

最後にRBG画像をひとつの画像にまとめます。Process – ChannelManagementメニューからChannelCombinationを実行します。

ChannelCombination

ここでさきほどから作業しているRGB画像を設定します。便利なことにデフォルトで選択されている場合が多いです。設定したら●のGlobal applyを実行するとLinearFitされたカラー画像が生成されます。

今回は、これまで苦しめられてきたPCCの緑色問題をLinearFitで対処する方法を解説しました。教えてくださったBooKuuさん、Twitterで話題を提供いただき一緒に議論にお付き合いいただいた4DTorusさんに感謝です。かなり理解が進んだ気がしています!!やっぱり天文仲間はいいなあ。

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