Star Correction
Correct star shape -- roundness and elongation, including the FWHM inflation denoise introduces -- without sharpening or deblurring the background or nebulosity.
schema 1 · revision 2Recognize it
- Stars are slightly elongated or irregular after denoise, especially on dense fields (globular clusters, open clusters).
- Star FWHM measurably increased relative to the pre-denoise image.
Intended output
Rounder, tighter stars, with background and nebulosity that receive no intentional sharpening -- though RC-Astro documents that PSF correction itself can still visibly affect nonstellar structure near well-supported stars, so 'unchanged background' is checked per image, not assumed by construction.
Required input state
- Linear, unstretched data, after denoise -- this step exists specifically to correct what denoise did to star shapes.
What NOVA does
NOVA runs bxt_star_correct: RC-Astro's BlurXTerminator, correct-only mode, dispatched via the RC-Astro CLI/RunPod GPU path (rcastro_gpu.run_rcastro) -- not PixInsight -- with sharpen_stars, sharpen_nonstellar, and adjust_halos all forced to zero and automatic PSF detection, most consequential on dense star fields where denoise inflates FWHM. Unlike bxt_deconvolve and denoise_nxt, this function does not call the shared _detect_and_fix_flip orientation check. cc_stellar (Cosmic Clarity stellar-only sharpening) is a separate ontology experiment variant, forced by the public_free_core workflow's own default for its free-tool-only path -- a deliberate per-workflow choice, not a runtime fallback triggered when BXT or PixInsight is unavailable; the ontology's own 'Fallback if PI unavailable' description does not describe current dispatch behavior. The M66 execution record cited below has no isolated step_verdicts entry for star_sharpen, so it is evidence for that run overall, not standalone validation evidence for this step.
Use when
- Denoise measurably inflated star FWHM or introduced visible elongation on a dense star field.
Skip when
- Stars are already round and FWHM-stable after denoise; there is nothing to correct.
- Elongation is severe trailing from an acquisition-time tracking/guiding failure rather than the mild FWHM inflation denoise introduces -- Correct Only is not a substitute for fixing tracking/guiding at the acquisition stage, even though RC-Astro documents guiding error as one of the aberration classes the tool is trained on.
Limits
- This is pure geometric correction, not sharpening or denoising -- 'Star Sharpen' is a misleading name for a step whose sharpening amounts are deliberately zero.
- This step happens before the star/starless split (remove_stars_linear); it is not the same operation and does not create or use a separate star layer.
- RC-Astro documents BlurXTerminator as trained on common acquisition-time aberrations including guiding error, correctable in limited amounts per the vendor's own technical manual, and recommends Correct Only as a first pass on images affected by coma or guiding error before a second, manual-PSF pass -- so a categorical 'cannot fix guiding-error elongation' claim overstates the tool's documented limits. NOVA has not independently measured this step's effectiveness on guiding-error elongation specifically, and Correct Only is not a substitute for fixing tracking/guiding at the acquisition stage.
- RC-Astro documents that correction is applied to nonstellar features as well as stars wherever stellar support exists nearby -- Correct Only disables NOVA's sharpening amounts (bxt_stars/bxt_nonstellar forced to 0.0), but does not confine PSF correction to star pixels alone, and in some cases the correction itself can visibly resemble sharpening.
Scientific and aesthetic notes
- Jeff's own manual verification renamed this step from 'Star Sharpen' to 'Star Correction -- BlurXTerminator Correct Only' precisely because the old name implied sharpening that does not happen here; the taxonomy's family name reflects that correction.
- Do not equate BlurXTerminator Correct Only with Cosmic Clarity stellar-only sharpening -- both improve star shape but are different engines and need their own before/after check.
- A BXT-Correct-Only-vs-Cosmic-Clarity-stellar comparison is a strategy comparison -- two different engines with different internals -- not a clean causal test of one shared algorithm factor; a stronger experiment adds a true no-op (uncorrected) baseline alongside both engines, not just the two engines against each other.
- Star population counts must be matched between before/after measurements: the same detection threshold, crop, and plate scale. A drop in detected star count can come from a stricter threshold rather than from worse star shape, and the two must not be conflated.
- RC-Astro's guiding-error and nonstellar-correction capability is vendor-documented and NOVA's dispatch path is source-confirmed; neither establishes that one correction strategy is universally superior across all dense star fields -- that requires its own controlled comparison.
Evidence and measurements
| Measurements | Acceptance criteria |
|---|---|
|
|
Cross-tool matrix
| Tool | Equivalence | Expected result | Evidence |
|---|---|---|---|
| nova | Exact replay | Lower eccentricity, stable-or-improved FWHM, comparable star support; background and nebulosity receive no intentional sharpening, though visible PSF-correction effects on nonstellar structure near well-supported stars are possible and should be checked, not assumed absent. | nova-star-correction-source, nova-m66-run-1.24.7 |
| pixinsight | Exact replay | Lower eccentricity without material FWHM growth, halos, ringing, lost detail, or noise regression. | m66-manual-verification |
| siril | Same engine, adapted host | Matches the PixInsight/NOVA result closely; same engine, different host. | m66-manual-verification |
| saspro | Functional alternative | Improved star roundness with the background and nebulosity unaffected. | saspro-source-1.18.0, m66-manual-verification |
NOVA Python pipeline workflow 1.24.7
- Run immediately after denoise, on the active linear image -- the star/starless split has not happened yet at this point in the pipeline.
- Use automatic PSF detection; leave all sharpen/halo amounts at zero.
- Compare matched luminance extractions (identical FWHM/eccentricity settings) before and after.
- Dispatch is via RC-Astro CLI/RunPod GPU (rcastro_gpu.run_rcastro), not PixInsight -- there is no PixInsight step in this function's own execution path.
Controls and starting ranges
- mode
- Correct Only (--correct-only)
- PSF
- automatic detection
- sharpen_stars / sharpen_nonstellar / adjust_halos
- 0.0 / 0.0 / 0.0 -- forced, not tunable
- dispatch
- RunPod GPU endpoint first, local RC-Astro CLI (CPU) second -- no further fallback engine
Mask behavior: Not applicable; BXT Correct Only operates on the full image.
Failure modes
- Confusing this step's output with a separate star layer -- none exists yet at this point.
- Treating cc_stellar (the public_free_core workflow's forced alternative) as an interchangeable substitute rather than a different engine needing its own comparison.
Recovery
- Revert to the pre-correction linear image and re-check the denoise step that preceded it.
PixInsight BlurXTerminator, Correct Only Core 1.9.3 Lockhart host; BlurXTerminator version not independently confirmed in this repo
- Run BlurXTerminator on the active linear image with Correct Only enabled and Sharpen Stars, Adjust Star Halos, and Sharpen Nonstellar all at 0.
- Extract identical before/after luminance copies with the same FWHMEccentricity sensitivity, upper limit, and PSF model.
- Use noise evaluation as a non-regression check only; Correct Only is not a denoiser.
Controls and starting ranges
- M66 verified
- Correct Only on; Sharpen Stars 0; Adjust Star Halos 0; Sharpen Nonstellar 0; automatic PSF
Mask behavior: Not applicable; full-image operation.
Failure modes
- Measuring before/after populations with differing star-support counts and treating the delta as precise.
- Retaining an older window/file name after later operations and mistaking it for a different input stage.
Recovery
- Undo and re-run with matched extraction settings for a valid comparison.
Siril via RC-Astro > BlurXTerminator.py, Correct Only (licensed external integration) RC Astro BlurXTerminator wrapper model v4, verified in Siril 1.4.4
- Open Scripts > Python Scripts > RC-Astro > BlurXTerminator.py with Correct Only enabled.
- Leave Sharpen Stars, Adjust Star Halos, and Sharpen Nonstellar all at 0.
- Automatic PSF is disabled/irrelevant in this mode; do not try to tune it.
Controls and starting ranges
- M66 verified
- Correct Only on; Sharpen Stars 0.00; Adjust Star Halos 0.00; Sharpen Nonstellar 0.00; Tile Overlap 0.20
Mask behavior: Not demonstrated; full-image operation.
Failure modes
- Siril has no native equivalent -- attempting a native star-shape-only correction without this integration.
Recovery
- Revert to the pre-correction linear image.
Seti Astro Suite Pro Cosmic Clarity Sharpen, stellar-only 1.18.0 source-inspected; procedure discussed but not independently tested at this exact stage
- Apply Cosmic Clarity Sharpen in Stellar Only mode to the active linear image -- not 'the star layer', which does not exist yet at this point in the pipeline.
- Keep non-stellar sharpening disabled so this stays a star-shape-only pass.
- Do not treat this as the same operation as BlurXTerminator Correct Only; compare before/after star profiles independently, since they are different engines.
Controls and starting ranges
- mode
- Stellar Only; non-stellar sharpening disabled
Mask behavior: Not demonstrated; full-image operation.
Failure modes
- Assuming stellar-only Cosmic Clarity Sharpen and BXT Correct Only are interchangeable without their own comparison.
Recovery
- Revert to the pre-correction linear image, or defer star-shape correction to PixInsight BXT Correct Only.
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 correct-only star-shape implementation (dispatched via RC-Astro CLI/RunPod GPU, not PixInsight) and ontology
nas_server/seti_astro.py:2783; nas_server/processing_ontology.json:961— 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 - RC-Astro BlurXTerminator Technical Manual — Vendor-documented
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.