← Handbook

Background Extraction

Model and remove unwanted large-scale background variation while preserving faint astronomical signal that occupies the same image.

schema 1 · revision 2

Recognize it

Intended output

A still-linear image with a more spatially uniform sky and a saved or inspected background model that contains the unwanted gradient but not the target.

Required input state

What NOVA does

NOVA's ontology exposes seven selectable background-extraction variants; M66's recorded run used GraXpert AI subtraction (smoothing 0.50). The other six are real, code-confirmed alternatives NOVA can select but did not use for M66: GraXpert division (vignetting), PixInsight's native GradientCorrection, and three SASpro ADBE presets (default, cubic, polynomial-only). A 'none' baseline is also selectable. Do not present the M66-selected path as the only one NOVA runs.

Use when

  • Empty-sky measurements show a coherent large-scale spatial trend.
  • The modeled background can be separated from the target without absorbing real extended signal.

Skip when

  • The apparent gradient is actually uncropped stacking overlap, calibration failure, or target structure filling the field.
  • No representative sky region or defensible model can be established.
  • A prior extraction already produced uniform sky and a clean background model.

Limits

  • Background extraction cannot replace correct flat-field calibration; Siril specifically recommends a master flat for vignetting.
  • A flatter background metric does not prove that faint galaxy halo or nebulosity survived.
  • Subtraction is appropriate for additive gradients; division is reserved for genuinely multiplicative effects.
  • Background neutralization is a later channel-balance decision, not another name for spatial gradient removal.
  • Smoothing scales are not comparable across engines: GraXpert's smoothing runs 0.0 (aggressive) to 1.0 (gentle); PixInsight's native DynamicBackgroundExtraction smoothing is a different, larger-range control (NOVA's own DBE call uses 5.0). Copying a GraXpert number into DBE's field is not a translation.

Scientific and aesthetic notes

  • The evidence artifact is the model as well as the corrected image: a plausible-looking result can still be overfit.
  • Large nebulae and galaxy halos are the adversarial case because real signal can resemble a smooth background trend.
  • M66 validates one GraXpert subtraction configuration, not a universal smoothing value or model choice.
  • The project's own history is a warning here: an earlier version of this guidance pointed at PixInsight DynamicBackgroundExtraction/GradientCorrection as the reference path before Jeff's hands-on M66 verification established GraXpert as what NOVA actually runs. DBE and GradientCorrection are real, code-confirmed NOVA alternatives, not fabricated -- they were simply never M66's selected path, and an earlier draft implied they were without checking.

Evidence and measurements

after background extraction before and afterbefore background extraction before and after
beforeafter
background extraction before and after

Cross-tool matrix

Tool EquivalenceExpected resultEvidence
novaExact replayThe large-scale sky trend decreases while target structure is absent from the background model.nova-background-source, nova-m66-run-1.24.7
pixinsightSame engine, adapted hostThe M66-style additive gradient is reduced without the target appearing in the model.m66-manual-verification
pixinsightExact replayA multiplicative vignetting pattern flattens without a smooth subtraction-style residual.nova-background-source
pixinsightFunctional alternativeA modeled background comparable in intent to GraXpert's, produced by PixInsight's own classical algorithm rather than GraXpert's AI model.nova-background-source
pixinsightFunctional alternativeA modeled/corrected background using PixInsight's modern classical gradient-removal process.nova-background-source
sirilSame engine, adapted hostMatches the PixInsight/NOVA GraXpert result closely; same engine, different host.m66-manual-verification
sirilFunctional alternativeRepresentative sky regions converge and the background model contains no target imprint.siril-background-1.4.4
sasproFunctional alternativeThe spatial gradient decreases without subtracting extended target signal. Fastest of the three ADBE presets.saspro-source-1.18.0, saspro-synthetic-2026-08-14
sasproFunctional alternativeA more flexible background model that still excludes target structure; more prone to overfitting than the default preset.saspro-source-1.18.0
sasproFunctional alternativeA gentler, faster correction than the RBF-enabled presets; less able to follow irregular gradients.saspro-source-1.18.0

NOVA Python pipeline 1.24.7

  1. Crop invalid borders before evaluating the gradient.
  2. Select subtraction for an additive gradient and division only with evidence of a multiplicative residual.
  3. Save or inspect the modeled background and compare representative sky statistics before accepting.

Controls and starting ranges

M66 recorded path
graxpert_sub -- GraXpert AI subtraction, smoothing 0.50, model 1.0.1
other selectable variants
graxpert_div, pi_gc (PixInsight GradientCorrection), adbe_default, adbe_cubic, adbe_poly_only, none

Mask behavior: Model protection is engine-specific; acceptance still requires model inspection and target-region comparison.

Failure modes

  • The model reproduces the galaxy halo, nebula, or dense stellar structure.
  • Uncropped borders bias the fit.
  • A division correction is used to hide missing or incorrect flats.
  • Presenting the M66-recorded variant as NOVA's only background-extraction behavior.

Recovery

  • Revert to the unchanged linear input, correct the crop or calibration, and rerun with a simpler or better-protected model.

GraXpert AI (Subtraction) via PixInsight M66 validation environment; exact version not recorded

  1. Use the verified GraXpert route on the cropped linear image.
  2. Choose Subtraction for an additive gradient (light pollution, moonlight) and inspect the generated model before accepting.
  3. Record the installed GraXpert process/model version, smoothing, correction mode, and before/after statistics.

Controls and starting ranges

M66 correction
Subtraction
M66 smoothing
0.50 (GraXpert's own 0.0-1.0 scale)
generic range
none established beyond M66; tune from the image and model

Mask behavior: Use host/process structure protection where available; exact mask behavior was not established by the M66 recording.

Failure modes

  • Treating the M66 smoothing value as universal.
  • Accepting a clean-looking image without inspecting the extracted background.

Recovery

  • Undo, simplify or protect the model, and repeat from the original linear image.

GraXpert AI (Division) via PixInsight not independently confirmed in this repo

  1. Use only when a residual center-to-edge brightness pattern is genuinely multiplicative (vignetting), not an additive light-pollution slope.
  2. Same route as the Subtraction variant, with Division selected instead.
  3. Prefer fixing the flat-field calibration first; Division here is a correction, not a substitute for a missing or wrong master flat.

Controls and starting ranges

correction
Division; smoothing 0.5 is NOVA's code default, not M66-recorded

Mask behavior: Same as the Subtraction variant; not independently characterized.

Failure modes

  • Using Division to mask a missing or incorrect master flat instead of fixing calibration.

Recovery

  • Revert and re-derive/apply a correct master flat before repeating.

Native DynamicBackgroundExtraction (DBE) not independently confirmed in this repo

  1. A real, selectable NOVA alternative to GraXpert, not the M66-recorded path -- run it directly in PixInsight on the linear image if you specifically want this route.
  2. Set the correction mode (Subtraction or Division) to match the gradient type.
  3. Compare against a GraXpert result on the same image before treating DBE as equivalent.

Controls and starting ranges

smoothing
5.0 (NOVA's code default) -- DBE's own scale, not comparable to GraXpert's 0.0-1.0
useRollingPenaltyTerm
enabled
correction
subtraction or division, matching the gradient type

Mask behavior: DBE supports manual sample-point placement in PixInsight's UI; not exercised through NOVA's automated call.

Failure modes

  • Assuming DBE and GraXpert produce the same model because both are called 'background extraction'.

Recovery

  • Undo and fall back to the M66-verified GraXpert route.

Native GradientCorrection not independently confirmed in this repo

  1. A real, selectable NOVA alternative to GraXpert, not the M66-recorded path.
  2. Run PixInsight's GradientCorrection process on the linear image with its own default settings -- NOVA's call exposes no tunable parameters for this process.
  3. Compare against a GraXpert result on the same image before treating GradientCorrection as equivalent.

Controls and starting ranges

parameters
none exposed by NOVA; PixInsight's own process defaults apply

Mask behavior: Not exposed through NOVA's automated call.

Failure modes

  • Assuming this and GraXpert are interchangeable because both target the same symptom.

Recovery

  • Undo and fall back to the M66-verified GraXpert route.

GraXpert AI via Siril's Python integration Siril interface v2.1.0, GraXpert model 1.0.1, verified in Siril 1.4.4

  1. Open Scripts > Python Scripts > Processing > GraXpert AI on the cropped linear image.
  2. Use Subtraction for the demonstrated additive gradient; leave Keep Background off.
  3. Record the GraXpert interface/model version shown, since it is not bundled with stock Siril.

Controls and starting ranges

M66 verified
Background Extraction operation, model 1.0.1, smoothing 0.50, Subtraction, Keep Background off, batch size 4, GPU acceleration enabled when available

Mask behavior: Model-driven, same as the PixInsight GraXpert route; not independently characterized beyond that.

Failure modes

  • Treating this as a stock Siril feature -- it is a separate Python integration.

Recovery

  • Undo and re-run with adjusted smoothing, or fall back to native Background Extraction.

Native Background Extraction (RBF/polynomial) 1.4.4

  1. Open Image Processing > Background Extraction on the linear image.
  2. Set samples per line to about 20 and raise Tolerance so samples land off nebulosity and stars.
  3. Use RBF for busy, irregular gradients; use a low-degree polynomial (degree 4 is a ceiling, not a starting point) only for a simple, smooth trend.
  4. Choose Subtraction for additive gradients; inspect the generated model before accepting.

Controls and starting ranges

RBF smoothing
0.50 vendor starting point; adjust from the model
polynomial degree
low degree for a simple trend; 4 is a documented maximum, not a default
correction
Subtraction for light pollution; Division reserved for genuine vignetting

Mask behavior: Manual sample placement can exclude target regions.

Failure modes

  • Samples land on nebulosity or the galaxy halo.
  • A high polynomial degree overcorrects the image.
  • Division is used for vignetting that should have been corrected by a master flat.

Recovery

  • Restore the original image, revise samples/model complexity, or repair calibration before retrying.

ADBE default (polynomial degree 2 + RBF) 1.18.0 source-inspected; ADBE execution tested on a synthetic linear array

  1. Run ADBE on the cropped linear image with the default preset.
  2. Inspect the background model and compare representative sky regions and target structure.
  3. Record which preset was used because this is a functional alternative, not a replay of GraXpert AI.

Controls and starting ranges

degree
2 (quadratic) -- typical for ordinary SeeStar gradients
num_samples
100 auto-placed background sample points
use_rbf
true -- RBF refinement after the polynomial stage
rbf_smooth
0.1 (0.01 very tight to 1.0 very smooth)

Mask behavior: Tool-specific protection was not independently characterized; rely on model and difference inspection.

Failure modes

  • Assuming ADBE and GraXpert produce equivalent models because both flatten backgrounds.

Recovery

  • Revert to the original linear input and try adbe_poly_only for a gentler pass, or use the verified GraXpert path.

ADBE cubic (polynomial degree 3 + RBF) 1.18.0 source-inspected

  1. Use in place of the default preset only when the gradient is visibly more complex than a simple quadratic trend -- a busier or multi-directional gradient.
  2. Inspect the background model for overfitting; a higher-degree polynomial can start absorbing real structure.
  3. Compare against the default preset's model on the same image before preferring this one.

Controls and starting ranges

degree
3 (cubic) -- more flexible for complex gradients
num_samples
120
use_rbf
true
rbf_smooth
0.15

Mask behavior: Not independently characterized.

Failure modes

  • The higher-degree polynomial fits real extended structure as if it were background.

Recovery

  • Revert to the linear input and use the default or poly-only preset instead.

ADBE polynomial-only (degree 2, no RBF) 1.18.0 source-inspected

  1. Use for a faster, gentler pass when the gradient is simple and RBF refinement risks pulling in faint extended signal.
  2. Inspect the background model the same way as the other presets.

Controls and starting ranges

degree
2
num_samples
100
use_rbf
false -- no RBF refinement stage
rbf_smooth
0.1 (unused with RBF disabled)

Mask behavior: Not independently characterized.

Failure modes

  • Using this preset on a genuinely irregular gradient that needs RBF's local flexibility.

Recovery

  • Revert and switch to the default or cubic preset for a more flexible model.

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.