Where it is on the sky, and its true colour
- Plate solving
WCSbuilt in A world coordinate system (WCS) maps every pixel to a right ascension and declination. To find it, OriginStack projects catalogue stars from Gaia onto a flat plane around a guess at the field centre (from the Origin's own session file or the FITS header), at the expected pixel scale, and matches the pattern to the brightest stars in the image with the same rotation-free distance matching used for registration. A match is refined to a full affine fit. Catalogue tiles are cached on your computer, so a field solved once solves offline afterwards.
The Origin's own solve describes the session's first frame, not the stack. Carrying it through the registration and refining it took the median error on a real stack from 63 pixels to 0.24.
- Colour calibration against Gaia
on by default The Gaia space telescope measured the colour of over a billion stars, as a difference between its blue and red magnitudes (BP−RP). OriginStack measures the instrumental colour of the isolated, unsaturated stars in the linear stack, fits it against their Gaia colours with a robust (Theil-Sen) line, and scales the channels so a star with the Sun's colour (BP−RP = 0.82) comes out white. Scaling channels keeps the stack linear. In a dense or reddened field where the stars span too narrow a range, it queries fainter stars, and if the fit is too scattered it declines rather than guess.
- Photometry
--photometry Star brightness is measured in a circular aperture with partial pixels counted by area, the sky level from a surrounding ring with outliers rejected, and converted to magnitudes with a zero point fitted against Gaia, corrected for the thickness of atmosphere at that altitude. The noise model uses the camera's gain measured from your own frames; the gain the Origin writes in its headers is about five times too high.
Finishing the image
The linear stack is accurate but looks almost black. Phase 4 makes it look like the object. The order matters: each step assumes the earlier ones have run.
- Background extraction
DBEdefault Light pollution, moonlight and vignetting leave a smooth glow across the frame that is not part of the sky. Dynamic background extraction lays a grid of 64-pixel patches over the image, discards patches that contain stars or the object, takes a robust level from the rest, and fits a smooth surface through them with a local regression that rejects outlying patches. That surface is subtracted. When a large galaxy covers the middle of the frame, the surface under it is filled from a radial model instead of stretched across from the edges.
- Colour noise
chroma NR The eye is far more forgiving of blurred colour than blurred brightness. Colour noise in the sky is smoothed with a masked blur: stars and the object are left out of the blur, so their colour cannot bleed into the sky, and they keep their original colour exactly. The sky is centred on zero at this point, so negative values are kept, not clipped.
- Wavelet noise reduction
--denoiser waveletdefault A wavelet transform splits the image into detail at different scales and orientations. Noise spreads thinly over all the small-scale coefficients; real detail concentrates in a few large ones. BayesShrink sets a threshold per band from that band's noise and signal, shrinking small coefficients toward zero. OriginStack adds a structure map: where the image has a coherent direction, such as a filament or a spiral arm, the threshold is lowered so that structure survives.
- Deconvolution
--deconvolve If the blur is known, it can be partly undone (background). Richardson-Lucy iterates toward the sharp image that, blurred by the measured PSF, best reproduces the data. It also amplifies noise and rings around bright stars, so stars are masked and it is opt-in.
The learned deconvolver (
--deconvolve nn) undoes the Origin's real seeing blur and removes noise in one step, so it replaces the wavelet denoiser and colour-noise reduction. The automatic settings use it for every session from an Origin, and for sessions from other cameras whose stars it can measure reliably, mixed with the learned noise reduction. It is a small neural network run on your computer, checked not to invent detail; see learned methods.- Star reduction and local contrast
shrink_starsmultiscale contrast Star reduction narrows each star's profile while keeping its peak brightness and colour, so stars do not crowd out the object. Local contrast enhancement boosts mid-scale detail on the object, measured against the sky noise at each scale, so it sharpens structure without amplifying noise.
- The stretch
--stretch ghsdefault Finally, the linear values are mapped to display brightness (how stretching works). The stretch gallery compares all ten options on one stack. The generalised hyperbolic stretch brightens faint levels steeply while compressing highlights gently, with the black point set from the measured sky noise. With
--stretch-color preservethe curve is applied to brightness only and colour ratios are kept (Lupton et al., 2004), so bright stars keep their colour instead of turning white.
Further reading
- Chang, S. G., Yu, B. & Vetterli, M. (2000). Adaptive wavelet thresholding for image denoising and compression. IEEE Trans. Image Processing 9, 1532–1546.
- Lupton, R. et al. (2004). Preparing red-green-blue images from CCD data. PASP 116, 133–137.
- Zackay, B., Ofek, E. O. & Gal-Yam, A. (2016). Proper image subtraction (ZOGY). The Astrophysical Journal 830, 27.
- Gaia Collaboration (2023). Gaia Data Release 3. Astronomy & Astrophysics 674, A1.
