あぷらなーと


あぷらなーとの写真ブログ
by あぷらなーと
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
あぷらなーと
「自然写真大好き」
HNあぷらなーと が

いろんな写真ネタを
のんびり語ります。

気合い入れすぎると
続かないので、
「ぼちぼち」いきます。

生息地:香川・徳島
カテゴリ
最新のコメント
オヤジです オヤジAr..
by oyaji_22 at 07:57
> Gさん 私も驚..
by supernova1987a at 04:57
えっ!単体で使えるとは驚..
by G at 08:16
> KENさん こ..
by supernova1987a at 05:46
こんばんは! NikC..
by KEN at 02:10
> にゃあさん ね..
by supernova1987a at 00:38
なんと、単体で動くのです..
by にゃあ at 23:43
> kem2017さん ..
by supernova1987a at 09:25
>手始めにVisualS..
by kem2017 at 05:39
> kem2017さん ..
by supernova1987a at 01:40
以前の記事
お気に入りブログ

ASI1600MCのゲイン検証ごっこ

★まだまだ落ち着きません

一向に天体写真撮れそうに無いので、今日は「検証ごっこ」で遊んでみます。
今回の検証ごっこテーマは、以前(まるで決定事項のように)書いてた

「ゲインを+60するごとに感度が倍々にアップする」のはホントか?

です。

使うツールは、以前、四苦八苦してDelphiでゴリゴリ書いたFITSファイル解析用プログラム♪
円形のグラデーションをPCモニタに表示させたものをASI1600MC-COOLでゲインを変えながら撮影し、解析ツールにかけます。

f0346040_23555531.jpg
★露光量を揃えてゲインのみを変えて比較

今回の比較では、できるだけ素直なデータを得るため-10度まで冷却し、
ガンマ補正を50、色補正(カラーごとの感度補正)は無しでいきます。
露光は4msで統一。
ゲインについては
139(これがユニティゲイン)
199、259、319
という風に60ずつゲインをアップして差を見てみます。

撮像データは次の通り
[ZWO ASI1600MC-Cool]
Debayer Preview=Off
Pan=0
Tilt=0
Output Format=Fits files (*.fits)
Binning=1
Capture Area=4656x3520
ColourSpace=RAW16
Hardware Binning=Off
High Speed Mode=Off
Turbo USB=80
Flip Image=None
Frame Rate Limit=Maximum
Gain=139 ←ここだけ変えて比較
Exposure (ms)=0.004
Timestamp Frames=On
White Bal (B)=50
White Bal (R)=50
Brightness=1
Gamma=50
Sensor Temp=-10
Cooler Power %=14
Target Temperature=-10
Cooler=On

さて、目論見通り、ゲインアップ60が感度2倍になっていますでしょうか??


★G素子についての輝度分布は・・・

f0346040_00422854.jpg
各ゲインの輝度分布はリニアで見るとこんな感じです。
ちなみにASI1600系のカメラはFITSファイルを吐き出す際に、
12ビットで量子化した輝度データを16倍して(隙間をあけて配置して)16ビットデータに見せかけていることは以前確かめました。
ゲインを変えてもこの挙動が変わらないかを見るために、輝度データを拡大してみます。

f0346040_00511127.jpg
おお、どのゲインでもとても行儀良く16輝度間隔に散らばってますね。
ガンマ補正や色補正をかけない状態(ガンマ:50 R:50 G:50)なら、輝度データは単純に16倍されているだけのようです。

★ゲイン別の比感度を推定する

ゲイン別の輝度データの傾向を見やすくするために、対数グラフを作ってみます。
横軸(輝度値)を対数表示すれば、横のずれ幅が比を表すので、理論通りならピーク位置が等間隔になるはずです。
というわけで、輝度データを両対数グラフにしてみました。
f0346040_00544091.jpg
おおー。ピーク値が綺麗に並んでます!
良い感じです。ちなみに、ゲイン139(ユニティゲイン)のときは光電効果で生じた光電子1個を「1」とカウントするはずなので、FITSデータではこれに16をかけた「輝度16」として記録されていると考えられます。上のグラフの左端が10ですので最初のプロットがこの「光電子1」に相当する信号ですね。

※「ゲインを上げたら、このプロットは消えてしまい(右にズレてしまい)もっとまばらなデータになるかも」と邪推していましたが、そうでは無さそう。

