★RAW画像解析ごっこツール改訂

テストは、前回と同様、パソコンのモニタに表示したグラデーションを撮像することで実施します。


ビンゴっ!

ガンマパラメータを50にした目論みは見事的中。
FireMonkeyにやられて開発停滞気味だった解析『ごっこ』ツールですが、またブランクが空くと素人に逆戻りするので、少しコーディングしてみました。
ただし、VCLベースで作ったソースを元に、少し手を加えてみただけですが。
今回の解析ごっこテーマは、
「ASI1600MC-COOL のハードウェアビニングの謎」
です。
一応、資料ベースでは、本体側でビニングを掛けてしまうと、
「本来12ビットで駆動しているADCが10ビットで駆動してしまい、階調が乏しくなってしまう」
ことが予想されていましたが、果たして本当にそうなのか?
・・・・で、テストしてみた♪
★今回のコーディングは超簡単
一応輝度分布を解析するルーチンは完成していたので、あとはビニングしたあとの画素数に合うようにループ回数や配列の大きさを変更するだけで完成です。
気をつけるのは、Delphiの場合、整数型数値の除算は「/」演算子ではなく「div」演算子を使わないとエラーになる事ぐらいですね。
・・・で、あっという間に「ビニング対応版」解析ツールが完成。


★より正確に解析するために
ガンマをいじっているとデータの間隔が不揃いになるので、
今回は「ガンマパラメータは50が無補正ではないか?」との仮定の下、撮影を行いました。
<SharpCapの撮影パラメータは下記の通り>
Debayer Preview=Off
Pan=0
Tilt=0
Output Format=Fits files (*.fits)
Binning=2 ←ここを「1」と「2」で比較
Capture Area=4656x3520
Colour Space=RAW16 (共通)
Hardware Binning=On ←ここを「OFF」と「ON」で比較
High Speed Mode=Off (共通)
Turbo USB=80
Flip=None
Frame Rate Limit=Maximum
Gain=250 (共通)
Exposure=0.1 ←ここを「0.1」と「0.025」で比較
Timestamp Frames=Off
White Bal (B)=50 (共通)
White Bal (R)=50 (共通)
Brightness=1
Gamma=50 (共通)
Temperature=-9.6 (共通)
Cooler Power=22
Target Temperature=-10
Cooler=On
要するに、ビニングをした場合は原理的には4画素分のデータを加算し、輝度が4倍になるはずなので露光は1/4にしました。
★輝度分布の比較

2×2のハードビニングした場合は、露光を1/4にすることでビニングなしの輝度分布とドンピシャ一致しました♪
さて、上記の輝度分布図はほとんど一緒に見えますが、実は大きな差があるのが分かるでしょうか??
よく見るとビニング無しに比べてビニング有りはグラフが細くて貧弱なのですね。ちなみにこのグラフは片対数のスキャッタープロット(散布図)で作成していますので、元のデータ数(プロット数)が少ないとグラフが弱々しく見えるというわけです。
★輝度データのインターバル比較
この時点でほぼ決着も同然なのですが、念のため各輝度値のインターバルを比較してみました。
言わば、輝度分布を表示した場合の「階調の隙間」を比較しようというわけですね。

全ての輝度において均等なインターバルが得られました!!
さて、グラフを比較してみましょう。
オレンジのグラフはビニング無しのデータです。インターバルが全輝度範囲に渡って「16」であることが分かります。
一方ブルーのグラフはハードビニング有りのデータですが、インターバルが「64」もあることが判明しました!!
16ビットFITSの場合は、2の16乗の階調を持ちますが、ASI1600MC-COOLのADCは12ビットなので、2の4乗分だけデータが少ないことになります。ガンマ補正を加えない場合は、ちょうど16間隔でデータを散らしている計算になりますが、今回の解析結果に一致します。ハードビニングを用いた場合は、この間隔が64になっていることが分かりましたが、これはちょうど2の6乗に相当しますので、実データは10ビットしか無いことが分かりますね。
★というわけで、最終結論
ASI1600MC-COOLは、
ビニングなしの場合はADCが12ビットで駆動しており
ビニングありの場合はADCが10ビットで駆動している!!
ということが判明しました。
結局、ハードビニングは転送速度を稼ぐための便法であって、SN比を改善するためのものでは無かった、ということですね。
というわけで、やはり、星雲星団撮影の時にはビニング無しで撮影し、あとからソフトウェアビニングするのが正解のようですね♪
結論が出て安心して寝る事ができます(?) \(^o^)/
で、昨夜、晴れ間があったので、M57を例の超々望遠で撮影してみようとしました。
さすがにF16は、Bin=1だと写ってるかどうか分からないくらい暗かったので、Bin=2, Gain=500って暴挙に出ました。
基本はBin=1ですが、状況によってはBin=2もアリかな?(画像処理も速いのでメンタル病まなくてすみそうだし)
今回の検証は Bin=1&HB=Off VS Bin=2&HB=On ですが、Bin=1&HB=Off VS Bin=1&HB=On とか Bin=2&HB=Off VS Bin=2&HB=On も興味あります。
Binパラメタの値に従属してHBは勝手にOn/Offしてんぢゃね?とか...
で、昨夜、晴れ間があったので、M57を例の超々望遠で撮影してみようとしました。
さすがにF16は、Bin=1だと写ってるかどうか分からないくらい暗かったので、Bin=2, Gain=500って暴挙に出ました。
基本はBin=1ですが、状況によってはBin=2もアリかな?(画像処理も速いのでメンタル病まなくてすみそうだし)
今回の検証は Bin=1&HB=Off VS Bin=2&HB=On ですが、Bin=1&HB=Off VS Bin=1&HB=On とか Bin=2&HB=Off VS Bin=2&HB=On も興味あります。
Binパラメタの値に従属してHBは勝手にOn/Offしてんぢゃね?とか...
0
こうやって数字とグラフで見ると分かりやすく、説得力ありますね!ビニングはステライメージでと覚えておきます!
> けむけむさん
> けむけむさん
久々に予想どおりの結果が出たので納得して眠れました(笑)
もちろんこれは十分に明るい対象の場合でして、暗すぎてゼロ輝度の画素がたくさんあると、せっかくの12ビットも無駄ですね。高輝度側がサチらない限りはビニング撮影も大いにアリだと思います。
あ、つぎの宿題出された~。そ、そのうち検証しますね。
> けむけむさん
久々に予想どおりの結果が出たので納得して眠れました(笑)
もちろんこれは十分に明るい対象の場合でして、暗すぎてゼロ輝度の画素がたくさんあると、せっかくの12ビットも無駄ですね。高輝度側がサチらない限りはビニング撮影も大いにアリだと思います。
あ、つぎの宿題出された~。そ、そのうち検証しますね。
> にゃあさん
今回はスッキリした結果が出ました。
データ量が気にならない場合はビニングオフで撮影して、後からソフトウェアビニングですね。本当はビニング不要なほど明るく写せれば良いのですが・・・。
今回はスッキリした結果が出ました。
データ量が気にならない場合はビニングオフで撮影して、後からソフトウェアビニングですね。本当はビニング不要なほど明るく写せれば良いのですが・・・。
by supernova1987a
| 2016-10-25 02:27
| 機材
|
Comments(4)

