i
i
i
i
i
i
i
i
23.9. Sigmoids 615
accomplish this is to once more use a Gaussian blurred image. Each pixel in
a blurred image represents a locally averaged value which may be viewed as a
suitable choice for the semi-saturation constant
1
.
As with division-based operators discussed in the previous section, we have
to consider haloing artifacts. However, when an image is divided by a Gaussian
blurred version of itself, the size of the Gaussian filter kernel needs to be large
in order to minimize halos. If sigmoids are used with a spatially variant semi-
saturation constant, the Gaussian filter kernel needs to be made small in order
to minimize artifacts. This is a significant improvement, since small amounts of
Gaussian blur may be efficiently computed directly in the spatial domain. In other
words, there is no need to resort to expensive Fourier transforms. In practice, filter
kernels of only a few pixels width are sufficient to suppress significant artifacts
while at the same time producing more local contrast in the tonemapped images.
One potential issue with Gaussian blur is that the filter blurs across sharp
contrast edges in the same way that it blurs small details. In practice, if there
Figure 23.25. Example image used to
demonstrate the scale selection mechanism
shown in Figure 23.26.
is a large contrast gradient in the neigh-
borhood of the pixel under considera-
tion, this causes the Gaussian-blurred
pixel to be significantly different from
the pixel itself. This is the direct cause
for halos. By using a very large fil-
ter kernel in a division-based approach,
such large contrasts are averaged out.
In sigmoidal compression schemes,
a small Gaussian filter minimizes the
chances of overlapping with a sharp
contrast gradient. In that case, halos
still occur, but their size is such that they
usually go unnoticed and instead are perceived as enhancing contrast.
Another way to blur an image, while minimizing the negativeeffects of nearby
large contrast steps, is to avoid blurring over such edges. A simple, but compu-
tationally expensive way, is to compute a stack of Gaussian-blurred images with
different kernel sizes. For each pixel, we may choose the largest Gaussian that
does not overlap with a significant gradient.
In a relatively uniform neighborhood, the value of a Gaussian-blurred pixel
should be the same regardless of the filter kernel size. Thus, the difference be-
tween a pixel filtered with two different Gaussians should be approximately zero.
1
Although f(x, y) is now no longer a constant, we continue to refer to it as the semi-saturation
constant.