:(コロン)だけだとその次元の最初から最後まで全部という意味です。これがMatlabで絶対理解しておかなければならない表記法の一つです。今回は画像を扱うのに4次元の配列を使っています。1、2次にy座標とx座標。左上からyは向かって下に、xは右に移動していきます。3次目はRGBやCFAのインデックス。RGBなら3つ、CFAなら4つとっています。4次目は何枚目の画像かを表しています。今回8枚の画像を使っていますが、その何枚目かを表します。あと成分を表す数字は1から始まることにも注意です。0からではありません。:が2つあるのはy、x座標それぞれ全部を表しています。"2"はRGBの2番目と言う意味です。"5"は5枚目と言うことです。fitsread(ファイル名);はi番目の画像にfitsファイルを読み込んで、1次目にy座標のデータ、2次目にx座標のデータを全部入れていきなさいと言うのをわずか1行で表記したものです。これらの表式は慣れるしかないのですが、ここらへんを感覚的に理解できるとコードもすらすら読めて、シンプルなコードを書くことができるようになるのかと思います。モノクロセンサーASI290MMの場合とりあえずMatlabでやってみた画像処理を説明していきます。モノクロのASI290MMの結果です。このグラフを出したMatlabのソースコードをアップロードしておきます。使用した画像も(サイズを切り詰めるために中心部のみ切り取ったものですが)一緒に入れておきましたので、すぐに走らせることができると思います。Matlabを持っていて興味があったら走らせてみてください。ASI290MM.zip結果は前述したとおり、平均偏差ではなく一般的な標準偏差を使っています。メーカー値はコンバージョンファクターが3.6程度、ユニティーゲインが110程度ですので、グラフ内の数値と比較してみるとそこそこ一致していることがわかります。カラーでも標準偏差を用いる方向を探りたいと思います。以前pythonで書いたコードと比較して同等の結果を出すことできています。Maltabでもこれまでと同様のことができることがわかり、かつ遥かにシンプルに書けることがわかりました。結論から言うと、結局今回も謎は解けずじまいでした。シンプルなCFAの方から。RAW画像からCFAへ分離するところはビルトインの関数とかはないようなので自分で書いてみました。以前は平均偏差(mad)で無理やり答えを合わせましたが、今回ASI290MMの結果なども含めていろいろ考えた末に、結局諦めて標準偏差(std)を使うことにしました。各測定点はそのまま解析した結果を表示していますが、フィッティングは無理やり合うように補正してます。factorとしてフィッティングするところで無理やり補正するというやりかたです。factorはノイズ(標準偏差の2乗)を2分の1とすることでZWO、SharpCapの結果と一致することがわかりました。ちなみにメーカー値はコンバージョンファクターが3.9程度、ユニティーゲインが117程度です。繰り返しますが、CFAで測定されたノイズを無理やり半分にすることでメーカー値に近くなります。先に説明したように、SharpCapでLのノイズが小さく出ている理由がわからなかったので、もうこのように無理やり合わせてしまうしかなかったという苦肉の策です。これはあぷらなーとさんが示してくれた、CFAとRGBで標準偏差で0.75倍違うというのを考慮してもまだ少し足りません。このやり方に言いたいことはたくさんあるかと思いますが、とりあえず先に進むことにします。次はRGBでの解析です。最初はMatabビルトインのdemozaicという関数を使ったのですが、これだと中で何か変に処理しているのかノイズが話にならないくらい大きくなりすぎました。仕方ないので自分でRGBに落とすコードを書いています。まともそうな値は出たのですが、ただしこのコードまだ未完成です。いうと、センサーアレイはRGGBなのでG(グリーン)が二つあるのですが、その応答が少し違うことに起因します。Gを2つ使って求めると強度の山が2つでできてしまい、ばらつきが大きくなりすぎるからです。そのため今回は2つあるG素子のうち1つだけを使うことにしました。RGBになりあぷらなーとさんが示してくれた通り、CFAの時よりもばらつきは少なくなることがわかりました。factorとしてフィッティングするところに無理やり入れました。factorはノイズ(標準偏差の2乗)をルート2で割ってやることでZWO、SharpCapの結果とかなり一致することがわかりました。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で進められそうな目処はついたと思います。6Dのユニティーゲインを測定したいとかで始めたのですが、なかなか進みません。いつ実現できるのかまだまだ未定ですが、諦めることはしたくないのでまたいつか再開する予定です。23:37うわあ!ついにsamさんも「まとらぼ遊び」に参戦ですか!!私は始めたばかりのヒヨコなので非常に勉強になります。今後の記事にも大いに期待します。22:58>>あぷらなーとさん、こんばんは。画像処理をいろいろ噛み砕いてみたいと思っています。あせらずに、時間の許す範囲でのんびりやりたいと思います。らなーとさんの方に追いつくのが大変かと思っています。