Logo

Atkinson Dither

Atkinson dithering is an algorithm developed by Apple programmer Bill Atkinson.

He is well-known for having created HyperCard, MacPaint, and many user interface innovations for the Macintosh.

Dither is an intentionally applied form of noise used to randomize quantization error. A common use of dither is converting a grayscale image to black and white, such that the density of black dots in the new image approximates the average gray-level in the original.

I explore the algorithm below - I'm intrigued by the organic patterns that appear when the image is scaled up.


Classic Macintosh 1-bit filter

Compare every pixel to 50% grey, then change them to either black or white. The difference between the input and the output is then distributed to the neighbouring pixels as follows, where X is the current pixel.

+-----+-----+-----+-----+
|     |  X  | 1/8 | 1/8 |
+-----+-----+-----+-----+
| 1/8 | 1/8 | 1/8 |     |
+-----+-----+-----+-----+
|     | 1/8 |     |     |
+-----+-----+-----+-----+