Why Are My Stars Yellow or Green in an RGB Composite?

Faint stars tinted yellow-green while bright ones look fine is a processing fault, not your stars. The three usual causes when combining separate R, G and B stacks, and how to tell which you have.

You combine red, green and blue stacks from a mono camera. The bright stars look right - white, blue, orange. The faint ones, which are most of the stars in the frame, all share the same yellow-green tint.

Real stars do not do that. A field’s faint stars are the same mix of colours as its bright ones. When colour tracks brightness, the processing made it.

The test: does colour change with brightness?

Pick twenty faint stars and twenty bright ones and compare. If the faint ones lean one way and the bright ones another, you have a brightness-dependent colour error - the signature of a non-linear step applied to each channel differently. Everything below is a way that happens.

Cause 1: channels stretched before they were combined

The most common. Each filter’s stack is stretched on its own - by the stacker’s preview, by an auto-stretch on save, or by hand - and the stretched channels are then combined.

A stretch is a curve fitted to that channel’s own sky and signal. Red, green and blue have different sky levels (light pollution is bright in red, faint in blue), so each gets a different curve. A faint star sits low on each curve, where they differ most; a bright star sits near the top, where they converge. So faint stars take a tint that bright ones do not.

Fix: combine the linear stacks, then stretch the colour image once. There is more on why in linear vs stretched data.

Cause 2: the channels do not agree on star shape

Sharpening or deconvolution applied to each channel separately, each with its own estimate of the blur, leaves the channels disagreeing on every star’s profile. Misalignment does the same thing more crudely: a star offset by a pixel in one channel gets a coloured fringe on one side and a tint that depends on its size.

Fix: sharpen the combined image, not the channels, and align the channels on their stars before combining. If one channel was shot on a different night, align it to the others rather than the others to it.

Cause 3: neutralising a sky that is not sky

Background neutralisation makes the sky grey by scaling or offsetting the channels. In a frame full of nebula - an emission nebula that fills the field, or the Milky Way - the “sky” it measures is nebula. Neutralising red nebula pulls red down everywhere, and faint stars, whose colour is a small excess over that background, swing toward green and blue.

Fix: neutralise against the darkest real sky - the dust lanes - or skip neutralisation when the subject fills the frame, and balance the colour on the stars instead. Processing the North America Nebula is a worked example.

Not your problem: magenta stars in narrowband

Violet stars in an SHO or HOO image are a different effect with a different cause - the palette itself - and are covered in purple, red and magenta stars explained and the Hubble palette guide.

What Akastroid does

From version 1.3.2, a natural-colour filter-wheel composite is built from the linear stacks, each channel stacked without its own deconvolution, aligned on its stars, balanced on the stars, and stretched once. On a nebula that fills the frame, the display-stage neutralisation that would tint the stars is skipped. Measured on a real North America Nebula session, the faint stars’ tint went from 0.23 off neutral to 0.015.

The short version

  • Colour that depends on brightness is always a processing artefact.
  • Combine linear stacks and stretch once; never combine stretched channels.
  • Sharpen after combining, and align the channels on their stars first.
  • In a frame full of nebula, do not neutralise the nebula as though it were sky.

Also in Deutsch · Español · Français · Italiano · 日本語 · Nederlands · Polski · Português (Brasil) · Türkçe · 繁體中文

Try it on your own data

Akastroid does everything in this guide automatically, and tells you what it did.

Download Akastroid - free