← Handbook

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 1

Recognize it

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

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

after deconvolution before and afterbefore deconvolution before and after
beforeafter
deconvolution before and after

Cross-tool matrix

Tool EquivalenceExpected resultEvidence
novaExact replayStars tighten and fine detail sharpens without new ringing or halos.nova-deconvolution-source, nova-m66-run-1.24.7
pixinsightExact replaySharper stars and detail with no visible ringing at native scale.nova-deconvolution-source, nova-m66-run-1.24.7
sirilSame engine, adapted hostMatches the PixInsight/NOVA BXT result closely; same engine, different host.m66-manual-verification
sasproAlgorithmically equivalentSharper 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

  1. Run on linear data after background extraction and color calibration, before denoise.
  2. Use automatic PSF detection unless a specific estimate is already validated.
  3. 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

  1. Run BlurXTerminator directly on the linear image with automatic PSF detection.
  2. Use NOVA's recorded amounts (stellar 0.5, nonstellar 0.3) as a starting point, not a universal preset.
  3. 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

  1. Open Scripts > Python Scripts > RC-Astro > BlurXTerminator.py on the linear image.
  2. Enable Automatic PSF; leave Correct Only off so deblurring/sharpening is applied.
  3. 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

  1. Run Cosmic Clarity Sharpen in Both mode (stellar and non-stellar) on the linear image.
  2. 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.
  3. 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

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.