ちなみに片対数グラフだとこんな感じです。
f0346040_01040358.jpg
ゲイン別のピーク値がとても見やすくなりました。
本来これらのピーク値を読むことで、およその比感度が分かるのですが、
今回は、低輝度側からの積分値で比較することにします。

低輝度側からの累積ピクセル数を解析すると、下記のようになりました。
f0346040_01065465.jpg
もし、ゲインを60アップするごとに感度が2倍になるなら累積輝度分布が左右等間隔になるはずですが、とても良い感じで等間隔になってますね♪
・・・これは期待できそうです。

つぎに、上記のグラフでヒットしたピクセル数が1500万画素に到達するまでの累積輝度をゲインごとに分析してみます。

f0346040_01381180.jpg
うししし。
とても綺麗なリニアリティが得られました。

★最終結論(めいたもの)

というわけで、今回の「検証ごっこで」はASI1600MC-Coolを-10度で運用した際のゲインと比感度の関係は次のようになりました。

f0346040_01143958.jpg
結論として、ゲイン139を基準とすると、ゲインを60上げるごとに感度は「ほぼ」2倍になることが分かりました。

えっ?
「理論値とズレてるぞ!」
ですか?

ええと・・・・たぶん下記のどれかかと

仮説①
ゲインの設定値と実際のゲインが微妙にズレている。
※ゲイン60で1.995倍(理論値)では無く2.021倍になる仕様なら、2.021の3乗が8.25なので結構良く合ってます。

仮説②
ゲインと連動して増加するなんらかのノイズが加算されて輝度が増している。
※ありそうなお話です。(ダークも引いていませんしねぇ)

仮説③
あぷらなーとのポンコツ頭で考えた「検証ごっこ」なので、そもそも手法が間違っている。
※大いにあり得ます(笑)

・・・・とにかく、細かいことを言わなければ、
ASI1600系の感度は、ゲインを約60上げるごとに約2倍になっている
ということが、実際に確かめられました。

めでたい♪

心のつぶやき
「ああ、久しぶりにASI1600に触れたと思ったら、撮影したのがPCモニタ上のグラデーションだけだなんて・・・・」



# by supernova1987a | 2017-03-07 01:32 | 機材 | Comments(8)

ショットノイズの考察ごっこ②

★やはりドタバタして実写できないので・・

年度末は元々忙しいのですが、今年はさらに色々と重なったので毎日ドタバタで天体観測できません。
・・・というわけで、前回の(意外なことに反響が大きかった)考察ごっこを進めることにしました。

★前回のまとめ
f0346040_22523585.jpg
VMC260L+ASI1600MCで撮影した場合を想定して、M27亜鈴状星雲から飛んで来る光子の粒々の到来フラックスを色々と考察ごっこした結果、
ゲイン400で15秒露光すると、1ピクセル当たり約2030カウントの輝度値が得られることが予想されました。
さらに過去の実写データを解析すると、バックグラウンドが約4300カウントでM27上の値が約7200であることから、M27から飛来した光は約2900となり、オーダーレベルでの比較的良い一致を見ました。

★ということは・・・

前回のシミュレーションのロジックは、あながち間違ってはいないと言えそうです♪
・・・で、いよいよショットノイズの正体に一歩迫ることにしてみます。

前回仮定したのは、明るい天体からは間断なく、暗い天体からはパラパラと光子が飛んできており、その飛来頻度は光子がポアッソン分布にしたがっているというものです。
その仮定に基づき実写データと比較した結果として前回得たバックグラウンドの明るさを元にして、どのように光度分布しているのかをシミュレートしてみました。

f0346040_00334318.jpg
バックグラウンド(天体が無い夜空の明るさ)を元に、実際の撮像素子上に飛来する光子数がどのように分布したのかをシミュレートしたのが上のグラフです。
これは、F7.1の光学系にマイクロフォーサーズ1600万画素のカメラを用いて、15秒露光した場合に相当します。
(背景光は面積体なので、光学系の口径は関係なく、F値のみで光子数が決まります)


★ショットノイズをシミュレートするために

「単位時間当たりの光子数が一定ではなく、揺らいでいることがショットノイズの原因」だという仮定の下で、実際のノイズが再現できるかを試みてみます。
私がまだ『理系』だった頃、ランダム性を持つ事象のシミュレーションにはモンテカルロシミュレーションを用いていたはずなのですが、ポアッソン分布のモンテカルロのやり方を完全に忘れてしまっていたので(すでにアホになった頭で)泣く泣く考えてみることに・・・。

