星撮り日記

Pixinsight「EZ Star Reduction」で「StarNet2」を使う

2022/11/07
画像処理 2
こんにちは、nabeです。

今日は久々にPixinsightネタです。

皆さんは「EZ Star Reduction」というスクリプトを使っていますか?

星を小さくすることで星雲を強調することができる素敵なありがたーいスクリプトです。
自分の作品もだいたいどこかで1回はこのスクリプトにお世話になっています。
スクリーンショット 2022-11-07 164944

簡単なステップで星を小さくする 〜 PixInsightの画像処理

星雲を強調したいときなど、星を小さくしたいときがあります。評判の良いのがAdam Blockさんが提案したDe-Emphasisという手法です。処理ステップ数が多いのですが、一連のステップを自動化してくれるスクリプトが登場しました。その名もEZ Star Reduction。



このスクリプトの詳しい解説は、たのしい天体観測さんのページにありますので、まだ使ったことのない方はぜひご覧になってみてください。

どのような処理でStarNet++を使って、効果を得ているのかというスクリプトの仕組みについては、上記のたのしい天体観測さんのページに詳しい解説がありますので、読みましょう。

さて、この素敵なスクリプトですが、ひとつ問題があります。
正確には、このスクリプトで使用している「StarNet++」という星と星雲の分離ツールなのですが、明るい領域にこのような”段差”ができてしまうことがあります。

スクリーンショット 2022-11-07 170436

分かりますでしょうか。画面中央の縦方向に輝度の段差ができてしまっています。

これはStarNet++が画像を細かい区画に分けて処理するためで、ある程度は仕方のない副産物でありました。


しかし、技術の進歩は素晴らしいもので、これらの欠点をかなり解消して、星消しの精度も向上した「StarNet2」が新たにリリースされています。
少し前にPixinsightにも正式にプロセスとして導入されて、もうメインはStarNet2という方も多いのではないでしょうか。

ですが、残念ながらまだ「EZ Star Reduction」では「StarNet++」を使用した処理が行われています。
これをなんとかStarNet2で処理できないか?というのが今日のお話。

結論を言うとメチャクチャ簡単にできました。


まず、Pixinsightのスクリプトは誰でも編集できるJavaScriptの形式で保存されています。

そしてありがたいことにPixinsightにScriptEditorが標準装備されています。


「SCRIPT>Edit Scripts...」を開き
スクリーンショット 2022-11-07 165129


編集したいスクリプト(.js)を選ぶだけです。


スクリーンショット 2022-11-07 165150

ちなみに「EZ Star Reduction」はPixinsightチームが開発している公式スクリプトではなく、サードパーティー製のスクリプトです。
インストールされていればWindowsの場合は「C:\Program Files\PixInsight\src\scripts」直下にそのまま置いてあります。


大事なことなのですが、開くのは「EZ_StarReduction.js」ではなく

「EZ_Common.js」です。


スクリーンショット 2022-11-07 165237

「EZ_Common.js」を開いたら

上のツールバーの虫眼鏡マークで「starnet」と検索します。

そうすると

function getStarNet() {
    try {
        return new StarNet;
    } catch (e) {
        return null;
    }

という項目があるので

function getStarNet() {
    try {
        return new StarNet2;
    } catch (e) {
        return null;
    }

と変えてやります。


スクリーンショット 2022-11-07 165301

あとはSaveをポチッと押して完了です。


スクリーンショット 2022-11-07 165649

これだけでした。

ちなみにプログラミングはど素人なのでなにか問題が出るかもしれません。
当たり前ですが自己責任でお願いします。



念のためPixinsightを再起動してEZ Star Reductionを走らせてみます。

スクリーンショット 2022-11-07 165029

おお!ちゃんとStarNet2が走ってる。


スクリーンショット 2022-11-07 172829


スクリーンショット 2022-11-07 172908

あくまでマスクの生成に使うツールを変えただけなので、スクリプトとしての効果も問題なさそうです。


ということで、EZ Star Reductionで星の周りの直線のアーティファクトに悩まされている方は、試してみるといいかもしれません。



蛇足



最初はEZ_StarReduction.jsを必死に眺めて構造を見ていたのですが、どうもStarNet++自体を指定している箇所がほとんどなく、どこを変えればいいか全くわかりませんでした。プログラミングど素人です。

スクリーンショット 2022-11-07 165634


その代わりに出てくるのがこの「getStarNet」という部分

どうやらこの部分からStarNet++を呼び出しているようですが・・・・?

なにせ今までArduinoくらいしか触ったことがないのでJavaScriptはさっぱりです。

スクリーンショット 2022-11-07 165557


お、でもこのincludeというのは知っています。
他のjavaScriptファイルを参照する関数?です。

ということは、この「EZ_Common.js」に「getStarNet」という定義がされているのでは?

と思って見てみたらビンゴでした。

あとは該当の箇所で読み込むプロセスを変えてやるだけなのですが、
PixinsightのJavaScriptはすでに読み込まれているプロセスの名前を入れるだけで動くようです。

繰り返しになりますが、プログラミングはど素人なので、今回はたまたまうまくいった(もしくはうまくいったように見える)だけなので、もしもっと正確な解説や正しい方法を知っていたら、ぜひ教えてください。

それでは。
関連記事
スポンサーサイト



Comments 2

There are no comments yet.

Toshy-jiG

星を暗くする方法について

 nabeさんこんにちは。
 以前にGS200-RCの接眼部について教えを願ったものです。
 nabeさんの記事を参考にTSに接眼部を発注し交換して使っています。至極具合がいいですね。お礼を申し上げます。
さて、EZ Star ReductionでStarNet2を使えるようにしたというのはなかなかいいですね。
 それに水を差すようなつもりは毛頭ありませんが(気に障ったらごめんなさい🙇)、同じStarNet2で星と銀河や星雲を分離して別々に処理を進めて合成することで、星の明るさを抑えられますが、どうなのでしょう。多分に恣意的にはなりますが。
 それと、ごく最近blogを始めたのですが、そこにここのlinkを張ったり、記事を引用できるようにしてもよろしいでしょうか?

2022/11/08 (Tue) 14:41
nabe

nabe

Re: 星を暗くする方法について

Toshy-jiG さん、こんばんは。コメントありがとうございました。


>同じStarNet2で星と銀河や星雲を分離して別々に処理を進めて合成することで、星の明るさを抑えられますが、どうなのでしょう。

・この処理はスクリプト(エクセルのマクロみたいなもの)なので、やっていることはだいたい同じみたいです。ただ単に、星と星雲を分けて処理すると星の明るさと星雲の明るさの調整がうまくいかないことが多くて、自分はこのスクリプトで済ませてしまうことが多いですね。人によるかと思います。

>ごく最近blogを始めたのですが、そこにここのlinkを張ったり、記事を引用できるようにしてもよろしいでしょうか?

・ぜひどうぞ!

2022/11/23 (Wed) 00:08
画像処理