← Handbook

Stacking, Integration, Weighting, and Rejection

Combine a declared set of registered exposures so persistent astronomical signal accumulates while normalization, weighting, and pixel-level outlier rejection limit noise and transient defects.

schema 1 · revision 1

Recognize it

Intended output

One still-linear integrated science image with its exact input manifest, frame count, total exposure, output grid, normalization, weighting, rejection, and executed engine recorded.

Required input state

What NOVA does

NOVA currently exposes four meaningful stack paths. Siril is the reference strategy: Siril registration followed by a 3/3 Winsorized-rejection mean, additive-scale normalization, background-noise weighting, and output normalization. ImageMM uses Siril-registered frames for a multi-frame deconvolution stack, currently 20 iterations, kappa 2.0, PerChannel. The historically named pixinsight_wbpp path is actually a hybrid: Siril registration plus PixInsight ImageIntegration with 3/3 Winsorized rejection, additive scaling, and requested SNR weighting. pixinsight_register changes registration, grid, and integration together. Requested behavior can fall back or change, so comparisons must record the executed treatment rather than only the requested engine name.

Use when

  • Two or more compatible, registered exposures contain repeated target signal and partly independent noise.
  • A declared rejection and weighting policy is supportable for the available frame count and data class.
  • Alternative engines are being compared from a frozen manifest with state differences controlled or explicitly labeled.

Skip when

  • There is only one usable exposure; no-op is not a comparable stacking control, so use a declared reference integration strategy instead.
  • Calibration, membership, registration, CFA/channel state, or output geometry is unresolved.
  • The sample count is too small for the proposed rejection rule to estimate outliers reliably.
  • The intended comparison cannot separate integration behavior from changed registration, drizzle, framing, or measurement support.

Limits

  • Frame-level culling and pixel-level rejection are different decisions: subframe inspection decides whether an entire exposure enters the stack; rejection decides whether an individual aligned pixel sample is an outlier during integration.
  • Rejection needs enough comparable samples to estimate a distribution; aggressive thresholds can remove real faint or thin structure as well as transients.
  • The ideal random-noise improvement is approximately proportional to the square root of comparable exposure count, but gradients, seeing, correlated noise, resampling, and unequal frames prevent that from being a guarantee.
  • An engine comparison that changes frame selection, registration grid, drizzle, framing, normalization, or support is a strategy/bundle comparison, not proof that one pixel-combination algorithm is intrinsically better.
  • NOVA's stack SNR is a structure-to-background-noise proxy, not conventional astronomical photometric SNR; efficiency derived from it is not a universal truth score.
  • A readable output proves artifact production, not correctness, preservation, or a class-level engine preference.

Scientific and aesthetic notes

  • Subframe Inspection and Culling is the frame-level decision page; this page begins with its retained manifest and does not duplicate its scoring guidance.
  • Measuring an Astrophoto defines why matched support and a vector of measurements matter; no single sharpness, SNR-proxy, or efficiency value should rank all stack strategies.
  • ImageMM couples integration with restoration, so smaller FWHM or more high-frequency structure can reflect ringing, noise amplification, or sharpened artifacts rather than more truthful detail.
  • Drizzle, max-framing mosaics, and canonical grids change sampling or support; compare FWHM in common angular units and keep coverage performance separate from common-support image quality.
  • A class-level preference requires repeated, version-applicable evidence across independent targets and data conditions, not one attractive result or a historical win fraction.

Evidence and measurements

MeasurementsAcceptance criteria
  • Exact included frame identities, count, total exposure, and spatial coverage.
  • Robust background-noise proxy on common sky support, with sampling and resampling state recorded.
  • FWHM and eccentricity from a stable star population in common angular or grid units.
  • Residual gradients, seams, clipping/pile-up diagnostics, and rejected-sample artifacts.
  • Fine-structure preservation plus ringing, false-detail, and noise-amplification inspection.
  • Runtime, memory, storage, I/O, and failures reported separately from image quality.
  • The artifact is readable, linear, on the declared grid, and accounts for the expected manifest and exposure.
  • Frame-level culling is explicitly distinguished from pixel-level rejection throughout the evidence and explanation.
  • No catastrophic registration, coverage, clipping, rejection-hole, trail, ringing, or preservation failure is accepted.
  • Comparisons use common support and disclose every unavoidable registration, drizzle, framing, normalization, weighting, and rejection difference.
  • SNR-proxy and efficiency values remain qualified; no one-dimensional score or single dataset establishes a universal engine preference.