f0346040_23124409.jpg
ポアッソン分布を規格化(全イベント数の合計が1になるように調整)した場合には、上の図のようにA~Fの事象が起こる確率を示すグラフになります。
そこで、下の図のようにそれぞれのグラフを短冊のように切り出して・・・・・
f0346040_23145239.jpg
こんな風に下から繋げます。
すると、ちょうどポアッソン分布の確率密度関数を積分した事になるはずので・・・・・

f0346040_23164244.jpg
0~1までの数値を乱数を用いて与え、その値に相当する高さの短冊の名前を読むことにします。
そうすると、各事象の短冊の長さは発生確率に一致しているため、乱数から得た事象の登場頻度はポアッソン分布に従うはずです。

・・・・うーん。『理系』だった頃は、これを「積分モンテカルロシミュレーション」とか「1次元化モンテカルロシミュレーション」とか呼んでたっけなぁ・・・。
本当は、確率密度関数を積分したものについてその逆関数を求めてから乱数をぶち込んでいたはずなのですが、今回のような離散的な関数の逆関数は厄介なので、短冊接続方式で行きます♪


★ここに来て、壁に・・・

さて・・・と。どうやって各短冊に該当したかを判定するかなぁ・・・・。
コーディングはしたくない気分なので、できるだけ手抜きしたいなぁ・・・。
・・・という訳で、
f0346040_23300866.jpg
こんな演算テーブルをEXCELで作って各セルから参照し、ヘビのように長~いIF文で条件分岐させるという、ベタベタな方法で行ってみます。

★背景光の揺らぎ推算結果は・・・・
f0346040_23331357.jpg
量子効率の補正、ゲインの補正、16ビット変換補完、などなどを行った結果として、
ゲイン400で背景を15秒露光した場合に50×50ピクセルの撮像素子から得られる出力イメージは上記のようにシミュレートされました♪

★でもASI1600MCはベイヤー機なので

実写データと見比べるために、このシミュレーションデータをRAW画像として、以前作ったデモザイク(ディベイヤー)処理ツールに通してカラー画像化を試みます。
f0346040_23410084.jpg
左がRAWデータのシミュレーションで、右がデモザイク後のシミュレーションです。
なにやら、実際の撮影画像でよく見る感じのモヤモヤしたノイズが再現できていそうですね♪

★実写データと比較してみる

最後に、実写データの中から、天体が写っていない領域を強トリミングしてシミュレーションと見比べてみましょう。

・・・すると・・・

f0346040_18540284.jpg

左がシミュレーションで、右が実際にASI1600MCで撮影した背景ノイズです。
一応、ダークファイル減算のみ行っています。
ガンマ補正を考慮していなかったり、カメラ側のリードノイズなども考慮していないので、全く同じとまではいきませんが、
どうでしょう?
いつも背景に現れるモヤモヤした雲状のカラーノイズらしきものが、バッチリ再現できたのではないかと、自画自賛♪

・・・という訳で、
ASI1600MCで短時間露光撮影した画像に見られる「背景のモヤモヤ」は、主として、飛来する光子の揺らぎを捉えたショットノイズだと結論づけられそうです。

★注★ このノイズはあくまで自然現象に起因するノイズなので、ディザリングの有無を問わず、コンポジットのみで改善します。

P.S.
今後、相変わらず天体観測できなかった場合は、さらに、

「明るい夜空から対象天体を弁別できるスレッショルド(閾値)はいかほどか」
「カメラのビット数はどのように寄与するか」
「短時間露光×多数枚コンポの利点はなにか」
「リードノイズ、ゲインノイズを考慮した場合のスレッショルドは?」

などなど、「考察ごっこ」を継続してストレスを発散させます。

普段の本業では、超文系作業(生徒の小論文の添削や、大学入試予想問題としてオリジナルの評論文とか小説とか随筆とかの執筆)ばかりやってるので、たまに理系『ぽい』ことをやると疲れが取れますねぇ。



# by supernova1987a | 2017-02-28 00:01 | 天体写真 | Comments(12)

ショットノイズの『考察ごっこ』①

★稼働率を上げる企み失敗

