ほしぞloveログ

天体観測始めました。

タグ:ASI294MC

シベットさんが最近フィルターを使った電視観望を盛んに試されています。私のところにも31.7mmのアメリカンサイズのQBPフィルターが届いたので、ずっと試したかったテストをしてみます。


アメリカンサイズのQBPができた!

そもそもは昨年9月にQBPを使って電視観望をするとどれくらい見えるようになるかというテストをしたことに始まります。



この時の結論はHαで見えている赤い星雲はQBPによって相当見やすくなる一方、プレアデス星団などの青い星雲や白色光に近い系外銀河はむしろQBPによって電視観望では見えにくくなってしまうというものでした。なので、見る対象によってQBPをつけたり外したりするといいのですが、48mm版のQBPはFS-60CBの鏡筒とフラットナーの間に入れてあって、なかなか取り外しにくいのです。

そんな折、ちょうどBLACK PANDAさんからTwitter上でQBPの新バージョンができるというアナウンスがありました。なんでも基材を合成石英にアップグレードするということです。これまでの基材が何かはわからない(2020/2/3追記: B270だそうです。)のですが、合成石英は研究レベルでもよく使われ、熱膨張が少なく、紫外、赤外共に透過率が高かったりします。

上のブログの更新時のTwitterでのアナウンスでBLACK PANDAさんがコメントをくれ、「QBP入れ替えができるように、CMOSカメラに直接つけることができる31.7mmサイズがあればいいなあ」とか返事をしたら、なんと本当に反応してくれました。新バージョンを作る際に、31.7mmバージョンも作ってくれるというのです!これは期待大です。

合成石英を使用した新バージョンのQBP自身は11月半ばにできたと記憶しています。その時のものは元と同じ48mmサイズでした。その後、つい先日の1月29日、とうとう新バージョンの52mm版と、まさかまさかの31.7mm版が本当に発売されたのです!約束を守っていただいて本当に嬉しいです。BLACK PANDAさんどうもありがとうございました。

しかも値段を見ると、アメリカンサイズはこれまでの約半額、税抜きだとなんと1万円切りです。これならユーザーとしては気軽に試すことができるので、大変嬉しい価格設定です。

さらにここから話は急展開します。なんと製品を送るのでテストで使って欲しいとのこと。願いまで聞いていただいて、しかもサンプルも送っていただけるとは!

というわけで、送っていただいた新型のアメリカンサイズのQBP、やっと昨晩テストを敢行することができました。


31.7mmのQBPが生きるところ

フィルターサイズが小さくなって一番良かったのは、CMOSカメラに直接取り付けたり、フィルターホイールに入れたりできるところでしょうか。センサーサイズ的にはフォーサーズまでは使うことができるはずです。電視観望でよく使うASI294MCならば大丈夫でしょう。

もともとはASIカメラについている前に出ているアダプター

IMG_9368


に取り付けることを考えていましたが、年末の名古屋年越し観望会の智さんのレデューサートラブルの検討のときのコメントで「ASI294MC Proについていた薄いアダプターに31.7mmフィルターを取り付けるこができる穴が開いていて、以前よりも飛び出ることなくセンサーに近いところにフィルターを取り付けることができる」ということを教えてもらいました。

実際にASI294MC ProにQBPを取り付けると下のようになります。

IMG_9308

これまでは鏡筒に取り付ける時のみQBPを利用することができました。これならば、一眼レフのレンズをASIカメラに取り付ける時にも、アダプターの中に十分スペースがあるので、広角レンズを使ってもQBPを試すことができます。シベットさんはすでに同様のことを各種フィルターで試しているようなので、私も今回チャレンジしてみます。

今回は上の写真のように、古いオールドNIKKORの50mm/f1.4の明るいレンズにCanonレンズのアダプターをつけて、そこにさらに、ZWOが出しているASIカメラにCanonレンズを取り付けることができるアダプターを取りつけています。そのアダプタの空間にフィルターがうまく収まっています。

IMG_9309


明るいレンズとQBPを組み合わせての電視観望

