High Dynamic Range Tone Mapping/Rendering (HDR)


The use of an image appearance model for rendering high dynamic
range images is a natural application. High dynamic range rendering can be
thought of as an extreme form of gamut mapping, where we are trying to match
the appearance of a scene that might contain over 5 orders of magnitude of
light on a display that might only reproduce 2 orders of magnitude. How do
we "render" those images such that they produce the same perceptual
response, or so that they appear the same?
More details on using an appearance model for this type of application can
be found in our CIC11 paper:
G.M. Johnson and M.D. Fairchild, “Rendering HDR images,” IS&T/SID
11th Color Imaging Conference, Scottsdale, 36-41 (2003). Download
The HDR Photographic Survey
If you are looking for the online database of HDR images created during Mark Fairchild's journey's around the country, please click here for the HDR Photographic Survey.
To further our research on this topic, we had two high-school interns collect
a series of images for us over the course of last summer. Brandon Dilmore and
Srikant Yennamandra collected 75 HDR scenes taking multiple exposures with a
Nikon D1 digital camera. The multiple images were then combined into HDR images
using Greg Ward's Photosphere program.
Please feel free to use these images as you see fit.
The MCSL HDR image database is encoded in the Radiance RGBE format (rle). To
facilitate the use of this format in Matlab, Lawrence
Taplin kindly wrote a function to read these images:
read_rle_rgbe.m
Other Image Sources
So the RIT images are not enough to quench your thirst for HDR images? You
can try these sights as well:
Paul Debevec
Erik Reinhard
Greg
Ward
Laurence Meylan
Hebrew University
Stanford University
OpenEXR
If you have any additional HDR scenes that you would like me to link to, just
send me a note. Additionally, we can probably arrange for some image hosting
if necessary.
Source Code
The source code to iCAM is freely available. It is our hope that others contribute
to the code with further improvements. Most of this code has been written by
Garrett, so email him if you have a
problem. Also, Mathematica is a pretty wacky language that is very useful for
prototyping, but difficult to figure out what is going on. As such...the Mathematica
images do not exactly match the IDL and Matlab ones...but should be close. It
is the thought that counts.
Mathematica
Thanks for Frank Iannarilli of Aerodyne Research, Inc. we have an updated Mathematica notebook that is compatible with Mathematica Version 6. Click below to download the notebook and/or a PDF file showing it's contents. No images are imbedded in the notebook itself to mimize file size.
This is a new and improved HDR tone mapping notebook, as of April 2003, so
if you have the original, please take a look at this one.
High Dynamic Range Tone Mapping (Mathematica)
IDL
All the original images were generated using the IDL code, which should be
thought of as the "baseline." It currently varies slightly from the
Mathematica code, only in as much as we have no idea what Mathematica is doing
sometimes, and there are a few scale differences. In the past we have used IDL
for most of the development, but now that Matlab is officially back on the Mac
we have been working mostly on that. We'll try to keep the IDL code up to date.
High Dynamic Range Tone Mapping (IDL)
Matlab
Here is the Matlab source code for performing high-dynamic range tone mapping.
This code was ported by Garrett and Lawrence, and should be identical to the
IDL code. You need to have the image processing toolkit installed to run this
code (and maybe the statistics toolkit too). This is the current state of the
art, and should be used when possible. It was last updated on March 23, 2004.
The recent additions include an automatic scale function, to deal with normalized
input images.
High Dynamic Range Tone Mapping (Matlab)
MSVC (Windows)
Below is the source and executable iCAM implementation for Microsoft Visual
C, kindly donated to the site from Kim Jin-Seo.
I have not personally run the code, mostly because I don't generally touch Windows
with a long stick...but I certainly appreciate the code.
iCAM (Microsoft Visual C)
OpenEXR Tools
Billy Biggs has written a nice series of OpenEXR tools that includes some iCAM
and other rendering bits. His code is available at http://scanline.ca/exrtools/
Any questions and comments about the source code should be addressed to Garrett
M. Johnson. Last updated
18-sep-08
|