いやー。なかなか上手く行かないものですね。
BORG89ED+GPDでコンパクトな機材を組んで、赴任地のベランダ観測態勢を整えようと目論んだものの、諸々の事情で頓挫(涙)。

諸事情①
 実家のうち、江戸時代の築である母屋や土蔵や土塀などが崩落を始め、危険だと行政から警告されたので、しぶしぶ撤去工事に着工
諸事情②
 徳島から香川へ転勤命令が出たので、諸準備開始

・・・正直、全く身動きが取れなくなりました。

★撮影できない夜と言えば、『考察ごっこ』

・・・というわけで、久々に『考察ごっこ』をして憂さ晴らしすることにします。
やれやれ・・・。

★短時間露光+多数枚コンポの優位性を検証していた際に

暗い天体を短時間露光で撮影した場合、ザラザラの画像になりますが、これはノイズと言うよりもむしろ「揺らぎ」に近いモノだと私は解釈しています。
天体から飛んでくる光子1粒のエネルギーは、プランク定数をh・振動数をνとした場合、hνで表されます。
要するに、天体の明るさでは無く光の波長のみで決まります。また、光子1粒のエネルギーによって光電効果(センサーから信号が出るかどうか)の閾値が決まるため、理論的にはどんなに暗い天体であっても、光子が1粒でも入射すれば『感光』します。
ただし、暗い天体は「まばらにしか光子が飛んでこない」ために、「たまにしか写らない」と解釈できます。

光子が飛んでくる頻度が低い場合、特定の時間内にカウントされる光子数はポアッソン分布に従うので、その揺らぎが「ショットノイズ」の主要因だと判断できます。

例えるなら、パラパラと雨が降ってきているとき、短時間だけ紙に雨を当てると『ポツポツ』が写り、長時間雨にさらすと全体が濡れるのと同じ原理です。したがって、短時間露光であってもそのデータを積算(加算コンポジット)すれば長時間露光と同様の絵が写せる「はず」です。

飛んでこない粒は捕獲できませんので、今後「いかに高感度なセンサーが開発されても」短時間露光では、ザラザラにしか写りません。


・・・と、ここまでは以前「考察ごっこ」したのですが・・・。



★そもそも、本当に光子がパラパラ飛んできているのか?

あぷらなーとの(過去の)専門は、「高エネルギー宇宙線物理学」なので、ガンマ線とか諸々の「すんごい高エネルギー」の放射線には詳しくても、天体観測で撮影するときのような「可視光線」に関しては守備範囲外でした。
・・・で、撮影できない憂さ晴らしに、少しだけ勉強を開始することに♪


<注>ど素人の考察なので、以下、色々と間違いや勘違いがあるかもしれません。


①前提条件
 一般的に「天体の等級」と言った場合は、肉眼の感度が高い緑色(550nm付近)の光の強さを指します。
 これをV等級と言います。


②X等級の天体から飛んでくる光子の総エネルギー
 天体の等級を X(等級)
 カウントする波長のバンドパス(許容する波長の範囲)を d(㎛)
 とすると

 1秒当たり1㎠の地表に飛んでくる光子の総エネルギーは

 W=10^(-X/2.5)×4×10^-12×d(J)

 となります。


③X等級の天体から飛んでくる光子のフラックス
 ここで言うフラックスとは、1秒間に単位面積あたりどれだけの光子が流れ込んでくるかを指します。

 プランク定数を h 観測する光の振動数を ν (Hz)
 とした場合の光子1粒当たりのエネルギーはhνとなるので、先ほどのエネルギーを割ると

 1秒間当たり1㎠の地表に飛んでくる光子の個数は

 F= W/hν
  = 10^(-X/2.5)×4×10^-12×d/hν

 となるはずです。


④口径Dcmの望遠鏡で光子を補足すれば
 口径Dcmの望遠鏡の対物レンズの面積は 3.14×(D/2)^2 なので
 この望遠鏡で光子を1秒間観測すれば、

 N= F×3.14×(D/2)^2
  =10^(-X/2.5)×4×10^-12×d×3.14×(D/2)^2/hν

 だけの光子が網にかかることになります。


⑤7.4等級の恒星をVMC260L+ASI1600で観測すれば
 ASI1600MC系のカメラはVバンドのピークがおよそ540nmで半値幅がおよそ100nm(0.1μm)
 VMC260Lの口径は26cmなので、さきほどの数式に代入すると

 7.4等級の天体を1秒間撮影すると、6.44×10^5 個の光子がヒットする計算になります。


