投稿

ラベル(python)が付いた投稿を表示しています

Sirilを更に邪悪に。

イメージ
今回もあぷらなーとさんの処理ロジックをSirilで実行してみます。 試すのは ハイパーイーブンオッド 法 です! ロジックの詳細はあぷらなーとさんの記事で。 人生初の星ぐる写真 今年の3月に天体撮影を始めたので、星ぐる写真も撮ったことがありません。 という事でまずは試しに撮影してみました。 機材:ZV-E10、SELP1650 焦点距離16mm F6.5 まぁなんというか、とりあえずロジックを試せれば良いやという感じでテキトーに撮りました。 光害は甚大ですが、案外映るもんですね笑 ただ、Siril 1.4.0-beta3で比較明合成が出来ない。 memory allocation error が発生して比較明合成が動きません。 メモリの割当量を空きメモリの半分くらいに設定してもダメ。 こんな基本的な処理がなんで出来ないんだ!と不思議に思っていたのですが… すっかり忘れていましいたが、 今使っているのはbeta版 だった! という事でSiril 1.2.6 Portable版をダウンロードして上の処理を行いました。 いやー、何の問題もなく色々処理してくれるのでbeta3だという事を完全に忘れていました。 そりゃ不具合もあるよね。 まずは手動でイーブンオッドを試す 今回の処理はSirilの機能で実現可能だと思っているので、ひとまず手動で処理してみます。 順序は下の通り。 ①撮影データをイーブン群とオッド群に分ける ②それぞれの群を比較明合成する ③比較明合成したものを加算合成する ④最大輝度値データと比較暗合成する ①以外は全部Sirilの標準機能で出来ると思うので、ひとまず手動でやってみます。 左が普通の比較明合成、左がイーブンオッド法です(≠ハイパー) 輝度の低い星が途切れる現象が見事に改善できています。 ひとまずイーブンオッドはクリア。 が、ここから「ハイパー」にするために比較暗合成で処理が必要ですが、できません。 1.4.0-beta3でも、1.2.6でも、実行した瞬間に Sirilがクラッシュ してしまいます。 これはダメだ… pythonまで使わなくても単純なスクリプトで実行可能なハズだったのに、結局pythonスクリプトで処理しなければならないという事になりました。 スクリプト作成 先日、chatGPTが5にアップデートしたという記事を見たので...

ノイズ補正スクリプトの効果について比較してみた

イメージ
 前回、あぷらなーとさんのノイズ補正ロジック3手法をsiril環境で実行する挑戦に成功しました。 ノイズの多い画像で絶大な効果が確認出来ています。 この最後の方に「私のカメラZV-E10はピクセルマッピングが丁寧に行われていて、ノイズ補正スクリプトの出番が少ない」と書きました。 もうひとつ、追尾エラーが大きすぎて天然ディザリングになっている可能性もあり、余計にノイズが目立たないと思っています。 が、よく考えれば ノイズが少ない上に 散っているから 気付かないだけ であって、存在している はず です。 ということは、その後の デノイズやデコンボリューションへの影響が少なからず出るはずでは? と思いました。 人の目で見て気にならないレベルでも、こういった計算処理において 無視できない可能性 があります。 ということで、ノイズがあまり目立っていない画像に対してどこまで効果があるのかを調べてみます。 今までの処理方法とピクセルマッピング&クールファイル補正法を追加したものを比べてみたいと思います。 なお、いつも使っているDrizzleはMADクリッピングしないと色がおかしくなるので、コスミカットは使っていません。 M8 こないだSEL55210で撮影しましたが、SE102でも撮影しました。 機材:SE102, ZV-E10未改造, QBP, AZ-GTi経緯台モード 条件:ISO1250, 30s露光×270枚 処理:トリミング、SPCC、AI デノイズ&デコンボリューション (object) あり そしてこっちがピクセルマッピング&クールファイル補正版です。 若干の色味に差があるものの、大きな差はありません。 周辺の淡い部分を拡大してみると… 左側今までの処理、右側がピクセルマッピング&クールファイル補正版です。 若干ノイズ感が改善している様に見えます。 差は大きくないものの、想定通り多少は改善が見られるということかな? M20 続いてM20です。 これも、青色が出ると良いなと期待して再度撮影しました。 機材:SE102, ZV-E10未改造, QBP, AZ-GTi経緯台モード 条件:ISO1250, 20s露光×426枚 処理:トリミング、SPCC、AI デノイズ&デコンボリューション (object)あり これをピ...