さて、土曜の晩晴れた際にTSA-120のファーストライトの合間を縫って、このセットアップで電視観望を試しました。ポイントは焦点距離が50mmと広角なので、赤道儀やAZ-GTiさえ使う必要がなく、ただの三脚と自由雲台に載せただけで、手で動かすだけで見たいところを見ることができます。

IMG_9311

このセットアップ、本当に超手軽です。ぱっと持ち出してPCとケーブル一本繋ぐだけです。

もう一つのポイントは、f1.4の相当明るいレンズを使っていることです。以前ASI294MCを最初に手に入れたときその後何度か明るい広角のレンズを使って電視観望をしています。それでも十分に見えたのですが、明るすぎるレンズは画面が飛ばないように露光時間やゲインを抑える必要があるので、星雲なども当然見えにくくなってしまいます。今回はQBPを使って光害をカットしているので、星雲のコントラストが上がり見えやすくなっています。しかも明るいレンズのために露光時間をそこまで伸ばさなくても、十分情報を得ることができ、リアルタイム性に一役買っています。


実際の見え方

実際の見え味ですが、結構衝撃的です。まずは1.6秒露光のライブスタックなしのオリオン座です。

IMG_9322

真ん中に三つ星が映っているのがわかると思います。すぐ下のオレンジの明るいところがM42オリオン大星雲になります。繰り返しますが、これわずかトータル時間で1.6秒だけ露光したものです。三つ星の一番左のところに馬頭星雲らしきものがうっすら出ています。それどころか、よく見るとバーナードループ まですでに出ています。

これを24枚スタックしたのが次の写真です。あ、写真は全てPCの画面をiPhoneで写しているだけなので、ほとんど実際の見え味と同じです。

IMG_9324

馬頭星雲も燃える木もバーナードループも普通にはっきりしています。これでもトータル40秒以下です。

さてここで、ちょっと嫌なことに気づきました。明るい星の周りにハロが出ている(2020/2/5追記: 猫目ハロは解決しました。新型QBPが問題ではなく、カメラレンズが問題でした。)のです。炙り出しなどせずに普通に見ているだけではこのハロは気付きません。電視観望でヒストグラムをいじって炙り出すと目立ってきます。この時点ではQBPのせいなのか、レンズが悪いのかはっきりしなかったので、ここでQBPを外してみました。

IMG_9325

同じ1.6秒露光、30枚スタックです。QBPがないと明るくなりすぎるのでゲインを50(5dB、半分近く)落としています。バーナードループも辛うじて見えているようですが、明らかにコントラストは悪くなっています。これはQBPの効果が大だったといえるでしょう。でもその一方、ハロは抑えられています。

シベットさんがブログの中でQBPは赤外を通すためにハロがでるのではという報告をしています。その中でアポクロマートなど赤外でも収差補正をきちんとしている鏡筒はこの問題は出ないのではという考察がされています。これまで私もFS-60CBやFS-60Q、FC-76で旧版の48mmのQBPを使ったのですが、星がサチらない限りはハロは出ることはありませんでした。

今回星がサチっている可能性が一つと、単なる相当昔のカメラレンズなので、赤外で収差があるのは十分可能性があるでしょう。ただ、ハロの様子が赤だけでなく、なんかカラフルになっているのも気になります。シベットさんによるとUV/IRカットフィルターを併用すると、星像はフィルター間の反射で少し悪くなるが、ハロは消えたという報告がなされているので、次回私も試してみようと思います。

ハロは確かにあるのですが(2020/2/5追記: 猫目ハロは解決しました。新型QBPが問題ではなく、カメラレンズが問題でした。)、暗い星ではそこまで気にならないのと、星雲の出かたが思いの他すごいので、とりあえず今回はQBPをつけてこのまま進めます。


ばら星雲です。1.6秒露光で31スタック。トータル50秒くらいです。

IMG_9334

ばら星雲の上にも少し赤い領域があります。クリスマスツリー星雲ですね。