⑥M27を想定して試算してみると
 ⑤までの考察ごっこは、あくまで点光源の恒星から来た光が、1ピクセルに全て収まった場合の話です。
 これが、星雲など面積体の場合には全等級の光が淡く広がっていることになりますので、1ピクセルあたりに入射する光子数は激減するはずです。

 M27のVバンド等級は約7.4等級
 M27の広がりはおよそ8分×6分

 VMC260L+レデューサ+ASI1600MCでの撮影の場合
 1ピクセルが約0.42秒角に相当するので、

 M27から到達した光は、およそ92万4千ピクセル上に拡散していると予想できます

 したがって、1ピクセル当たりにヒットする光子数は、
 1秒間当たりおよそ 0.697個/秒 と予想されます


⑦カメラ側の量子効率を考慮すると
 マニュアルによれば、
ASI1600のユニティゲイン(光電子1個を1シグナルとするゲイン)は139。
 また、メーカーサイトの資料によれば、量子効率(光子1個から何個の光電子を生み出すか)は(ピーク値で)約60%らしい。
 これらを考慮すると、
 7.4等級の天体をゲイン139で1秒露光すると、
 1ピクセル当たり0.42個の光電子が発生
 することになります。


⑥ゲインと露光時間を考慮すると
 では、実際にM27をVMC260L+ASI1600MC-COOLで撮影したデータのうち
 ゲイン400+露光15秒
 のものと比較をするために、ゲインと露光時間の補正を加えてみます。

 ASI1600MC-COOLの場合、ユニティゲインを139
 撮影ゲインをGとすると
 光電子1個に対するカウント数(出力)は 
 10^((G-139)/200) で表されます。


⑦16bitFITSへの変換過程を考慮すると
 ASI1600MC-COOLは12bitのADコンバータを搭載していますが、実際にFITSデータを出力する際には、これを水増し(間に隙間を入れて)16bitデータにしていることは、以前検証しました。


 すなわち、保存されたデータの輝度は実際のカウント数の16倍( 2^16 / 2^12  )になっています。

これらを全て考慮すると、
VMC260L(レデューサ付)+ASI1600MC-COOLでM27亜鈴状星雲をゲイン400+15秒露光した場合には、
1ピクセル当たり平均2030カウントの輝度データが得られる計算になります。

 
★M27の実写データと比較してみる

実際にVMC260L(レデューサ付)+ASI1600MC-COOLでM27亜鈴状星雲をゲイン400+15秒露光した1枚画像
f0346040_02323220.jpg
を元に、M27が写っている領域の平均輝度データを拾ってみました。

・・・むう。これは緊張しますねぇ。
そもそも、大気による減光、フィルタによる減光、その他諸々を一切考慮に入れていないわけです。
また、ダーク減算は行っていますが、ベイヤー素子の現像処理で「なにか変な」事が起こっている可能性もあります。

ここは、オーダー(数値の桁数)が合えば大成功、としましょう。

・・・・で、G画素(Vバンドのため)のみの平均輝度データを簡易測定してみた結果




・・・ででん!


☆M27が写っている領域:平均7200
☆背景領域:平均4300
☆エクセス(背景を除いたシグナル)は
 平均2900

おお!

『考察ごっこ』で試算した2030に
めっちゃ近い
じゃないですか!!

え?光がロスしているハズの実写の方が理論値よりも値が大きいのは変・・・ですか?

・・・ええと、そもそもV等級のバンドパスとしてASI1600MC-COOLのGフィルタの半値幅を用いたのですが、実際の分光特性では、結構「裾野が」広がってるのでその影響と、市街地で撮影した画像なので光害が加算されている影響と、処理しきれなかった分のノイズが乗っていることなどを考慮すると、オーダーレベルでの一致は大満足、です。はい。

・・・・ああ、面白かった♪
これで、「ショットノイズの正体」に少し迫れたような気がします。

以上、完全に「自分への備忘録」兼「自己満足」のためだけの記事でした。すみません。


★★★★以下(いつか)続きます★★★


# by supernova1987a | 2017-02-21 02:50 | 機材 | Comments(19)


タグ
最新の記事
記事ランキング
ファン
ブログジャンル
画像一覧
外部リンク