Sirilを邪悪にしてみた

イメージ
ここ最近、あぷらなーとさん考案のソフトウェアピクセルマッピング、クールファイル補正法、コスミカット法をSiril環境で実行する事に挑戦していました。 先日、最後のコスミカット法が完成し 挑戦に成功 しました! これで私のSirilがちょっと邪悪になりました!笑 3手法全てにおいてSiril標準の機能では実現不能で、pythonを利用して初めて実現可能になります。 なぜPythonかというと、SirilでpythonスクリプトがサポートされたのでSirilに無い機能を自由に作ることが出来るようになったからです。 ちなみに、tomはプログラミングがほぼ出来ません。 本業で必要に駆られてVBAを軽くかじっただけです。 (ループ処理がやっと書ける程度の万年初心者です) なのでコードは全てAIで書いています。 主にGeminiで、たまにCopilotを使っています。 プログラミングが出来ない人でも、AIを使う事でやりたい処理のスクリプトを作り上げることが出来ます! では、それぞれどのようにして実現したかの話に移ります。 ソフトウェアピクセルマッピング ロジックの詳細はあぷらなーとさんの記事を参照してください。 邪崇帝主とステライメージ10にしか無い機能だと思うので、当然Sirilで出来るものではありません。 ピクセルマッピングを行うアプリを作る必要があります。 なお、出来上がったマップデータをSirilの処理の時に使用するだけので、Sirilのpythonスクリプトを使う必要はありません。 単独のアプリとして作成する方が楽です。 処理の流れは次の通りです。 ①ダークフレームを取り込んで各ピクセル毎にメジアンと標準偏差を算出し、散布図にする。 ②散布図からホットピクセルの所を選択して、この座標データをSirilで読み込む形に変換する。 Sirilで読み込む形式は documentation の通りです。 ①は指示次第ですが意外とすぐ作れました。 処理に必要なライブラリはGeminiが勝手に選定してくれます。 ②は指示の難易度が上がるのと、処理が重くなりやすいので出来るだけ簡単なGUIを検討した方が良いです。 なんせ、この散布図の中には画素数と同じ数のドットがプロットされているので下手に組むとフリーズしまくります。 私はメジアンの上限下限のパーセンタイル指定と、2点のXY座標...

M8とM20とpythonスクリプト

イメージ
 またしても綺麗に晴れたので、撮影が捗ります。 M8とM20 少し前に工作してAZ-GTiにカメラを載せられるようにしたので、SEL55210で撮影してみました。 早速リザルトです。 機材:SEL55210(焦点距離210mm), ZV-E10未改造, QBP, AZ-GTi経緯台モード 条件:ISO1250, 30s露光×245枚 処理:トリミング、SPCC、AI デノイズ&デコンボリューション ダブルズームキットのレンズとカメラ(未改造)、かつ光害地のベランダ撮影 でここまで写れば文句はないです。 望遠鏡を買わなくてもここまで写せる のは少々驚きました。 エントリークラスの機種でもダブルズームキットを持ってる人なら経緯台とQBPフィルターを買うだけで星雲が写せる! 周囲に光害が少なければQBPすら不要ですし。 天体撮影って思ってたより ハードルが低かった 。 望遠鏡が必須という思い込みがありましたが、むしろ経緯台さえあれば何とかなる事が分かりました。 ちなみに、QBPを使っているので三裂星雲の青色が苦しいと思っていましたが、ギリギリ何とか写りました。ぼんやりしていて青色と言えるレベルでは無いですが笑 また、エントリークラスの未改造カメラでこのレベルですから、天体用カメラを買うとどこまで綺麗になるのか楽しみです。 ただ、三裂星雲の右上に違和感があるので調べてみたところ、円形のゴースト(?)が出てしまいました。 スタックしただけの画像を思いっきり強調しています。 レンズの先にQBPフィルターを取り付けたので、レンズとフィルターが近すぎたせいかな?と妄想しています。 解決策が無いか、のんびり考えたいと思います。 これを撮影していて、200mm前後の鏡筒がたくさん出ている理由がちょっと分かりました。 複数の星雲が1枚に写るのってすごく良い。 やっぱりいろんな焦点距離の鏡筒が欲しくなってしまうんですね… 天文が 沼 と呼ばれる理由もホントによく分かりました。 pythonスクリプト 撮影ではない方のネタに移ります。 ここ最近は、あぷらなーとさん考案の処理法をSirilに実装しようと頑張っています。 前回悩んでいたseqcosme(cosmeのループ処理)を使用する方法からは一旦離れて、別の方法をとりました。 これでピクセルマッピングとクールファイル補正...