Cross-tool matrix

Tool EquivalenceExpected resultEvidence
novaExact replayA reproducible linear integration with manifest, executed treatment, and quality/resource evidence retained.nova-stacking-source
pixinsightFunctional alternativeA weighted/rejected linear integration whose registration and parameter differences are explicit.nova-stacking-source
sirilSame engine, adapted hostA conventional robust weighted integration suitable as NOVA's reference strategy.siril-stacking-1.4.4, nova-stacking-source
sasproSame engine, adapted hostA restored multi-frame integration assessed for both detail and preservation artifacts.saspro-imagemm-vendor, nova-stacking-source

NOVA stack dispatch current source snapshot described by P09

  1. Freeze the eligible frame manifest after frame-level culling and registration decisions.
  2. Select a reference or alternative strategy and record requested plus executed engine, versions, framing, drizzle, grid, normalization, weighting, rejection, and fallback behavior.
  3. Inspect common-support measurements, coverage, rejected samples or maps when available, and artifacts before accepting the integrated result.

Controls and starting ranges

Siril reference
Winsorized 3/3; additive-scale normalization; background-noise weighting
ImageMM current runtime
20 iterations; kappa 2.0; PerChannel
hybrid PI integration
Winsorized 3/3; additive scaling; requested SNR weighting; avgdev or hero-mode IKSS scale

Mask behavior: Use one declared common celestial/support region for comparisons; coverage maps and low-coverage edges are assessed separately.

Failure modes

  • Frame-level exclusions are mistaken for pixel rejection.
  • A fallback silently changes the requested strategy.
  • One proxy or sharpened appearance is treated as an overall engine verdict.

Recovery

  • Return to the frozen manifest and a conventional Siril reference integration.
  • Match or explicitly disclose grid, support, drizzle, and framing differences.
  • Inspect rejection artifacts and preservation evidence before adjusting thresholds.

PixInsight ImageIntegration source-recorded 1.9.3 behavior; installed version unverified

  1. Use the same registered frame manifest and output geometry when testing integration alone.
  2. Match normalization, rejection, and weighting goals as closely as the tool permits and record differences.
  3. Inspect rejection maps and common-support output; call a PI-native registration run a strategy comparison, not integration-only evidence.

Controls and starting ranges

NOVA hybrid reference
Winsorized 3/3, additive scaling, SNR weight request

Mask behavior: Measure a common valid region; retain rejection maps separately from the integrated image.

Failure modes

  • Calling NOVA's hybrid path full WBPP.
  • Changing registration or grid while claiming an integration-only comparison.

Recovery

  • Retain Siril registration for the hybrid comparison.
  • Relabel PI-native registration plus integration as a bundle comparison.

Siril sequence stacking 1.4.4 documentation; NOVA source targets 1.4.x

  1. Stack the frozen registered sequence with the declared combination, normalization, weighting, rejection, and framing policy.
  2. Record frame count and generate rejection maps when inspection is needed.
  3. Compare on common support and do not treat the current 3/3 thresholds as universal optima.

Controls and starting ranges

NOVA reference
rej 3 3, implicit Winsorized, addscale, noise weighting, output normalization

Mask behavior: Use common valid support for quality measurements; -maximize union coverage is a separate declared treatment.

Failure modes

  • Too few samples make clipping unstable.
  • Max-framing blank or low-coverage regions dominate whole-image statistics.

Recovery

  • Reduce or disable rejection for a small sample and inspect the result.
  • Use a common-support mask and assess union coverage separately.

Seti Astro Suite Pro ImageMM vendor capability documented; installed version unverified

  1. Use the same registered manifest and record the actual iteration, kappa, and color-mode settings.
  2. Treat ImageMM as integration plus multi-frame restoration rather than another robust mean.
  3. Inspect stars, faint structure, and high-contrast edges for ringing, false detail, and amplified noise.

Controls and starting ranges

NOVA current runtime
20 iterations; kappa 2.0; PerChannel

Mask behavior: Use common support and inspect artifact-prone star edges and faint structures at native scale.

Failure modes

  • Sharpness-oriented metrics reward the method by construction.
  • The ontology's unexecutable 40-iteration candidate is reported as current behavior.

Recovery

  • Compare against the conventional reference on common support.
  • Return to the source-confirmed 20-iteration runtime treatment and record executed parameters.

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.