Deconvolution
Recover spatial detail blurred by seeing and optics on linear data, before stretch makes the blur visually obvious and harder to separate from noise.
schema 1 · revision 1Recognize it
- Star cores and fine target detail look soft rather than sharp at native scale.
- Resolution is limited by the point-spread function, not by tracking error or focus drift.
Intended output
A still-linear image with tighter stars and recovered fine structure, with no new ringing halos and no loss of faint extended signal.
Required input state
- Linear, unstretched data, after background extraction and color calibration.
- A usable point-spread function -- either auto-detected from stars or a supplied estimate.
What NOVA does
NOVA's standard-mode default is bxt_deconvolve: full PixInsight BlurXTerminator with automatic PSF detection, stellar amount 0.5 and nonstellar amount 0.3. When PixInsight/BXT is unavailable or fails, it falls back to SASpro's Cosmic Clarity Sharpen at the same amounts -- a different engine with a different risk profile, not a silent equivalent.
Use when
- Stars and fine detail are measurably softer than the PSF should allow on otherwise well-tracked, well-focused linear data.
Skip when
- Stars are elongated or trailed from tracking/guiding error rather than seeing blur.
- The image is already noisy or oversharpened; deconvolution amplifies both.
- No stable PSF can be estimated.
Limits
- Deconvolution is not a fix for elongated or trailed stars; that is a tracking/guiding problem, not a PSF-blur problem.
- AI deconvolution can ring stars into halos that only become obvious after stretch and star removal -- NOVA's own fallback path documents exactly this failure on NGC 6914.
- A stable, estimable PSF is required; deconvolving an unstable or unknown PSF amplifies noise and artifacts instead of recovering detail.
Scientific and aesthetic notes
- AI deconvolution (BXT, Cosmic Clarity Sharpen) is not classical Richardson-Lucy; both exist in NOVA's codebase but only the AI path is the default -- classical RL (deconvolve_rl) is an explicit experiment-mode comparison, not the recipe path.
- The same amounts (0.5 stellar / 0.3 nonstellar) mean different things on BXT and Cosmic Clarity Sharpen; do not treat identical numbers as proof of identical output.
Evidence and measurements
Cross-tool matrix
| Tool | Equivalence | Expected result | Evidence |
|---|---|---|---|
| nova | Exact replay | Stars tighten and fine detail sharpens without new ringing or halos. | nova-deconvolution-source, nova-m66-run-1.24.7 |
| pixinsight | Exact replay | Sharper stars and detail with no visible ringing at native scale. | nova-deconvolution-source, nova-m66-run-1.24.7 |
| siril | Same engine, adapted host | Matches the PixInsight/NOVA BXT result closely; same engine, different host. | m66-manual-verification |
| saspro | Algorithmically equivalent | Sharper stars and detail; compare galaxy detail, star cores, dark rings, and halos 1:1 before accepting. | saspro-source-1.18.0, m66-manual-verification |
NOVA Python pipeline workflow 1.24.7
- Run on linear data after background extraction and color calibration, before denoise.
- Use automatic PSF detection unless a specific estimate is already validated.
- Inspect stars and faint structure at 1:1 before accepting; a plausible preview is not sufficient evidence against ringing that only appears after later steps.
Controls and starting ranges
- engine default
- bxt_deconvolve (PixInsight BlurXTerminator)
- M66 recorded amounts
- stellar_amount 0.5, nonstellar_amount 0.3
- fallback
- cc_sharpen_inprocess (SASpro Cosmic Clarity Sharpen) when PI/BXT unavailable
Mask behavior: No explicit mask; protection comes from amount and PSF choice, not a painted mask.
Failure modes
- Cosmic Clarity Sharpen looks sharper on the linear preview but rings stars into halos that become catastrophic after stretch and star removal.
- Deconvolving noisy or poorly tracked data amplifies the defect instead of detail.
Recovery
- Revert to the pre-deconvolution linear image and re-run with the primary BXT path or a lower amount.
PixInsight BlurXTerminator Core 1.9.3 Lockhart host; BlurXTerminator version not independently confirmed in this repo
- Run BlurXTerminator directly on the linear image with automatic PSF detection.
- Use NOVA's recorded amounts (stellar 0.5, nonstellar 0.3) as a starting point, not a universal preset.
- Compare star profiles and faint structure before and after at native scale.
Controls and starting ranges
- M66 recorded amounts
- stellar_amount 0.5, nonstellar_amount 0.3
- PSF
- automatic detection (auto_psf)
Mask behavior: Not applicable; BXT operates on the full image without a painted mask.
Failure modes
- Accepting a sharpened linear preview without checking for ringing after stretch and star removal.
Recovery
- Undo and re-run with a lower amount or a manually estimated PSF.
Siril via RC-Astro > BlurXTerminator.py (licensed external integration) RC Astro BlurXTerminator wrapper UI 1.0.5, model Latest v4, verified in Siril 1.4.4
- Open Scripts > Python Scripts > RC-Astro > BlurXTerminator.py on the linear image.
- Enable Automatic PSF; leave Correct Only off so deblurring/sharpening is applied.
- Record the wrapper and model version shown, since they are not bundled with stock Siril.
Controls and starting ranges
- M66 verified settings
- Automatic PSF on; Sharpen Stars 0.50; Adjust Star Halos 0.00; Sharpen Nonstellar 0.30; Correct Only off; Tile Overlap 0.20
Mask behavior: Not demonstrated; treat as full-image like the PixInsight host.
Failure modes
- Treating this as a stock Siril feature -- it requires a separately licensed RC Astro integration.
- Siril has no native AI deconvolution; classical Richardson-Lucy PSF-from-stars is the only no-extra-cost native path and is not equivalent.
Recovery
- Revert to the pre-deconvolution image and re-run with adjusted amounts or the native RL path.
Seti Astro Suite Pro Cosmic Clarity Sharpen 1.18.0 source-inspected; Cosmic Clarity Sharpen demonstrated at version 1.19.11
- Run Cosmic Clarity Sharpen in Both mode (stellar and non-stellar) on the linear image.
- This is the same engine NOVA's bxt_deconvolve falls back to -- treat its ringing risk as real, not hypothetical, and inspect star profiles closely.
- Do not present the demonstrated amounts as a recovered NOVA value; they are a tested starting point.
Controls and starting ranges
- M66 demonstrated
- automatic PSF detection; mode Both; stellar amount 0.50; non-stellar amount 0.50; non-stellar PSF 3.0
- NOVA fallback amounts
- stellar_amount 0.5, nonstellar_amount 0.3 (not the same non-stellar value as the demonstrated run)
Mask behavior: Not demonstrated; full-image operation.
Failure modes
- The same halo/ringing failure NOVA's own code documents for this engine, appearing after stretch and star removal.
- Treating the RC Astro CLI integration explored in the same session as evidence for the SASpro-native Cosmic Clarity result -- it is a separate paid engine path.
Recovery
- Revert to the linear input, reduce the amount, or use the primary BXT path instead.
Validation status
Not yet Jeff-validated. Use this as sourced guidance, not a certification.
Sources
- M66 manual recipe verification feedback
M66_Manual_Recipe_Verification_Feedback.md— Jeff validated - NOVA BlurXTerminator deconvolution implementation, fallback, and ontology
nas_server/seti_astro.py:2667; nas_server/processing_ontology.json:791— NOVA source-confirmed - M66 workflow 1.24.7 execution record
critiques/20260802_045251_seestar_galaxy.json— NOVA execution record - Installed Seti Astro Suite Pro 1.18.0 processing source
saspro/pedestal.py; saspro/numba_utils.py; saspro/stacking_suite.py; saspro/abe.py; saspro/sssc.py— Artifact-confirmed
Related evidence
The M66 recipe and Jeff-validation ledger will link here when their static exports are available. Until then, this article remains explicitly unvalidated.