というか、今回何かを導入するというのではなく、画面を見ながら赤いのがあるとこれはなんだ?と、「星雲を見ながら探す」という夢のような体験をしています。例えば上のバラはリアルタイムの1.6秒一枚露光ではこのように見えます。

IMG_9327

もう、全然見える範囲の明るさです。

一番衝撃的だったのは次の例でした。

IMG_9339

真ん中らへんに何か赤いのが見えます。スタックするとさすがにわかります。

IMG_9340


そう、電柱の上をカモメが飛んでいるわけです。もう夜中に一人で大爆笑。普通の住宅街でこんなのがほぼリアルタイムで見えるわけです。面白くないわけがありません。

その様子を動画にまとめました。


左手でiPhonedで撮影しながら、右手で三脚の自由雲台の上のCMOSカメラを操作しているので、揺れたりして見にくい点はご容赦ください。オリオン座から電柱上のカモメ星雲、次にバラ星雲を突き止めて、最後にまたオリオン座に帰ります。バラ星雲なんかポンッと出てきます。実際にホントにこのように見えるわけです。

他にもプレセペ星団、

IMG_9336


M46、47、48です。

IMG_9337


適当にレンズを向けて見えたものです。1.6秒だけの露光なのでM46、47、48は少し見にくいですが、カモメ星雲のところの左上にもM46とM47は写り込んでいます。

あいにく、系外銀河は一つも認識できませんでした。アンドロメダとか出ていれば別ですが、さすがに広角レンズでは銀河は小さすぎるのと、やはりQBPは白色の系外銀河が苦手なのかと思います。あと今回はハロがキツかったので、恒星と銀河の見分けがつきにくかったのもあるかと思います。

最後に、オリオンが沈みかけるところです。右のほうが赤カブリになっていますが、それでもよく見るとエンゼルフィッシュ、辛うじてですが写ってますよね!

IMG_9332


まとめ

まだハロの件など克服すべき課題も多い(2020/2/5追記: 猫目ハロは解決しました。新型QBPが問題ではなく、カメラレンズが問題でした。)ですが、QBPと明るい広角レンズを用いることで、

光害地で、導入いらず、
リアルタイムにかなり近い、超お手軽な星雲星団観察

が可能だというのは特筆すべきことだと思います。一番最初にHUQさんが見せてくれてα7Sでの電視観望に近いかもしれません。α7Sの凄いセンサー感度にSharpCapとQBPで頑張って迫っているという感じでしょうか。

ちなみにこの50mm/f1.4レンズ、古くても標準レンズだったこともあり、今でも中古カメラ店やヤフオクで格安で普通に手に入れることができます。私は名古屋のコメ兵で5-6千円くらいだったと思います。

レンズは安くてもやはりASI294MCがまだ高いですかね。そこはASI385MCとかに代えて節約するという手もあります。

キットの望遠レンズを使った電子観望
も以前試しましたが、



広角、QBPが違う点になります。今回のこの手法も同様に、導入のための機器もいらないのと、さらに広角レンズを使っているために導入スキルも必要ありません。なので、相当手軽かと思います。

自由に空を見て星雲を探すインパクトは相当なものなのですが、今回のブログでそれが伝わったかどうか?比較的楽なセットアップだと思いますので、これまで電視観望を試したことがない人も、よかったら試してみてください。




あぷらなーとさんはじめ何人かの方がMatlabを購入し画像処理に活用し始めましたようです。



私もMatlabは学生の頃から使っていて、今調べてみたら一番古いファイルは1998年でした。なので20年以上使っていることになりますが、 これまで画像処理に使ったことはありませんでした。

あぷらなーとさんが指摘しているように、確かにMatlabは行列を容易に扱えるので、2次元が基本の画像処理は向いているはずです。最近過去のコードをpython化したりしてるのですが、pythonは2次元だと必ず繰り返し処理が入るので、コードが冗長になりがちです。私も少し試してみたのですが、どうやら画像処理に関してはMatlabの方がコードがかなりシンプルになり見通しが良くなるので、有利というのは正しそうです。とうわけで、遅ればせながら私もMatlab画像処理に参画します。

