Aller au contenu

Encyclopedia · Image algorithm

Dithering

Dithering (screening) is an algorithm that breaks a tonal gradient into black and white pixels to simulate grey levels on a binary medium. In alternative printing, two families dominate: Floyd-Steinberg(error diffusion, 1976) and AM halftone (dots rotated at 54°, 60-110 LPI).

Verified on 2026-05-19 by the Calibration Flow team.

Diagram comparing error-diffusion dithering (Floyd-Steinberg) and AM halftone screening for digital negatives.
Dithering — annotated diagram (Floyd-Steinberg vs AM halftone)

Context and history

The halftone was born from 19th-century printing: Frederic Eugene Ives developed the halftone screen (AM halftone) around 1881, breaking a photograph into dots of varying size (AM, amplitude modulation) at different angles per channel to avoid moiré. It is still today the standard of offset printing at 150-300 LPI.

In 1976, Robert W. Floyd and Louis Steinberg published their error-diffusion algorithm in Proceedings of the SID. The principle: for each quantised pixel, the quantisation error is propagated to its neighbours according to fixed weights (7/16 right, 3/16 bottom-left, 5/16 bottom, 1/16 bottom-right). This method produces a visually more natural result on smooth gradients.

In alternative photography, screening is useful for bitmap test chartsprinted on transparency at 300 dpi and for the negatives of hardening processes (carbon, gum bichromate) where the pigment chemistry renders a screened pattern better than a flat grey.

How dithering works

All dithering methods share the same constraint: the output is binary (1 bit per pixel) and must represent a continuous input signal (8 or 16 bits per pixel). They differ by the spatial distribution strategy of black and white pixels.

  • Floyd-Steinberg — sequential error diffusion (left-right, top-bottom). A pixel’s quantisation error is spread over 4 neighbours with weights 7/16, 3/16, 5/16, 1/16. Pro: soft result, no perceptible pattern. Limit: sensitive to edge artefacts.
  • AM halftone (amplitude modulation) — a grid of cells oriented at an angle (often 54°), each cell carries a dot whose size grows with tonal density. Pro: reproduces the historical offset look, readable to the eye. Limit: density (LPI) must match the print resolution.
  • FM halftone (frequency modulation, stochastic) — fixed-size dots distributed pseudo-randomly. Used in fine-art printing, rare in alt-process.
  • Bayer (ordered dithering) — fixed matrix, deliberately geometric artefactual look. Used in pixel art, little in photography.

For a 25-patch calibration chart printed at 300 dpi on A4, an 85 LPI halftone rotated at 54° produces a pattern readable to the eye and stable for luminance measurement. Floyd-Steinberg on the same chart gives a smoother result but is more sensitive to paper differences.

Interactive tool · Printable target

Generate your dithered (Floyd-Steinberg) target now

25-patch target (5×5 grid + continuous gradient), equal steps of about 4.2 % in grey value, from white to black. Negative polarity (matches this process). Download, print on inkjet transparency with colour management off, expose onto your sensitised paper.

Detail at 100 %, taken from a mid-tone. The preview above is the file scaled down by your screen: the dots vanish there, just as they do on a print seen from a distance.
Print the target on your negative, in the app

Downloaded file at 1680×1410 px (300 dpi), free, no sign-up. In the app, a 25-step grey grid and its gradient print straight onto a corner of your negative (Target → Show the target tab) and get the same curve as the image.

Target computed like the app’s: evenly spaced grey steps and a continuous gradient, then Floyd-Steinberg error diffusion (weights 7/16, 3/16, 5/16, 1/16). On a scan, the app reads each step as perceptual lightness, L* (CIELAB).

Dithering in Calibration Flow

Calibration Flow implements both algorithms. AM halftone is the default algorithm when the "Dither = auto" option is on: screen rotated at 54°, density from 60 to 110 LPI depending on the chosen DPI (300 or 720 dpi). Floyd-Steinberg, with its canonical weights (7/16, 3/16, 5/16, 1/16, no serpentine), is available as an alternative.

Dithering applies after composition (frame + registration marks), so the graphic elements stay sharp. In Color export mode, dithering is automatically hidden: a screen makes no sense on a polychrome image.

Floyd-Steinberg vs AM halftone

Key differences to know when choosing the right dither for the process.

DimensionFloyd-SteinbergAM halftone
FamilyError diffusionOrdered screen, variable amplitude
Weights / parameters7/16, 3/16, 5/16, 1/1654°, 60-110 LPI
Visual resultSoft, organicRegular, readable
Alt-process useFine charts, fallbackBitmap charts, carbon, gum
Measurement stabilityVariable (edge artefacts)Good (periodic pattern)
Status in Calibration FlowAlternativeDefault (auto)

Sources and references

  • R. W. Floyd, L. Steinberg, "An adaptive algorithm for spatial greyscale", Proceedings of the Society for Information Display, 1976 — founding paper.
  • Wikipedia — Floyd-Steinberg dithering: en.wikipedia.org/wiki/Floyd–Steinberg_dithering.
  • Wikipedia — Halftone: en.wikipedia.org/wiki/Halftone.
  • Christopher James, The Book of Alternative Process Photography — carbon and gum bichromate chapters on the use of screening.