M16とpythonスクリプト

イメージ
  土曜の夜、風呂に入る前に外を見ると完全に曇っていて、撮影を諦めました。 が、風呂から上がってしばらくして、ふと空を見ると綺麗に晴れてる! という事で急遽撮影しました。 狙いは前回ゴミで酷いことになったM16です。 早速リザルトです。 機材:SE102, ZV-E10未改造, QBP, AZ-GTi経緯台モード 条件:ISO1250, 30s露光×179枚 処理:トリミング、SPCC、AI デノイズ&デコンボリューションあり 処理ですが、GraXpert の deconvolution(stellar)は使っていません。 というのも、stellar で処理すると画像の外周ばかりが強烈に補正されてしまいます。 M17の時も悩みましたが、今回は避けようがないくらいに酷かったので採用出来ませんでした。 どうすれば外周だけでなく全体的に補正がかかるのか… 何か良い条件が無いか探ってみたいと思います。 GraXpertの不具合なら逆にありがたいくらい。 また、以前効果が無いと言った deconvolution の object ですが、めっちゃ効果ありました。 創造の柱がクッキリしました。 左がdeconolution(object)なし、右がありです。 意味無いと言ってスイマセン…これからはobjectも使います。 ただ、以前の検討だとこんなに分かりやすい変化は無かったので、何か違いがあるんでしょうね。 ちなみに、objectでも strength を上げすぎるとアーティファクトが出ます。 何事もやりすぎは良くないです。 下は strength = 0.8まで上げたら出てきました。 続いて、前回の最後にちょろっと書いたクールファイル補正法のpythonスクリプトです。 引き続き検討を進めています。 この記事を書いた後、あぷらなーとさんのXの投稿で「星ナビ8月号に ノイズまみれの画像が付いてくる 」 と知る事ができたので、急いで購入して検証を始めてみました。 ノイズまみれの画像が手に入ると分かった瞬間に 猛烈に喜んで しまいました。 で、画像をダウンロードして圧倒的なノイズを見たら、 更に喜んでしまいました w ノイズに喜んでしまうあたり、いい感じにイカれてきた気がしています。 が、やはり実装は思うようにいきません。 ピクセルマッピングを適用した画像にクール...

天体撮影用の天気スコア算出アプリの作成

イメージ
 天体撮影をする時に、天気予報が信用しにくいです。 普通の天気予報の「晴れ」は全く当てにならなくて、いつもwindyと睨めっこしています。 これを何とか指標化出来ないかなともがいてみます。 しかも、PCではなくandroidアプリで。 結論を最初に言うとアプリは出来上がりましたが使い物になっていません。 windy は API を提供しているので、ひとまずアカウント登録します。 point forcastのAPI キーを取得しました。 取得できるデータを 確認 し、計算式を考えて、計算アプリを作ってみます(もちろんコーディングは全部Gemini任せ)。 言語はpythonです。 早速、現段階の状況です。 見た目はともかく、私の端末(pixel6a)では狙い通り動いてます。 算出ロジックは下の通り。 総合スコア 総合スコア = (雲スコア * 0.75) + (シーイングスコア * 0.1) + (湿度スコア * 0.05) + (風スコア * 0.1) この計算式は、tomが何となく決めた式です。 何か根拠があるわけではありません。 結果を見ながら修正を加えようと思っています。 雲スコア (配点75%) 下層雲・中層雲・上層雲の合計雲量から算出します。 合計雲量 = min(下層雲[%] + 中層雲[%] + 上層雲 [%], 100)  ※足して100を超える場合、100を上限とする 雲スコア = 100 - 合計雲量 シーイングスコア (配点10%) シーイングはwindy APIで取得できるデータから算出できそうだったので頑張ってみました。 ここでは、大気屈折率構造定数(C n 2 )を、複数の大気層(850hPa〜200hPa)にわたって積分することでシーイングを推定します。 ...

