Atkinson dithering explained
E-paper panels can show only a handful of colors. A photo has millions. Dithering bridges that gap: instead of replacing each pixel with the nearest available color and losing every gradient, it arranges dots so that, from normal viewing distance, the eye averages them back into the original tones.
Error diffusion in one paragraph
Error diffusion processes the image pixel by pixel, left to right and top to bottom. For each pixel it picks the nearest palette color, then measures the error: how far the chosen color is from the color that was wanted. That error is pushed onto pixels that have not been processed yet. If a mid-gray pixel became white, its neighbors get a little darker, which makes them more likely to become black. Over an area, the dots average out to gray.
The algorithms differ only in where the error goes and how much of it is passed on.
Floyd–Steinberg
Floyd–Steinberg, published in 1976, sends all of the error to four neighbors:
● 7/16
3/16 5/16 1/16
● is the current pixel; the numbers are the share of its error each neighbor receives.
Because the full error is kept, overall brightness is preserved very accurately. The downside is that error can build up in flat areas and show as worm-like patterns or scattered colored dots, which are especially visible on color e-paper.
Atkinson
Bill Atkinson developed his variant for the early Apple Macintosh, whose screen was strictly black and white. It spreads the error to six neighbors, one eighth each:
● 1/8 1/8
1/8 1/8 1/8
1/8
Six eighths add up to only three quarters, so a quarter of the error is thrown away. That loss is the point: small errors fade instead of accumulating, so light areas stay clean, dark areas stay solid and edges look crisp. The trade-off is that the brightest highlights and deepest shadows can clip, and fine tonal steps near pure white or black are lost.
What DitherInk does differently
Plain Atkinson was tested on 6-color panels and rejected: highlights washed out to pure white and skin tones drifted toward red. DitherInk keeps Atkinson’s six-neighbor pattern but changes three things:
- More error is kept. Each neighbor gets 1.2/8 of the error, so 90% is passed on instead of 75%. Highlights and shadows keep their detail while flat areas stay calmer than with Floyd–Steinberg. In side-by-side tests, isolated single dots dropped from about 31% of pixels with Floyd–Steinberg to about 16%.
- Errors are capped. Each color channel can pass on at most 100 levels. Very saturated colors that no ink can reproduce would otherwise flood their neighbors with error.
- Colors are matched perceptually. The nearest palette color is chosen with a “redmean” distance that weights red, green and blue the way the eye does, rather than plain RGB distance.
Before dithering, Auto mode also prepares the image: it stretches the contrast, lifts shadows, adds an S-curve to the mid-tones, boosts muted colors, smooths noise in flat areas and sharpens edges. Finally it compresses the brightness range to what the panel’s black and white can actually show, so dithering does not waste dots on tones the panel cannot reach.
When to change the defaults
Under Manual mode the sliders replace the Auto preparation. Lower the contrast if a portrait looks harsh, raise saturation for a dull photo, or add sharpening for small text. The dithering step itself stays the same.
Try the same photo in black and white and 6-color modes in the converter to see how much the palette changes the result.