以下の記述は半年前にPixInsightを使用してみて、知りたいと思いログを見ながら(仕事上よくログ解析して問題の解析をしたりした経験上、ログを見れば多少は動きが分かるので。習性ですね)何をしているのだろうと調べ始めて書き始めた内容です。別件でPixInsight躓き1を投稿しましたが、続きが無いです。
続けて調べて書き加えようと下書きのままにしていたものですが、最近は調べたりするのも減ってしまったので削除を考えていました。しかし、既にバージョンも上がり違っているかも知れませんが、多少の役に立つかもしれない(間違っている可能性も大)と思い、公開する事にしました。また場合により非公開に変更するかも知れません。
ーーーーーーーーーー 以下から
これはPixInsightを初めて使用して見て感じたことを記載したいと思います。
使い始めなので奥が深いこのアプリをキチンと把握できてはいないですが、私が感じている点を記載するので熟知者からしたら間違っているかもしれませんが、ご容赦願います。尚、PixInsightは更新にて随分とUI内部情報が変わったりしているみたいですが、今回のバージョンは 1.8.9-2 Build 1597です。モノラルでのお試しで以前QHY183MにてL,R,G,B撮影したFITSをWBPP処理した時の処理から。
1.WBPPのステップから:先ずはこの辺りから、ログを見てです。
前段のCalibrationまではステライメージ9でのDark、Flat補正(Calibration)関連なので特段分からない点は無いのですが、その後からですね。と言うかここからがステライメージ9とは根本的に違い、自動処理レベルの結果に大きな差が出て来るのだろうと思います。尚、一部マスターダークやマスターフラットを作成済みなので、その後の後半部に相当します。尚、ログからの引用は一部だけですので、全体として見たときには間違いがあるかも知れません。
1)Measurements
SubframeSelectorを使ってCalibration済みLightフレームの判定をしているよう。
星像(対象や選定不明)のFWHMやPSF(Point Spread Function)を測定。基準フレームを識別する為の前処理なのだろうと思います。
—–(ログから)
*********************
* Perform image measurements
*********************
途中省略
SubframeSelector: Global context
途中省略
* Loading subframe file: I:/2023-10-23/Target_M 33/calibrated/Light_BIN-1_5544x368
Loading image: w=5544 h=3684 n=1 Gray Float32
83 FITS keyword(s) extracted
Measuring subframe: I:/2023-10-23/Target_M 33/calibrated/Light_BIN-1_5544x3684_EXP
Stars detected: 869
Valid PSF fits: 829 ( 95.40%)
途中省略
I:/2023-10-23/Target_M 33/calibrated/Light_BIN-1_5544x3684_
—————————–
FWHM : 2.095 [px]
Eccentricity : 0.701
Number of stars : 592
PSF Signal Weight : 0.012
PSF SNR : 0.022
SNR : 1.062
Median (ADU) : 333.176
MAD (ADU) : 184.261
Mstar (ADU) : 74.939
—————————–
以下省略
——
何でSubFrameなんだろう?言葉の意味合いが良く分からない。使い方まあ通常フレームを異なるフレーム(サブフレーム)を決められると言った汎用面を捉えてサブフレームなのかな?スクリプトの流れ的にはBaseFrameのように見えるが。
2)Bad Frame Rejection
使えないフレームの選定だろう。1)のSubFrame出力情報から基準で判定して識別のよう。今のところ0なのでどういった画像が除かれるか不明。但し、判定では”_Ex30.00s_0007_c.xisf – 0.867 > 0.050 | accepted”となっているので閾値は0.05 これが何の値か不明。このファイルのSubFrame Selectionでこの 0.867 の属性が見当たらない、複合計算値なのだろう。
3)Reference Frame Selection
これは各フィルター(L,R,G,B)毎に選定かと思いましたが、自動ではLの1ファイルが選定されている。
Best reference frame for registration – auto selection completed: I:/2023-10-23/Target_M 33/calibrated/Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-L_mono/FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-08-18_M 33_G15_O9_Temp-10.10_L_Ex30.00s_0001_c.xisf
4)Plate Solving Reference Frames
各フィルター毎に、3)のReference Frameを指定している。結果としては上記Reference FrameにDynamicPSFを使いPlate Solveをしているよう。
DynamicPSF:Goole生成AI:DynamicPSF is a tool in PixInsight that allows users to interactively fit point spread function (PSF) models to images. It can be used to model relatively bright or point-like image features, but is primarily used to fit mathematical modeling functions to star images. The current version of DynamicPSF can fit Moffat and elliptical Gaussian functions, which are well-suited to modeling stellar objects in deep-sky images. DynamicPSF also supports rotated PSF fitting functions.
—-(ログから)
Reading image:
I:/2023-10-23/Target_M 33/calibrated/Light_BIN-1_5544x3684_EXPOSURE-30.00s_
Loading image: w=5544 h=3684 n=1 Gray Float32
83 FITS keyword(s) extracted
Plate solving a regular frame, do not limit the maximum iterations
Detecting stars: 100%
941 stars found
DynamicPSF: Global context
1 view(s)
941 star(s)
896 PSF fittings
408.351 ms
* Removed 6 conflicting sources (0.67 %)
* Search quadtree generated with 890 objects, 5 node(s), height = 2
* Star matching tolerance: 2 px
——
然しながら、上記DynamicPSFがPlateSolveにどう使われているのは下のログを見ても不明。尚、Plate SolveではGaia DR3をインストールしているので、それベースで行っているよう。その結果は、
—-
*** Astrometric solution found for file I:/2023-10-23/Target_M 33/calibrated/Light_BIN-1_5544x3684_E
Creation time ………… 2024-04-22 00:57:03 UTC
Creation software …….. PixInsight 1.8.9-2 / ImageSolver 6.2 (Windows)
Reference catalog …….. Gaia DR3
Linear transformation matrix (world[ra,dec] = matrix * image[x,y]):
-2.56595560e-05 -2.94285976e-04 +6.13133425e-01
+2.94237807e-04 -2.56914229e-05 -7.68449604e-01
WCS transformation ……. Thin plate spline
Control points ……….. 399
Spline lengths ……….. l:399 b:399 X:399 Y:399
Projection …………… Gnomonic
Projection origin …….. [2772.471957 1841.722233] px -> [RA: 1 33 53.362 Dec: +30 38 28.49]
Resolution …………… 1.063 arcsec/px
Rotation …………….. 85.008 deg
Reference system ……… ICRS
Observation start time … 2023-10-23 12:08:18 UTC
Observation end time ….. 2023-10-23 12:08:48 UTC
Geodetic coordinates ….. 138 36 15 E 35 25 30 N 977 m
Focal distance ……….. 465.54 mm
Pixel size …………… 2.40 um
Field of view ………… 1d 38′ 15.3″ x 1d 5′ 17.4″
Image center …………. RA: 1 33 53.362 Dec: +30 38 28.50 ex: +0.003350 px ey: -0.002419 px
Image bounds:
top-left ………….. RA: 1 36 42.860 Dec: +29 52 17.72 ex: -1.130926 px ey: -1.363893 px
top-right …………. RA: 1 36 05.694 Dec: +31 30 08.04 ex: +1.113537 px ey: -1.106415 px
bottom-left ……….. RA: 1 31 43.148 Dec: +29 46 40.33 ex: -1.791271 px ey: +0.171669 px
bottom-right ………. RA: 1 31 00.950 Dec: +31 24 24.77 ex: +1.109251 px ey: +0.118994 px
5)Registration
Google生成AIでは、
In PixInsight, registration is the process of aligning images to a reference. This process is also known as the StarAlignment tool. The StarAlignment tool has many functions, including registering images to a reference, which aligns each image to each other and overlays the stars. 参考情報(Registrationと言っているのは)はここの様です。
これはスターアライメントですね。レファレンスフレームと合わせるような感じですね。ステライメージ9での基準合わせでしょうか。尚、参考情報でどうしてRegistration(登録)と言っているか的な事を示しています。
最後のIntegration時に役に立つdrizzle情報も生成して出力しています。このdrizzleは肝みたいに思います。
2024/10/31 追記
ここを書いている時にGoogle検索では見つけていたのですが記載漏れていました。分かりやすいかどうか気にはなりますが、医療系ですが画像の関係でImage Registrarionと言う語があり、ここで簡単に解説しています。似た感じであると思います。
6)LN Reference Generation
Google生成AIでは、
Local Normalization (LN) reference generation in PixInsight is a feature that allows users to pre-process raw image data. Pre-processing, also known as data reduction, involves:
* Removing reproducible detractions from raw image data
* Measuring quality-relevant subframe properties
* Deriving weighting factors from these properties
* Registering subframes
* Integrating subframes applying normalization and pixel rejection, taking into account weighting factors
因みに実際の操作は、ログからみてPSFSignalWeight metricを使用するようです。
—-ログから
Selecting the best reference frames for Local Normalization using PSFSignalWeight metric.
Local normalization: generate the reference frame selecting 3 frames with the highest PSF Signal Weight amongst 6 frames
Sanitized group folder name: [Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-B_mono] -> [Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-B_mono]
Loading image: w=5544 h=3684 n=1 Gray Float32
82 image properties
—-
DeepL訳:
PSFSignalWeight指標を用いて、ローカルノーマライゼーションに最適な参照フレームを選択
ローカルノーマライゼーション:6つのフレームのうち、PSF Signal Weightが最も高い3つのフレームを選択して参照フレームを生成
サニタイズされたグループフォルダ名:[Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-B_mono] -> [Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-B_mono]
画像の読み込み:w=5544 h=3684 n=1 グレー Float32 82 画像のプロパティ
サニタイズされたグループフォルダ名:多分サニタイズ(無害化)処理で扱えない文字を置換する事ではないか?
兎に角以下のLNの為に参照フレーム(複数のようです)の生成ですね。ログをよく見てみるとどうも選択されたファイル(上記3ファイル)は内部的にはIntegrationしているように見えます。
2024/10/31 追記
ここでの”Local”を「局所」としていますが、この場合は何となく違いますね。全く”Local”の英語はその使い方意味合いの感覚が私には分かりにくいです。以前電話関係で使っていた言葉で「ローカル給電」と「リモート給電」がありました。この「ローカル」は「その場、ここ、使っている所」的な意味合いでしたから、これに似た使い方とすると、「ここでの、使用PCでの」的なのでしょう。言ってみれば訳さなくでも良い感じかと。英語は論理的に厳密に表現したりするのでこの表現なのでしょうか?
記載したころは部分的(以下の”smaller chunks”を勘違いしたのかと)に正規化するのかと勘違いしていました。その後、単に各ファイルでバラバラのADU値を6)項の Reference を使い全て0~1までに正規化したファイルにしてしまうことだろうと自分では理解しました。
7)LN:Local Normalization(局所正規化)
Googleの生成AIでは、
Local normalization (LN) in PixInsight is a method that normalizes the brightness of a frame in smaller chunks, instead of balancing the entire frame. LN breaks the frame into small blocks of pixels, then normalizes them across the frames. LN is an essential component of PixInsight’s standard preprocessing pipeline, and is included in the WBPP script.
又、PixInsightフォーラムにてスタッフの方が、こんな事を述べています。
LNの具体的な結果内容が見えません(正規化されるから)が、既に元画像を他と評価するために正規化された粗画像情報なのでしょうね。ログを見た感じでは
—-(ログから)
Loading target file: I:/2023-10-23/Target_M 33/registered/Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-R_mono/FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-13-09_M 33_G15_O9_Temp-10.00_R_Ex30.00s_0006_c_r.xisf
Loading image: w=5544 h=3684 n=1 Gray Float32
82 image properties
104 FITS keyword(s) extracted
Generating local background model
Pixel rejection: done
Local background: done
Estimating global scale factors
Fitting 13586 stars:
ch 0 : scale = 0.5700, sigma = 1.6699e-01, 13490 valid PSF fits, 6283 PSF signal estimates
Computing local normalization functions: done
Writing output file: I:/2023-10-23/Target_M 33/registered/Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-R_mono/FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-13-09_M 33_G15_O9_Temp-10.00_R_Ex30.00s_0006_c_r.xnml
又
[cache] – set LMD [ef1f499f987accdffcc5e1f955abb21010764e18] FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-13-09_M 33_G15_O9_Temp-10.00_R_Ex30.00s_0006_c_r.xisf: 2024-04-22T00:58:01.000Z
Cache saved with key LMD_ef1f499f987accdffcc5e1f955abb21010764e18I:/2023-10-23/Target_M 33/registered/Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-R_mono/FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-13-09_M 33_G15_O9_Temp-10.00_R_Ex30.00s_0006_c_r.xisf
Cache saved with key I:/2023-10-23/Target_M 33/registered/Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-R_mono/FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-13-09_M 33_G15_O9_Temp-10.00_R_Ex30.00s_0006_c_r.xisf
[cache] – set LMD [ef1f499f987accdffcc5e1f955abb21010764e18] FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-13-09_M 33_G15_O9_Temp-10.00_R_Ex30.00s_0006_c_r.xnml: 2024-04-22T01:06:25.000Z
Cache saved with key LMD_ef1f499f987accdffcc5e1f955abb21010764e18I:/2023-10-23/Target_M 33/registered/Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-R_mono/FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-13-09_M 33_G15_O9_Temp-10.00_R_Ex30.00s_0006_c_r.xnml
Cache saved with key I:/2023-10-23/Target_M 33/registered/Light_BIN-1_5544x3684_EXPOSURE-30.00s_FILTER-R_mono/FSQ-85EDP+FLT1.01_QHY183M_2023-10-23_21-13-09_M 33_G15_O9_Temp-10.00_R_Ex30.00s_0006_c_r.xnml
—-
しかし、6)項はどの様に使われているのだろうか?
8)Integration
ここが各LightフレームのIntegrationです。ログを見た感じでは特段特殊な感じはしませんが、実際は分かりませんね。ただ、Lightフレームだけでなく、ログから
II.images = [ // enabled, path, drizzlePath, localNormalizationDataPath
とあり、3種のファイルを使いIntegration(統合)しているようです。
path: Lightフレームファイル
drizzlePath:Registrationで出力されるdrizzle情報ファイル
localNormalizationDataPath:7)項での情報ファイル
ここでdrizzle(霧雨??)は、生成AIから
In PixInsight, drizzle is an optional step that can improve the quality of astrophotography images by increasing pixel density. Drizzle, also known as Variable-Pixel Linear Reconstruction, combines dithered and under sampled data. It works by expanding the resolution of the original image and then filling in or interpolating the values in-between. This reduces pixelation and smooths out the edges of the pixels. Drizzle can also increase contrast, improve signal to noise ratio (SNR), and show less noise.
またこのサイト(追記:サイト無くなっています)でも説明されています。Integration時のこの辺りとかの処理がPixInsight処理だと奇麗に見えるのかもしれません。あとこのサイトの説明が分かりやすいと思います。
また、Plate Solveを実施して情報を付加しているようです。
9)Autocrop
この機能のリリースノートから
The Autocrop feature provides a convenient method to crop out the peripherical regions where the SNR is degraded because of the reduced number of stacked frames number. It also handles the adaptation of the astrometric solution for the cropped image. This latter aspect is a fundamental step to leverage the new spectrophotometric tools that we will develop in the future, including the newly released Spectrophotometric Color Calibration (SPCC) tool.
DeepL翻訳:
オートクロップ機能は、スタックフレーム数が減少したためにSNRが低下した周辺領域を切り出す便利な方法を提供します。また、切り出された画像に対する天体測定ソリューションの適応も処理します。この後者の側面は、新しくリリースされた分光測色較正(SPCC)ツールを含む、私たちが将来開発する新しい分光測色ツールを活用するための基本的なステップです。
自動で周辺部分をカットし「天体測定ソリューション」の為の付加情報を修正している。
2.ここまで書いて
WBPPのスクリプトステップと実行時ログを見ながら、自分なりの理解で上記を書いてみました。
この中で未だモヤモヤするのは、局所正規化(Local Normalization)ですね。いまいちピンと来ていません。取りあえずはWBPPステップでの個別の纏めとしては上記の通りですが、自分で分かったつもりとしては、Integrationとしては
1)画像として星像のマッチングというより、PlateSolveを駆使して映っている画像の座標を明確に定義して、座標ベースにてマッチングしているのかと感じています。
2)座標ベースなので露光したピクセルレベルで補間も可能で、drizzleIntegrationと言った高度な処理が行える。
3)感覚(基準の点を指定とか)といった趣より、論理で攻めている感じがします。理詰めで見えないものを見えるようにしているように思います。
4)論理だと収差がある画像ではどうなるのかとも思いますが、対応されているかプラグインの出番なのでしょう。
5)Local Normalizationを理解しないと。。。使われ方も今は私としては良く分かっていません。
3.ここまでの処理での入力画像とWBPP終了時の各LRGBのIntegration画像です。
入力画像:LRGBの1FITSファイル画像です。
実行結果
これが本当にRGB合成でキチンとした画像になるかわ、未だ分かりません。全体的にモヤみたいなノイズ上の状態が何故なのか分かっていません。修正する方法も分からない状況です。(何かあるのでしょうけど)
コメント