← All defects

Posterization

Hard tonal banding visible in smooth gradients.

Description

Posterization (sometimes called banding) is the loss of tonal continuity in smooth gradients.

Instead of a seamless transition between brightness levels, the image displays hard steps, forming concentric bands in diffuse nebulosity, galaxy halos, or residual sky background gradients.

The defect reflects insufficient bit depth in the processing pipeline: once the data has been quantized to too few levels, aggressive stretching reveals the jumps between integer values rather than a smooth continuum.

This is typically a defect introduced by processing, rarely by acquisition (except in extreme underexposure cases), and it becomes irreversible once baked into an 8-bit or JPEG file.

Visual signature

Circular or concentric arc bands visible in zones of gentle tonal transition: galaxy outskirts, halos around bright stars, nebula gradients (M42, NGC 7000, IC 1396), imperfectly flat sky background gradients.

The bands look like topographic contour lines across the image.

The effect is especially visible after very aggressive stretching, in the lifted shadow regions, and wherever the signal varies slowly.

On a zoomed screenshot, individual luminance steps can be counted one by one.

Differential diagnosis

Do not confuse with Newton's rings (optical interference patterns on flats, a fine regular motif caused by an air gap between optical surfaces).

Distinguish from walking noise or fixed pattern noise (random or directional pattern, not concentric).

Also different from gradient artifacts that were not removed (missing DBE/GraXpert pass), which produce smooth but non-flat gradients -- posterization breaks continuity even when the gradient is properly handled.

Insufficient stacking can produce a grainy look in gradients, but without hard steps -- that is noise, not posterization.

On a low-quality monitor (6-bit TN panel), you may see posterization that does not exist in the file: always verify with a 32-bit view on a calibrated display before drawing conclusions.

Probable causes

  • Working in 8-bit or integer 16-bit instead of 32-bit floating point
  • Premature export to JPEG, then reusing that JPEG as the base for further processing
  • Very aggressive stretch applied to an underexposed image (few distinct levels in the useful signal)
  • Insufficient stacking that did not create enough intermediate levels through statistical averaging
  • Gain set too high or sensor ADC saturated (very rare on modern sensors)
  • Lossy compression (TIFF LZW is lossless, but JPEG, indexed PNG, and lossy WebP are not)
  • Multiple round-trips between applications with re-quantization at each export
  • HistogramTransformation applied with black/white point clipping

Course of action

  1. Work exclusively in 32-bit floating point throughout the PixInsight/Siril workflow
  2. Export masters and intermediate files as 32-bit TIFF or XISF, never as JPEG
  3. Increase total integration time: more stacked frames means more distinct levels through statistical averaging
  4. Reserve 16-bit or 8-bit quantization for the final export step when publishing only
  5. On an already posterized image, NoiseXTerminator or a mild Gaussian blur (radius 0.5-1) can soften the banding by interpolating between steps
  6. Avoid single-pass extreme stretches: prefer several gentle successive stretches (GHS, ArcsinhStretch)
  7. Check on the final master that the sky background is not clipped to zero
  8. Use StarNet/StarXTerminator before aggressive stretching and process stars and background separately

The Doc's advice

Posterization is the defect that proves you forgot at some point that you were working with scientific data. Keep everything in 32-bit floating point from the linear stage all the way through the final stretch, and export to JPEG only when you click Publish -- never before. If you see banding appear during the stretch, it is already too late: the damage happened upstream, and no filter will recover the lost information.

- the Doc, astrophotography defect specialist

Think you can see this defect in your image?

Run a diagnosis

Frequently asked questions

Can a posterized image be fully recovered?

No. Once the levels have been coarsely quantized, the in-between information is permanently gone. Banding can be masked with light smoothing (NoiseXTerminator, MultiscaleMedianTransform) or by adding synthetic noise to visually break up the steps, but the actual dynamic range will not come back. If the source files (raw lights or a 32-bit master) still exist, it is better to restart processing from scratch.

Why is 16-bit not enough when that is already well above the 14-bit sensor depth?

Because integer 16-bit does not tolerate accumulated mathematical operations. Each stretch, calibration, gradient subtraction, or curve adjustment quantizes to 65,536 levels, and after fifteen successive operations the rounding errors pile up. 32-bit floating point (representing values with a mantissa and exponent, giving roughly 4 billion representable values) maintains full precision throughout the pipeline. It is a question of computational headroom, not original bit depth.

Does PixInsight's XISF format protect better against posterization than TIFF?

At equal bit depth (32-bit floating point), both formats preserve information identically since both are lossless. XISF has some ancillary advantages (native astronomical metadata, more efficient compression, tighter PixInsight integration) but makes no difference to the posterization risk, which depends solely on bit depth and the number of operations applied. 32-bit floating-point TIFF is perfectly suitable for exchanging files between applications.

Does adding noise ("dithering") in post-processing help mask posterization?

Yes, and it is actually a standard technique, particularly when converting to 8-bit for final publication. A very low-amplitude random noise signal (1-2 levels out of 256) breaks up the hard steps and visually reconstructs a continuous gradient through the eye's averaging effect. PixInsight exposes this option in its export dialogs, and most image editors (Photoshop, GIMP) apply dithering automatically during bit-depth conversions. Be careful not to confuse this with acquisition dithering, which is a physical shift of the telescope between frames.