これは、Siril を用いた天体画像処理の一例です。
以下に、Siril 1.5や VeraLux 向けに、Siril Python Script コードを追い、その仕組みをメモしています。
記載と編集を随時行っています。画像処理の仕方以外の記事が多いと感じるでしょう。
NGC2685

NASAが公開する画像の様に、極リング内部を強調した処理を行いました。
Name: NGC 2685
Date: 2026-03-20T19-36, 2026-03-21T20-56
SQM: 21.64 mag/arcsec2 (Yamanashi)
Optics: Takahashi TS-160, HEUIB-II
Camera: ASI533MC Pro, gain 100, offset 20, -20deg
Exposure: 180s x 118 (total 5h54m)
NGC2685画像処理
勾配補正、色校正、 SyQon Starless 恒星分離, MTF Stretchを用いて分離:銀河星雲分離, IHSを用いて分離
Deconvolution:GraXpert
ノイズ除去:SyQon Prism
恒星と銀河星雲を再合成:VeraLux Star Composer
SyQon を多様すると今までの作風と、ちょっと色合いが変わっていく感じがしてます。
Arp 273

Name: Arp 273
Date: 2026-01-11T22-45, 2026-01-12T19-30, 2026-01-16T19-04, 2026-01-17T19-03
SQM: 21.64 mag/arcsec2 (Yamanashi)
Optics: Takahashi TS-160, HEUIB-II
Camera: ASI533MC Pro, gain 100, offset 20, -15deg
Exposure: 180s x 196 (total 9h48m)
Arp273画像処理
勾配補正、色校正、分離:StarNet CLI tools
ノイズ除去:SyQon Prism
Deconvolution:GraXpert
恒星と銀河星雲を再合成:VeraLux Star Composer
Pythonスクリプト機能が導入されてからは、Sirilから行えることが広がっています。
Siril 画像処理の流れの例
- 勾配補正、色校正など
- Astrometry: 天体位置
- Crop: トリミング
- Auto Gradient Removal 、 VeraLux Nox (Background Extraction)、(又は GraXpert BE): 勾配補正
- SPCC (Gaia Spectrum): 恒星スペクトルデータを用いた色校正
- Cosmetic Correction (CFAあり): 必要に応じて
- 別名でファイル保存
- 恒星処理
- Desaturate Stars: 必要に応じて
- Aberrations Remover: 必要に応じて
- Deconvolution: Cosmic Clarity Sharpening, Stellar Only (Stellar Amount: 0.16 、0.32など)
- 恒星除去:恒星部分を分離
- StarNet CLI tools
- SyQon Starless
- Stretch Options
Method: MTF Stretch (MTF = Midtone Transfer Function)
Median Target:
例)MTF Stretch
Linked stretch (preserve star colors) → ON
Median Target → 0.050 ~ 0.2
経験則から、以下の記述をしています。
Median = 0.050, 0.075
弱いストレッチ:淡い構造のコントラストが強調された。恒星状になってしまう。
Median = 0.15 以上
強いストレッチ:ガス塊や星雲の細かく淡い構造は保護された。 - Statistical Stretch:統計的ストレッチ
- Stretch Options
- 銀河星雲処理
- Deconvolution: 対象銀河星雲付近の恒星からDynamic PSF、FITSデータからCDELT1,2を、この2つの値から、PSF値を求める。
- GraXpert (Strength=0.80など)
- Cosmic Clarity Sharpening, Object
- ノイズ除去(VeraLux Silentium、若しくは、DeepSNR denoising)
- VeraLux Silentium:線形処理に設計された、AI非依存のノイズ除去
- SyQon Prism (Strength=0.32, Taget Softなど)
- DeepSNR denoising :
- 恒星除去:銀河星雲部分を分離
- StarNet CLI tools
- SyQon Starless
- IHS
- ストレッチ:
- GHS (Stretch factor, Local stretch intensityを高める場合もある)
- VeraLux Hyper Metric Stretch (HMS)
- Wavelets Transformation
- ノイズ除去:2度目のノイズ除去(VeraLux SilentiumはGHS後なので条件に合わない)
- SyQon Prism (Strength=0.32, Taget Softなど)
- GraXpert Denoising (Strength=0.16, 0.32 など)
- 色相補正(Siril: Color saturation, threshold 1.00は未使用)
- VeraLux Curves:Akima補間法を用いて、RGB、Lab、LCH、HSVのコントラストを輝度構造と色の強度を個別に調整
- VeraLux Vectra:LCH(明度、彩度、色相)色空間での補正
- ストレッチ
- GHS : BP Shift (Black Point Shift)
- Deconvolution: 対象銀河星雲付近の恒星からDynamic PSF、FITSデータからCDELT1,2を、この2つの値から、PSF値を求める。
- 恒星、銀河星雲再合成
- VeraLux Star Composer(以前は、Star recomposition)
- 色相補間
- LCh色空間: VeraLux Vectra
勾配補正
Auto Gradient Removal
背景除去は、その役割上、常に大スケールのコントラストを除去します。そのため、暗い領域が平坦化されていると感じる場合は、通常、モデルが柔らかすぎて実際の信号を削り取っていることを意味します。
その場合は、「Scale」を高くするか、「structure protection」をオンにしたままにするか、あるいは低度の「simplified model」に切り替えてください。
経験則として、実際に目に見える勾配をまだ除去できる範囲で、最も硬いモデルを使用することをお勧めします。
https://www.facebook.com/groups/841870683930320/posts/1490938619023520/
作者であるCyril Richardさんのコメントです。
Auto Gradient Removal は、数値を変更後は、繰り返して、[Apply]を押して行います。
画像を初めに戻す必要はありません。
Cyril Richardさんのコメントにある『最も硬いモデル』は、Model degreeの数値を上げる事かな。
- Scale: マルチスケールモデルの平滑化半径、ピクセル数。初めは、”5″です。
- 数値が大きほど、広範囲の大きな勾配のみ除去される。
- 数値が小さいと、小さく局所な変化を追える。
- 光害のにじみや局所なグラデーションがあるならば、数値を上げる。
- Smoothness: 追加のぼかし処理。
- 数値が大きいと滑らかで穏やかになる。
- 補正後の背景に斑点状のアーティファクトが見られるならば、数値を下げます。
- Simplefied model: 背景が無い画像、例えば画像いっぱいの銀河などに有効です。
- Model degree: 初めは2です。
- Structure protection: 星雲や銀河など広範囲の明るい部分を検出し、それらを勾配補正から外す。
- Protection threshold: 初めは、”0.05″です。
数値が低いほど感度が高くなり保護効果が高くなる。
数値が高いと明るい天体のみ保護される。暗い星雲は背景とされ、差し引かれるかもしれない。 - Protection amount: 初めは、”0.50″です。保護マスクの広がり。数値が大きと広範囲。
補正後に明るい恒星や星雲周辺にかすかなリング状やハロー状のアーティファクトが見られるならば、
- Protection threshold: 初めは、”0.05″です。
- Downsample: 初めは、”4″です。
- プレビューを手早く見たいときや、フルサイズの画像処理を早く行うなどの場合は”8″にします。
- Mode : 減算を行うか、加算を行うか。減算は光害、月の明かり、霧などの補正に通常は使います。
収差補正
Aberrations Remover
このモデルは、バックグラウンド除去、及び、色補正後の線形画像を対象としています。
最良の結果を得るためには、デコンボリューションやノイズ低減処理を行う前に適用して下さい。
通常、これらのパラメータを調整する必要はありません。
strength: 収差補正の強度を調整します。
Dark ringing reduction: 強力な補正の副作用として明るい星の周囲に現れる可能性のあるダークリンギングアーティファクトを抑制するために、追加のフィルターを適用します。このオプションは、そのようなアーティファクトが確認できる場合にのみ有効にして下さい。
Protect Background: ARの適用を背景以外のピクセルに限定し、信号レベルの低い領域での過剰な処理を防ぎます。
https://github.com/riccardoalberghi/abberation_models/releases/tag/2.0.1
作者は、 Riccardo Alberghiさん。 彼は、『天文学に情熱を注いでいます。深宇宙天体の撮像を専門としており、GraXpertやSirilの収差除去ツールなど、AIに基づくオープンソースの画像処理ツールの開発にも貢献しています。』
Strenght: 強度。1のままで良いらいしです。
Dark riging reduction: 恒星の周りに、黒い輪が見られる場合に使用します。
Protect background: ピクセルをマスクで覆い隠し、保護された領域には補正を施しません。
Deconvolution
GraXpert, Deconvolution (Objects), PSF Sizeの数値は?
Siril, Dynamic PSF
https://siril.readthedocs.io/en/latest/Dynamic-PSF.html
FWHM𝑥および FWHM𝑦:
σx は、x方向の星像のGaussian(ガウス分布)の標準偏差
σy はy方向
恒星独自のFWHM
https://siril.readthedocs.io/en/latest/photometry/quickphotometry.html

