<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5//EN" "http://cnx.rice.edu/technology/cnxml/schema/dtd/0.5/cnxml_plain.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" id="id9842069">
<name>Exploring High Dynamic Range Imaging: §3.8 Local Gaussian Convolution</name>
<metadata>
  <md:version>1.2</md:version>
  <md:created>2006/12/16 21:45:36 US/Central</md:created>
  <md:revised>2006/12/25 16:42:16.499 US/Central</md:revised>
  <md:authorlist>
      <md:author id="tyang">
      <md:firstname>Tianhe</md:firstname>
      
      <md:surname>Yang</md:surname>
      <md:email>tian.yang@rice.edu</md:email>
    </md:author>
      <md:author id="tjohnson">
      <md:firstname>Taylor</md:firstname>
      <md:othername>T</md:othername>
      <md:surname>Johnson</md:surname>
      <md:email>ttj@rice.edu</md:email>
    </md:author>
      <md:author id="snmcgee">
      <md:firstname>Sarah</md:firstname>
      <md:othername>Nicole</md:othername>
      <md:surname>McGee</md:surname>
      <md:email>snmcgee@rice.edu</md:email>
    </md:author>
      <md:author id="rlortman">
      <md:firstname>Robert</md:firstname>
      <md:othername>Lowell</md:othername>
      <md:surname>Ortman</md:surname>
      <md:email>rlortman@rice.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="tyang">
      <md:firstname>Tianhe</md:firstname>
      
      <md:surname>Yang</md:surname>
      <md:email>tian.yang@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="tjohnson">
      <md:firstname>Taylor</md:firstname>
      <md:othername>T</md:othername>
      <md:surname>Johnson</md:surname>
      <md:email>ttj@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="snmcgee">
      <md:firstname>Sarah</md:firstname>
      <md:othername>Nicole</md:othername>
      <md:surname>McGee</md:surname>
      <md:email>snmcgee@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="rlortman">
      <md:firstname>Robert</md:firstname>
      <md:othername>Lowell</md:othername>
      <md:surname>Ortman</md:surname>
      <md:email>rlortman@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="Markpanzee">
      <md:firstname>Mark</md:firstname>
      <md:othername>A.</md:othername>
      <md:surname>Davenport</md:surname>
      <md:email>md@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="richb">
      <md:firstname>Richard</md:firstname>
      <md:othername>G.</md:othername>
      <md:surname>Baraniuk</md:surname>
      <md:email>richb@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  

  <md:abstract/>
</metadata>
<content>
<para id="id10389456">Using the experience we have gained so far,
and the knowledge gained in introductory DSP courses, let’s
formulate another local operator. The goal is to compress luminance
as well as the adaptive gain control had done while maintaining
fine detail and sharpness. Recall that averaging can be done
through convolution with a filter, and we can manipulate the weight
of the average by changing the shape of the filter. It seems
natural that the pixel being mapped should be weighted most
heavily, so we may decide to use a Gaussian to convolve a small
local area around the pixel being mapped to find a weighted average
to map the pixel. You may be concerned with the production of halos
without the adaptive gain control explored in sections 3.4, but
let’s see if the natural shape of the Gaussian will be able to
prevent them without extra control.</para>
<para id="id10340650">Example Gaussian:</para>
<para id="id10222071">0.0035 0.0114 0.0183 0.0114 0.0035</para>
<para id="id10219226">0.0114 0.0591 0.1353 0.0591 0.0114</para>
<para id="id10282274">0.0183 0.1353 1.0000 0.1353 0.0183</para>
<para id="id10414528">0.0114 0.0591 0.1353 0.0591 0.0114</para>
<para id="id9481646">0.0035 0.0114 0.0183 0.0114 0.0035</para>
<para id="id10390923">Think back to your DSP class again, and
recall that convolution in the time domain is equivalent to
multiplication in the frequency domain. To speed up the process,
convolution can be done using the DFTs of the Gaussian and the
small local area. Using MATLAB’s efficient FFT algorithm, the whole
image conversion and tone mapping process is on the order of
seconds. The algorithm does not blur the image to the degree that
adaptive gain control does, but since it does still blur the image
slightly, it also employs the edge preservation technique used in
the later version of the adaptive gain control method.</para>
<para id="id10289323">Comparing the local convolution mapping with
the adaptive gain control method, the former clearly retains more
detail in the wall artwork and the stained-glass window to the
right.</para>
<para id="id9942560">
<figure id="id9942574"><media type="image/png" src="Graphic1.png"/>
<caption>Local Operator with Convolution</caption></figure>
</para>

<figure id="id10288417"><media type="image/png" src="Graphic2.png"/>
<caption>Adaptive Gain Control with Edge Preservation;
Radius = 2, Threshold = 5, Max Difference = 1.1, Number Different = 1</caption></figure>


</content>
</document>
