Why Are My Stars Purple, Red or Magenta?
Three different faults look alike from a distance. How to tell a wrong white point from a lens fringe from a clipped core, and what fixes each one.
Coloured stars are correct. Stars come in every shade from deep orange to blue-white, and an image that shows that is a better image than one where every star is a white dot. But there is a difference between colour that is the star’s and colour that is the pipeline’s, and there are three common ways to get the second kind. They look similar in a thumbnail and are unrelated underneath, so it is worth knowing which one you have.
All three were found and fixed in Akastroid during one afternoon with a DSLR Pleiades and a Seestar M 101, and the measurements are in this post because they make the causes concrete.
Fault one: the whole field is red (or blue)
What it looks like: every faint star has the same tint. Not a mixture of warm and cool stars - all of them red, or all of them blue, uniformly.
What it is: the white point. Colour calibration has to decide what “neutral” means, and it decides by looking at stars. If it takes the brightest stars as neutral, then on a field whose bright stars are genuinely blue - the Pleiades, most of Orion - it strips their blue and pushes everything else red. Measured on the Pleiades: with the balance set from flux-weighted star colour, the faintest third of the stars came out at a red-to-green ratio of 1.16 while Alcyone sat at 0.97. The blue giants had been made grey and the ordinary stars had paid for it.
The fix is to take the typical star as the reference rather than the brightest. Most stars in any field are sun-like or a little cooler, and treating that as white is the convention every catalogue-based calibration rests on. On the same Pleiades that put Alcyone at blue-to-green 1.06 and the field at neutral.
There is a subtlety that took a second attempt. “Typical” has to mean typical among stars measured well enough to have a colour. A faint star’s aperture is mostly noise, and if the measurement clips the noise at zero - a common shortcut - the noisier channel reads brighter and the faint majority drags the white point toward whatever channel has the most noise. On the M 101 field that was blue, and the balance came out at 1.4× blue before the measurement was corrected.
How to tell you have it: the tint is uniform and it follows the faint stars, and the very brightest stars are the “wrong” colour for what they are.
Fault two: a coloured rim around white stars
What it looks like: the star’s centre is white, and there is a thin ring of red - or blue, or magenta - around it. Mid-brightness stars show it most; faint stars are too small and bright stars are swamped by their own glare.
What it is: the lens. Red, green and blue do not focus at exactly the same distance, so a star’s red image is slightly larger than its green one. In the linear data the difference is one or two percent of the star’s peak, three pixels from the centre - invisible. The stretch that makes the image viewable multiplies everything at that level by ten or more, and the rim appears. On a 111-frame DSLR Pleiades the red channel carried 60% more than green at three pixels out in the linear stack, and twice as much after the stretch.
This is not a stacking or calibration error and no white balance will touch it, because it is not a tint, it is a difference in shape between the channels.
The fix in Akastroid is a halo match: every star’s outer halo takes the colour of that star’s own core. A white star’s rim goes white; a genuinely blue star stays blue to its edge; the sky under the halo is left alone. It is applied after the stretch, where the rim exists, and it is what took the Pleiades from red-rimmed stars to plain ones.
How to tell you have it: zoom in. A rim is a ring with a differently-coloured centre. A tint is the whole star.
Fault three: bright stars with magenta centres
What it looks like: the brightest few stars have a magenta or purple core, sometimes with a violet halo, while everything else is fine.
What it is: clipping. A colour sensor’s green pixels collect the most light, so on a bright star green reaches full scale first. Once it is flat, red and blue are still rising - and the pixel’s colour, which is now “red and blue but not green”, is magenta. Then the white balance, which is boosting blue on almost every colour camera, turns magenta into violet. The core was never that colour. The sensor stopped recording green and kept recording the others.
The fix is to recognise that a clipped core has no colour to read and render it white, which is what it is once the sensor has given up. The wrinkle: the usual test for “is this star clipped” looks at luminance, which is mostly green - and a core with green at 0.8 and red and blue at 1.0 has a luminance of 0.86, which does not look clipped. Akastroid now checks each channel.
How to tell you have it: it is only the brightest stars, and the centre is the coloured part.
A note on the Seestar’s blue halo
Seestar S50 images have a blue glow around bright stars that is none of the above. It is chromatic aberration in the telescope’s own optics - a real blue halo, present in the data, and any strong stretch shows it. It is not a fault the pipeline introduces, and it is not something the pipeline currently removes. If a saturated core is being rendered white, the halo match will take the halo with it, which is usually an improvement; if the star is not clipped, the halo keeps the core’s colour and stays visible.
The short version
| you see | it is | fix |
|---|---|---|
| every faint star the same tint | wrong white point | reference the typical star, measured properly |
| coloured ring, white centre | lens chromatic aberration, revealed by the stretch | halo takes the core’s colour |
| magenta centres on the brightest stars | green channel clipped, then blue boosted | render clipped cores white |
If you are not sure, zoom to a mid-brightness star. Tint, ring, or centre - one of the three will be obvious.
Try it on your own data
Akastroid does everything in this guide automatically, and tells you what it did.
Download Akastroid - free