https://siril.readthedocs.io/ja/latest/_images/3D-StarPSF.png
Siril Dynamic PSFの値を見てみます。例えば、
Siril Average Moffat PSF
N: 3 stars (0 saturated and excluded)
B: 0.000749
A: 0.003588
Beta: 3.38
FWHMx: 4.27″
FWHMy: 4.11″
r: 0.963
Angle: 80.89 deg
rmse: 3.413e-05
Moffat PSF
測定星数 => 3
Beta = > 3.38
FWHMx => 4.27秒角
FWHMy = > 4.11秒角
Roundness:丸み => 0.963
Angle = > 80.89°
4.27″ や 4.11″ は pixel ではなく arcsecです。角度の単位としての秒は、分の1/60の角度です。
Graxpertは、PSF Sizeの単位は、ピクセルです。なので、単純にFWHMx:とFWHMy:の平均値を入れても単位が違うので意味を成しません。
画像の1 pixelが、空の上で何秒角(arcsec)に相当するかを求める必要があります。
FITSデータの、”CDELT1″, “CDELT2″に注目します。
CDELT1: X軸(横方向、一般的には赤経 :RA 側)の1ピクセルあたりの変化量
CDELT2: Y軸(縦方向、一般的には赤緯 :Dec 側)の1ピクセルあたりの変化量
単位は 度(degree) が使われます。
例えば、
CDELT1 = -0.000216049837916824
CDELT2 = 0.000216165447682517
CDELT1: X方向:|−0.0002160498379|*3600 = 0.7777794"/pixel
CDELT2: Y方向: 0.0002161654477 *3600 = 0.7781956"/pixel
X方向 => 0.7778"/pixel
Y方向 => 0.7782"/pixel
1 pixel は、約 0.778 arcsec です。
X方向:FWHMx=4.27" → 4.27"/0.7778"/pixel = 5.49 pixel → FWHMx 約 5.49 pixel
Y方向:FWHMy=4.11" → 4.11"/0.7782"/pixel = 5.28 pixel → FWHMy 約 5.28 pixel
ここでのPSFは、r: 0.963で円形に近いので、単純に平均します。
FWHM平均 → (5.49 pixel + 5.28 pixel)/2 = 5.385 pixel
GraXpert, Deconvolution (Objects), PSF Size に入れる値は、[5.4] になります。
今まで単純にSiril Dynamic PSF, Moffat PSF の値を入れていましたが、FWHMとPSFの関係が分かったようです。Moffat PSF値である 4.2、や、PSF平均値である 5.4を入れて Deconvolutionを行っても大きな差が見られない感じがしています。
さらに深掘りするならば、
$ find /usr/local/share/GraXpert-linux -iname ‘deconv’ -o -iname ‘onnx’
/usr/local/share/GraXpert-linux/lib/graxpert/deconvolution.pyc
このファイルを逆コンパイルして ↓
decompyle3 を用いて逆コンパイル(は、行っていません)
decompyle3を使う仮想環境を作ります。
python3.12 -m venv /tmp/decompyle-env
source /tmp/decompyle-env/bin/activate
pip install decompyle3
decompyle3 \
/usr/local/share/GraXpert-linux/lib/graxpert/deconvolution.pyc \
> /tmp/deconvolution.py
# Unsupported bytecode in file /usr/local/share/GraXpert-linux/lib/graxpert/deconvolution.pyc
# Unsupported Python version, 3.11, for decompilation
file /usr/local/share/GraXpert-linux/lib/graxpert/deconvolution.pyc
/usr/local/share/GraXpert-linux/lib/graxpert/deconvolution.pyc: Byte-compiled Python module for CPython 3.11
python 3.11が必要か…
恒星除去
StarNet CLI tools
SyQon Starless
Stretch Options, Method: MTF Stretch
M82の画像を、SyQon Starless, Zenith Model を用いて分離した。その際にMTF Stretchを使った結果が下画像です。

MTF = 0.2
ガス塊や星雲の細かく淡い構造は保護された。

MTF = 0.05
淡い構造のコントラストが強調された。恒星状になってしまう。


コメント