Matlabを使ってまず手始めに試したのが、昨年3月依頼謎が解けなくて止まってしまっているASI294MC Proのノイズ解析の続きです。

 


最初にごめんなさいと謝っておきます。今回の記事はかなり細かくてめんどくさい話で、ほとんどの人には役に立たないです。しかもうまくいかなかったという結果なので、ほんとに興味のある方だけ読んでみてください。

Matlabで画像処理を始めてみたいという人がいたら、もしかしたらコードが参考になるかもしれません。


以前のおさらい 

ざっとおさらいしてみます。ZWO社のASIシリーズは性能を示すデータを公開してくれています。例えば広いセンサー面積を利用した電視観望や、撮影にも十分に使うことができるASI294MC Proのページを見ていくと、下の方にいくつかグラフが出てきます。このグラフ、一見分かりそうで分かりにくいところもあるので、以前その読み方を解説しました。



上のページでも解説している通り、SharpCapを使うとZWOのページにあるようなデータを測定することができます。冷却バージョンのProも



で実際に測定した記事を書いています。特にGain[e/ADU]の値はコンバージョンファクターとも呼ばれて、設定gainが0の時のコンバージョンファクターはユニティーゲインなどにも直結するような非常に重要な値になります。少しコツは必要ですが、SharpCapのスクリプトでCMOSカメラの特性を実測すると、ZWOにあるような値に非常に近いものを測定することができます。2つのツールで同様のデータが取れているということはかなり信頼が置けるはずです。さらにもう一歩進めて、このようなツールでのスクリプトでなく、実際に自分でノイズを撮影して解析してみようと試したのが、昨年3月までの一連の記事になります。

ところが、実際に撮影して解析してみるとどうしてもZWOのデータやSharpCapでの解析結果と合いません。

SharpCapで撮影した時の撮影条件は限りなく再現させたと思っています。具体的には撮影対象の明るさ、カメラのゲイン、露光時間です。明るさは同等のものが撮れているので、撮影に関しては問題ないと思います。問題はノイズです。明るさとノイズの関係からコンバージョンファクターを求めるのですが、撮影された画像の明るさのばらつきが、想定していたものよりかなり大きいと出てしまいます。

具体的には標準偏差を用いるとノイズが大きすぎると出てしまい、苦肉の策で(ノイズが小さいとでる)平均偏差を使うと、大体ZWOとSharpCapの測定と一致するという結果でした。

ヒントになるかと思いモノクロのASI290MMで測定したら、標準偏差で計算してもZWOやSharpCapと一致した結果を得ることができました。ということはやはりカラーの場合も平均偏差などを使わずに標準偏差を用いるのが正しいのではと推測することができます。

そんな折、あぷらなーとさんがRGGBを一素子づつ解析したCFA(Color Filtr Array)で評価した場合と、RGBにdebayerした場合では、debayerの方が標準偏差で考えて0.75倍とか0.79倍程度に小さくなることを示してくれました。



それでもdebayerで計算してもまだZWOやSharpCapでのノイズの少なさには辿りつきません。

いろいろやっていて結局行き着いたところはこの画面で、

IMG_6436

小さいと思われるRGBの標準偏差よりも、Lの標準偏差の方がなぜかさらに小さいことがSharpCapの一枚の撮影で出てしまっていることです。いまだにSharpCapが内部でどうやって計算しているのかよくわかりません。このLの標準偏差を仮定するとノイズはかなりZWOもしくはSharpCapのスクリプトで測定した結果に一致します。言い換えると、これくらい小さい標準偏差くらいのばらつきになっていないと結果は一致しないということです。


Matlabでの画像処理の実際

やっと前振りが終わりましたが、今回Matlabで以前のpythonコードを書き直すかたらわら、どうしたら一致した結果を出せるか、なぜSharpCapのLがノイズが小さく出ているかを念頭に置きながらいろいろ試してみました。