Siril unsharp mask script の作成

イメージ
 Siril 1.4.0 beta3が公開されました。 このアップデートではpython scriptについての修正が多くされています。 私もGeminiを使ってpythonでプログラムを作成していたので、pythonスクリプトを作ってみようと思い立ちました。 第1弾として、コマンドでは実装されているもののGUIでは実装されていない「アンシャープマスク」をGUI操作できるようにしてみました。 ダウンロードは下のリンクから。 画面は下のような単純なものです。 適用量と半径を決めて、適用を押せば処理されます。 適用を押して満足する結果ではなかった場合は、Sirilのメインウインドウのundoボタンをクリックして元に戻し、スライダーを調整して再度適用する作業を繰り返す必要があります。 その際、スクリプトのウインドウが隠れてしまうと操作が非常にやりにくいため、ウインドウを常時最前面にする設定にしています。 Siril以外の他のアプリも含めて最前面に表示されてしまいます。 本来はプレビュー機能をつけたかったのですが、本日の時点においてsirilpyにはプレビュー機能がサポートされていないらしく、実装できませんでした。 思い立ってからこれが出来上がるまで(どうやってSirilのpython scriptをGeminiに作らせるかの検討も含めて)、1時間もかかりませんでした。 いやほんとAIって進歩が凄いですね。 また何か作れないか、のんびり考えてみたいと思います。

ZV-E10の時系列ノイズ解析

イメージ
 昨日の投稿では、私の早とちりでノイズは全く解決しませんでした。 ノイズをどうするか考えていきます。 これに関連してやりたかった事をひとつ。 あぷらなーとさんの 時系列ノイズ解析 です。 カメラの特徴が掴めると、ノイズ除去の手掛かりになるかもしれません。 とは言ってもMATLABは持っていません。 プログラミングもvbaを仕事の業務効率化の為に少しだけ覚えたくらい。素人に毛が生えた程度です。 さてどうするか。 少し調べていたら、pythonに astropy という天文データの解析に使うパッケージがあるらしい。 これでfitsファイルは読み込めるとのこと。 素晴らしい。 言語はpythonに決定。 pythonをインストールして、vs codeをインストールして… 開発環境は整った。でも今から言語を覚えるのは大変過ぎる。 という事で、コードが書けると噂のcopilotを使ってみました。 いやこれホントすごい。 あっという間に取っ掛かりができて、指示を何回か修正したらプログラムが完成してしまった… 思い立ってからここまで半日かからず。 結局、当の本人はコードの確認をしただけで1行も書いていません。 AIの発展が凄いと大騒ぎになる理由がよく分かりました。ホント凄い。 さて、出来上がったプログラムで実行したZV-E10の時系列ノイズ解析です。 ででn(ry え!?ウソでしょ!? 正直驚きました。 素人目では相当良い結果の様に見えます。 室温かつ温度コントロールしていないエントリーモデルのデジカメがこんなのアリ? いやいや、流石にありえないでしょコレは。 この解析は温度に強く左右されるので、3月下旬に取得したダークファイルと比較してみます。 左が6月1日撮影でISO1250、20s露光 右が3月22日撮影でISO3200、10s露光 こんな比較をするとは思っていなかったので、条件はバラバラです。 気温よりもISO感度の影響を強く受けている可能性がありそうという事は分かりましたが、グラフの形状に大きな変化はありません。 んー、この結果は信じていいのか、疑うべきなの分からない… こんなに綺麗ならコンポジットやダーク減算でノイズはしっかり消えてくれるはず。 なぜノイズまみれの画像にしか仕上がらないのか… このノイズ解析が正しいと仮定すると、Sirilでの処理に何か落とし穴...

にほんブログ村

PVアクセスランキング にほんブログ村 にほんブログ村 写真ブログ 天体写真へにほんブログ村 科学ブログ 天文学・天体観測・宇宙科学へ