投稿

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

Pythonの学習環境と、Python Scriptの開発環境

イメージ
これまでいくつかSirilのPython Scriptを作成してきましたが、私はPythonが全く書けません。 AIが全部やってくれるので不完全燃焼感が出てきている事と、これ以上複雑な事をやるには自力でPythonを書けるようになるしかないかなと思っています。 (AIに草案を作らせて、仕上げを自分でやるイメージ) が、プログラミング言語って覚えるの大変なんですよねホントに。 Python学習環境の構築 教材はweb上にいくらでもあるのですが、「どうやって気軽に継続的に学ぶか」がネックでした。 特に躓いた時のフォローが重要です。 (途中で分からなくなって投げ出しそうなので…) という事で次の2点がマストです。 ・AIにコーチしてもらう ・開発環境にAIが統合されていて、書いたコードを直接添削できる これを満たせて、学習できる環境を作ってみようとしてみました。 候補に挙げたのは下の3環境です。 どの環境でもAIにコーチしてもらいながら学習が可能らしいです。 ・VSCode ・Cursor ・google colab ・VScode 既にメインPCにインストール済み。 拡張機能でAIが利用可能。 Codeiumなら無料で利用可能。 (copilotなどは有料プランのみ) ・Cursor VScodeをベースにしてデフォルトでAIを組み込んでいる。 開発環境にチューニングしたAI(composer)とchatGPTなど色々なAIを利用可能 ・google colab ブラウザベースでインストール不要。 geminiが利用可能。 AIがデフォルトで組み込まれており、そのまま開発環境に移行出来そうなCursorを選びました。 早速インストール。 表示 > 拡張機能からpythonを検索しインストール。 ついでに日本語環境もインストールして再起動。 学習用のプロジェクトフォルダを作成して準備完了。 open projectをクリックし、作成した学習用のフォルダを選択し、指示を出して学習開始です。 Ctr+LでAIとのチャット枠が出てくるのでプロンプトを入力します。 プロンプトの例です。 -------------------------------- あなたはプロのPythonインストラクターです。私はプログラミング未経験の初心者です。 これからPythonの基礎を実践形式...

Siril 1.4.0 rc1 リリース対応作業

イメージ
とうとうSiril 1.4.0 の rc1 がリリースされ、正式リリースまでもう少しという所まできました。 1.4.0の目玉はGraXpertとの連携、bayer drizzleやSPCCの実装など多岐に渡ります。 その中でも、 python scriptの実装が1番大きな変化 だと個人的に思っています。 (GraXpertもpython scriptで連携しています) Sirilの自由度が大幅に増えました。 これにあやかって、私もpython scriptで遊んでいます。 1番大きな成果としては、あぷらなーとさん考案の処理ロジックをSirilで実行する事に成功しています。 他の取り組みとして、コマンドでしか操作できないunsharp maskをスクリプト化する事でGUI操作出来るようにしました。 ただし、Sirilのpython scriptはまだ発展途上です。 今回の1.4.0 rc1でも大きな変更点がありました。 という事で本題です。 1.4.0 beta3まではGUIの記述に Tkinterが奨励 されていましたが、beta4にて PyQt6が採用 となり、rc1で Tkinterが非奨励 になりました。 beta4リリースからrc1リリースまで僅か40日程度なので急激な変化ですね。 上記のリンク先の言葉を借りると「時代遅れで、動作が遅く、Linuxのwayland環境で問題が発生する 」らしい。 相当な言われ様です笑 Sril 1.5 の開発途中でTkinterが削除される予定らしいです。 という事で、私の作ったスクリプトもtkinterからPyQt6への更新作業を行いました。 公開しているunsharp mask scriptです。 PyQt6に変更した他に、スライダーを動かすとプレビューが表示できるようにしました。 描写まで少しタイムラグがあるのは許してください。 適用を押すと反映され、キャンセルを押すと元の画像に戻ります。 ま、chatGPTにお願いするだけなので、コードは1行も書いてないです(笑) バイブコーディングって本当にすごい。 とは言っても、AIにお願いすると簡単に出来すぎてしまうので、ちょっと不完全燃焼感が出てきています。 AIに作ってもらったコードを参考にしながら、自分で再度書き起こしたりして少しずつpythonを勉強中で...

ZV-E10の特徴調査

イメージ
 先日、さじアストロパークで色々と満足したので、撮影は少し休憩しています。 毎日夜だけ曇りなので撮影不能というのも大きいですが… という事で下の記事でちょっと調べたまま、中途半端だった未改造ZV-E10の特徴を調べていこうと思います。 もちろん考え方や評価はあぷらなーとさんのブログを教科書にしています。 (多くの記事があるので参照URLを選びきれませんでした・・・) この作業の為に、複数の画像ファイルに対して指定のピクセルの輝度値を読んでグラフ化するアプリを作りました。 調査開始 まずは時系列ノイズ解析を見ます。 これは28℃前後の室内において、露光時間30s、ISO1250で撮影した30枚のダークフレームから算出しました。 その中から特徴的な6点の座標を特定し、フレーム毎にどういう輝度になっているかを調べます。 なお、次から出てくるグラフには、50枚分に増えます。 左から1-30がそのまま撮影順で、31-50は131~150枚目になります。 長時間撮影の終盤でどこまで熱によるノイズが増えるかの調査も兼ねています。 ①:グラフで最も右上にあるピクセル これは高輝度の値がメインの2値振動型酩酊ピクセルですね。 ②:メジアンは高いのに標準偏差は低いピクセル バラツキの少ない高輝度値だけを出し続けるピクセルの様です。 ダーク減算で容易に補正ができるし、数も少ないので問題無いですね。 ③:右上に伸びていく群の下側 撮影回数が増えるに従って(温度が上昇するので)輝度が上がっていきます。 いわゆる「普通のホットピクセル」かなと思います。 1-30枚と131-150枚の間でジャンプするほどの差はありませんでした。 ④:右上に伸びていく群の上側 2値振動型の様に見えますが、上側の値が温度によって上昇しているピクセルの様です。 非冷却のセンサーだと、酩酊ピクセルがこういう挙動を示すんですね。 ⑤:真上に伸びていく群 2値振動型で低い値がメインとなるピクセルです。 この群もピクセルマッピングでつぶした方が良い気がしてきました。 ただし、放射線ヒットによる突発ノイズも含まれているハズなので、その違いを判別出来ない場合は補正しない方が良いかもしれません。 ⑥:メジアンが異常に低いピクセル ZV-E10はバイアスとして輝度が512加算されているため、光子を受け取らなかったピクセル...

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 ノイズに喜んでしまうあたり、いい感じにイカれてきた気がしています。 が、やはり実装は思うようにいきません。 ピクセルマッピングを適用した画像にクール...

にほんブログ村

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