Matlabを初めて使う人が一番面食らうのは、配列の表記法かと思います。これが独特なのですが、この独特な表記によりコードがシンプルになるので避けるわけにもいきません。私が書くよりももっといい説明がたくさんあるかと思いますが、今回の画像処理に必要な最低限だけ書いておきます。

まず2次元の配列、Matlabだと行列といっていますが、例えば2行x3列の配列Aを

>> A=[1 2 3;4 5 6;]

A =
     1     2     3
     4     5     6

と作ります。例えば第2行,第1列成分を見たい場合には

>>A(2,1)

と打つだけです。答えは

ans = 4

と出ます。これは至って普通です。独特なのは:(コロン)の使い方で、例えばAの1行目すべてを見たい場合は

>>A(1,:)

と打ちます。答えは 1 2 3となります。:はどこからどこまでを意味し、

>>A(1,1:2)

だと

ans =     1     2

となります。:(コロン)だけだとその次元の最初から最後まで全部という意味です。これがMatlabで絶対理解しておかなければならない表記法の一つです。

今回は画像を扱うのに4次元の配列を使っています。1、2次にy座標とx座標。左上からyは向かって下に、xは右に移動していきます。3次目はRGBやCFAのインデックス。RGBなら3つ、CFAなら4つとっています。 4次目は何枚目の画像かを表しています。今回8枚の画像を使っていますが、その何枚目かを表します。あと成分を表す数字は1から始まることにも注意です。0からではありません。 

例えば、AにRGBで別れた画像が8枚入っているとすると、5枚目のG画像を表す時は

A(:, :, 2, 5)

と表します。:が2つあるのはy、x座標それぞれ全部を表しています。"2"はRGBの2番目と言う意味です。Bなら3ですね。"5"は5枚目と言うことです。

例えばサンプルコードの最初の方にある

 Raw(:, :, i) = fitsread(ファイル名);

はi番目の画像にfitsファイルを読み込んで、1次目にy座標のデータ、2次目にx座標のデータを全部入れていきなさいと言うのをわずか1行で表記したものです。

これらの表式は慣れるしかないのですが、ここらへんを感覚的に理解できるとコードもすらすら読めて、シンプルなコードを書くことができるようになるのかと思います。


モノクロセンサーASI290MMの場合

とりあえずMatlabでやってみた画像処理を説明していきます。まずはモノクロのASI290MMの結果です。

ASI290MM
このグラフを出したMatlabのソースコードをアップロードしておきます。使用した画像も(サイズを切り詰めるために中心部のみ切り取ったものですが)一緒に入れておきましたので、すぐに走らせることができると思います。もしMatlabを持っていて興味があったら走らせてみてください。

ASI290MM.zip 


結果は前述したとおり、平均偏差ではなく一般的な標準偏差を使っています。メーカー値はコンバージョンファクターが3.6程度、ユニティーゲインが110程度ですので、グラフ内の数値と比較してみるとそこそこ一致していることがわかります。なので、カラーでも標準偏差を用いる方向を探りたいと思います。

また、以前pythonで書いたコードと比較して同等の結果を出すことできています。

Conversion_Factor_ASI290MM_std

Maltabでもこれまでと同様のことができることがわかり、かつ遥かにシンプルに書けることがわかりました。


カラー版ASI294MC Proの場合: CFAで解析 

さて、Matlabでの画像処理にも慣れたところで問題のカラーのASI294MC Proの解析です。

結論から言うと、結局今回も謎は解けずじまいでした。

まずはシンプルなCFAの方から。RAW画像からCFAへ分離するところはビルトインの関数とかはないようなので自分で書いてみました。以前は平均偏差(mad)で無理やり答えを合わせましたが、今回ASI290MMの結果なども含めていろいろ考えた末に、結局諦めて標準偏差(std)を使うことにしました。

ASI294MCPro_CFA

各測定点はそのまま解析した結果を表示していますが、フィッティングは無理やり合うように補正してます。考え方としては、謎な部分をunknown factorとしてフィッティングするところで無理やり補正するというやりかたです。今回のCFAの場合、unknown factorはノイズ(標準偏差の2乗)を2分の1とすることでZWO、SharpCapの結果と一致することがわかりました。

