Color Calibration
Derive reproducible channel scaling from catalog spectra, the imaging system response, and an explicit white reference instead of balancing color by eye.
schema 1 · revision 1Recognize it
- The linear image retains the camera/filter response rather than an intentional color reference.
- Star colors or background channel ratios show a broad systematic cast after gradient removal.
Intended output
A linear, astrometrically valid image with recorded calibration inputs, catalog matches, fit evidence, and channel coefficients that downstream linked operations preserve.
Required input state
- Linear, unstretched color data after accepted background extraction.
- A correct plate solution whose field center, scale, and orientation match the image.
- Known OSC/mono state, sensor response, filter or passband information, and chosen white reference.
What NOVA does
NOVA uses PixInsight SPCC as the broadband default when its prerequisites are valid, but treats light-pollution/dual-band data separately: SSSC is the intended physical route where configured, while failed SPCC can fall back to generic color calibration. The step is therefore conditional, not universally forced.
Use when
- The linear image has trustworthy astrometry and documented sensor/filter response.
- The chosen calibration mode matches broadband or narrowband acquisition.
Skip when
- The image is stretched, monochrome without an intended color composition, or lacks valid astrometry.
- Required sensor/filter/passband information is unknown.
- An aesthetic false-color palette is the goal and physical line intensity is not the intended balance.
Limits
- A process-complete message does not prove that the WCS, sensor, filter, white reference, or fit was valid.
- Broadband SPCC and narrowband/dual-band calibration are not interchangeable prescriptions.
- Physically calibrated narrowband intensities do not automatically produce an aesthetic SHO/Hubble palette.
- Background neutralization is not a substitute for a valid spectrophotometric solve.
Scientific and aesthetic notes
- Siril SPCC compares measured image flux ratios with Gaia DR3 spectra folded through the selected sensor and filters.
- White reference is an explicit rendering choice inside a physically grounded calibration; Average Spiral Galaxy is Siril's broad default, not a universal truth.
- A linked downstream stretch preserves established channel relationships; unlinked stretching can overwrite them.
Evidence and measurements
Cross-tool matrix
| Tool | Equivalence | Expected result | Evidence |
|---|---|---|---|
| nova | Exact replay | The selected route completes with valid fit evidence and produces channel balance appropriate to the acquisition mode. | nova-color-source, nova-m66-run-1.24.7 |
| pixinsight | Same engine, adapted host | The fit is defensible and star colors show a plausible range without a global cast. | m66-manual-verification |
| siril | Algorithmically equivalent | Robust catalog-to-image fits support the applied coefficients and downstream linked operations preserve them. | siril-spcc-1.4.4, m66-manual-verification |
| saspro | Functional alternative | A documented system-response solution calibrates the linear image without being mislabeled as SPCC. | saspro-source-1.18.0, nova-color-source |
NOVA Python pipeline 1.24.7
- Verify or repair WCS and record acquisition/filter state before selecting the calibration route.
- Use broadband SPCC only for a compatible broadband path; use configured SSSC handling for LP/dual-band data.
- Record route, catalog/reference, matched-star or fit evidence, coefficients, and any retry or fallback.
Controls and starting ranges
- broadband route
- PixInsight SPCC with SeeStar S50 sensor/filter profile
- LP/dual-band route
- SSSC when configured and adequately matched; otherwise explicit fallback
- SPCC attempts
- 2 in current implementation before generic ColorCalibration fallback
Mask behavior: Calibration is global; background/white reference selection and catalog-star rejection are engine-specific safeguards.
Failure modes
- Stale or malformed WCS allows a misleading run or forces fallback.
- Broadband SPCC is applied to LP/dual-band data with an inappropriate response model.
- A fallback result is labeled as successful SPCC.
Recovery
- Restore the linear input, repair astrometry/configuration, and rerun while preserving the failed-route record.
PixInsight SPCC M66 validation environment; exact version not recorded
- Confirm the image is linear and its astrometric solution is correct.
- Select the SeeStar S50 sensor, actual filter/LP mode, and intended white reference.
- Apply SPCC, then record catalog, matched-star/fit evidence, coefficients, and whether any fallback occurred.
Controls and starting ranges
- white reference
- Average Spiral Galaxy for the verified M66 broadband run
- filter mode
- match acquisition; do not infer broadband from image appearance
- M66 LP mode
- disabled
Mask behavior: Global calibration; use the process's source-detection and fit-rejection controls rather than a decorative image mask.
Failure modes
- Wrong WCS or response profile produces invalid matching or misleading balance.
- Fallback is not disclosed.
Recovery
- Undo, correct WCS/sensor/filter/reference inputs, and repeat from the linear post-background image.
Siril SPCC 1.4.4
- Run only on linear data and plate-solve with correct center, scale, and orientation first.
- Select OSC mode, the closest valid SeeStar sensor/filter response, broadband or narrowband mode, and an explicit white reference.
- Inspect and record the R/G and B/G fit plots, matched-star count, and resulting coefficients.
Controls and starting ranges
- catalog
- Gaia DR3; local catalog supported in Siril 1.4+
- M66 white reference
- Average Spiral Galaxy
- M66 result
- 33 stars; R 0.837, G 0.759, B 1.000
Mask behavior: SPCC uses detected/catalog-matched stars and robust fitting; it is not ordinarily applied through an image mask.
Failure modes
- The remote Gaia service is unavailable and no local catalog is configured.
- Existing but inaccurate WCS is trusted without checking image scale and field.
- SHO data are expected to become an aesthetic Hubble palette through physical SPCC alone.
Recovery
- Use the local Gaia catalog or repair astrometry/configuration; for aesthetic SHO balance, use a documented manual palette workflow.
Seti Astro Suite Pro SSSC 1.18.0 source-inspected
- Use SSSC on a linear, plate-solved color image when the field supplies enough spectrum-bearing calibration stars.
- Provide valid astrometry and record Gaia-XP matches, solved response, coefficients, and fallback behavior.
- Label SSSC as a related physical calibration approach, not the identically implemented SPCC process.
Controls and starting ranges
- catalog
- Gaia-XP spectra
- NOVA integration minimum
- 20 enriched spectrum-bearing stars; otherwise explicit fallback
- SASpro solution stages
- scalar below 50 stars; color model at 50+; full response at 200+ with adequate color span
Mask behavior: Global calibration based on matched stellar spectra; no ordinary image-mask claim is established.
Failure modes
- Too few matched spectra produce fallback or an unstable solution.
- SSSC and SPCC are described as exact equivalents.
Recovery
- Repair astrometry, use a star-richer field where appropriate, or fall back explicitly to a validated SPCC route.
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 SPCC/SSSC selection, fallback logic, and ontology
nas_server/seti_astro.py:4150; nas_server/processing_ontology.json:492— NOVA source-confirmed - M66 workflow 1.24.7 execution record
critiques/20260802_045251_seestar_galaxy.json— NOVA execution record - Siril 1.4.4 spectrophotometric color calibration documentation — Vendor-documented
- 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.

