Multi-Class (Anisotropic) Electrostatic Halftoning
Deviation of Tonemapping Operator
Using our basic halftoning algorithm, the total area of all dots
inside a certain region equals the (scaled) sum of the grey values of
that region. In very dark image regions, however, the dots will
overlap. Thus, these regions are rendered brighter than they should
be. On this page, we derive the equations necessary to compute the
tonemapping operator that should be applied before halftoning to
account for this overlap.
First, we let us analyse how large the overlapping regions are. For
this, we assume that the particles are aligned in an energetically
optimal honeycomb pattern in an area of constant grey value. We note
that overlaps occur only if the circular disc that represents a
particle is larger than the incircle of the corresponding
hexagons. Using the notation from the images shown below, this is the
case if
. If it equals the
circumcircle, the area is rendered in a fully black tone.
 
Illustration of the identifiers used on this page. Blue:
Particles forming an energetically optimal honeycomb
pattern. Black: Underlying hexagons.
Left: Overlap of particles in a honeycomb pattern.
Right: Zoom on one overlap area.
First of all, let us compute the grey value corresponding to the borderline
case
. This is done by computing the coverage in this
situation: We consider the triangle between the centres of three neighbouring
circles and denote its height by .
Then, its areas is given by
.
Within this triangle, there are three sectors of the
area of a circle, each. The coverage in this case is thus given by:
 |
(1) |
Consequently, above a grey value of
, the circles do not overlap.
In the interesting case
, we can express the circular segment cut off by as
the difference between the circular sector spanned by and the
triangle, i.e.
Since
 |
(3) |
we can write
 |
(4) |
and
use (4) to rewrite the second
term of (2) to obtain
Moreover, we also know that
 |
(6) |
Combining (3)
and (6) results in
Hence, we can also rewrite the first term
of (5) and obtain
Let us now express the total overlap relative to the area of one circle,
and call this the relative loss .
Note that we substitute
. This makes sense since
is a free parameter and
depends on and on the grey
value of the image. The ratio thus allows us to regard the problem
independent of the scale, i.e. the absolute error.
Let us forget the loss for a moment and consider the case
in which the rendering works as expected. Here, we obtain the
grey value as the quotient of the area of the circular disc and the
hexagon it covers:
If the rendering worked well in dark areas, we would also expect such in
these cases. In other words, the relative loss just describes the
deviation of the true grey value from the desired grey value . The
relative remainder thus denotes the fraction of the area that is still
rendered. Since the area and the grey value depend linearly on each other,
we can express as
 |
(15) |
At this point, we can switch the roles of action and reaction: Considering a
certain grey value shall be obtained, which grey value would we need
to sample? Since (15) depends only on
and , we can solve it numerically for assuming a desired . Since
the function is not monotonic, we can use that we are only interested in
Finally, we use in (14) to obtain
.
To finish this derivation, let us check the global mass preservation
of the process given that a tonemapping as explained in the paper is
applied. Regions with a grey value below
are rendered correctly, since . Above this
threshold, the grey value preservation follows by construction
from (14)
and (15).
< Novelties
Main Page Tonemapping operator for 8-bit values >
|