ちなみにメーカー値はコンバージョンファクターが3.9程度、ユニティーゲインが117程度です。繰り返しますが、CFAで測定されたノイズを無理やり半分にすることでメーカー値に近くなります。

先に説明したように、SharpCapでLのノイズが小さく出ている理由がわからなかったので、もうこのように無理やり合わせてしまうしかなかったという苦肉の策です。これはあぷらなーとさんが示してくれた、CFAとRGBで標準偏差で0.75倍違うというのを考慮してもまだ少し足りません。

まあ、このやり方に言いたいことはたくさんあるかと思いますが、とりあえず先に進むことにします。


カラー版ASI294MC Proの場合: RGBで解析

次はRGBでの解析です。

最初はMatabビルトインのdemozaicという関数を使ったのですが、これだと中で何か変に処理しているのかノイズが話にならないくらい大きくなりすぎました。仕方ないので自分でRGBに落とすコードを書いています。そこそこまともそうな値は出たのですが、ただしこのコードまだ未完成です。なぜかというと、センサーアレイはRGGBなのでG(グリーン)が二つあるのですが、その応答が少し違うことに起因します。Gを2つ使って求めると強度の山が2つでできてしまい、ばらつきが大きくなりすぎるからです。そのため今回は2つあるG素子のうち1つだけを使うことにしました。

ASI294MCPro_RGB

RGBになりあぷらなーとさんが示してくれた通り、CFAの時よりもばらつきは少なくなることがわかりました。それでもまだノイズが大きすぎるのでCFAの時と同様にunknown factorとしてフィッティングするところに無理やり入れました。RGBの場合、unknown factorはノイズ(標準偏差の2乗)をルート2で割ってやることでZWO、SharpCapの結果とかなり一致することがわかりました。


考察

ASI294MC Proで使ったファイルもアップロードしておきます。よかったら参考にしてください。

ASI294MCPro.zip 

今回はまだ苦肉の策で、無理やり答えを合わせるように測定結果を割っているだけなので、考察と呼べるようなものにはなりません。CFAの場合出てきたノイズを半分に、RGBの場合ルート2でわってやるとSharpCapやZWOの結果とかなり近い結果になりましたが、その理由は全然わかっていません。

前回のpythonコードを使った時はCFAやRGBの変換はPixInsightを使いました。でも今回はRAWファイルから直接計算してCFAもRGBも取り出しています。ここら辺はMatlabに移ったことでやりやすくなったところだと思います。このように今回はかなり噛み砕いてブラックボックスがないように進めてきたつもりです。撮影した画像はSharpCapのスクリプトで撮影したものと同等と仮定していいかと思います。これでも結果が一致しないということは、
  • ZWOもSharpCapも何か特殊なことをやっているか
  • もしくはまだ私が馬鹿なミスを犯しているか
です。とにかく怪しいのがZWOのLのノイズが小さく出過ぎていること。この謎が解けない限り進展がない気がします。


まとめ

週末を結構な時間費やしましたが、コンバージョンファクターに関しては結局昨年から進展がなかったので疲れてしまいました。それでも得られた成果としては、
  • Matlabでの画像解析の手法に慣れることができた。
  • あぷらなーとさんが出してくれた、debayerの方がCFAよりもノイズが0.8倍程度と小さくなることを確かめることができた。
ことくらいでしょうか。でも全然だめですね。これ以上は時間の無駄になりそうなので、一旦ここで打ち切ることにします。

それでもMatlabが使いやすいことは分かったので、今後の画像解析はMatlabで進められそうな目処はついたと思います。

元々この解析はダークノイズ解析につなげたいとか、EOS 6Dのユニティーゲインを測定したいとかで始めたのですが、なかなか進みません。いつ実現できるのかまだまだ未定ですが、諦めることはしたくないのでまたいつか再開する予定です。

このページのトップヘ