In this filter, the X represents the pixel you are currently scanning, and
the numbers (called weights, for equally boring reasons) represent the
proportion of the error distributed to the pixel in that position.
The divisor here is 48, which is a little more expensive to calculate, and
the errors are distributed over three lines, requiring extra memory and time
for processing.
Shiau et al pattern 1:
- - - X 8
1 1 2 4 0
This distribution scheme was proposed based on the hypothesis that worm creation
was a result of the lack of error distribution beyond the direction of the
diagonal defined by pixel (n,l) and pixel (n-1, l+1).
Shiau et al pattern 2:
- - - X 8
2 0 2 4 0
The present proposal improves the output of the Shiau et al distribution
scheme in some circumstances, and improves the efficiency of the error diffusion
process, by eliminating one of the distribution neighbors, thereby reducing the
number of neighboring pixels that receive error.
Processes all arguments given in Properties container, reads an image from
defined URL, does selected image processing tricks and writes the result
to supplied outputstream.