If you’re not familiar with high dynamic range (HDR) images, check out this showcase. HDR images are often strikingly beautiful – but they don’t accurately reflect the real world, and they’re not appropriate for use everywhere.
Tone mapping is the process of converting HDR images into normal, low dynamic range JPEG images for display or further use in other applications. Many sophisticated tone mapping methods can be used to preserve as much of the original image quality as possible, and all of the methods have different parameters to tweak, which makes it difficult to find the optimal method and parameter set for any particular image. CVLTonemap uses today’s programmable graphics processing units (GPU) to accelerate the tone mapping process. On modern GPUs it can tone map even large images in real time, so you can tweak parameters via sliders and immediately see the effect, instead of pushing a button and having to wait for an image to be redrawn, only to find that the parameters were wrong and you have to start over.
German developer Martin Lambers created CVLTonemap as a byproduct of his Ph.D. research. “I originally wanted interactive dynamic range reduction for Synthetic Aperture Radar (SAR) images,” he says. “I knew that this had to be done on the GPU to be fast enough. Since the general idea was somewhat similar to tone mapping for optical images, I first had a look at the state of tone mapping research. Then I tried to find ideas and concepts that could be applied to SAR images. I realized that to fully understand the various tone mapping methods, I had to implement them.
“I started to work on CVLTonemap in 2007. I was able to implement the basic algorithms quickly because I already had CVL, a library for image and data processing on the GPU, so all the infrastructure was already in place.
“CVL and CVLTonemap are based on OpenGL. Nowadays, one would probably use OpenCL for general computations on GPUs (or CUDA if one is only interested in Nvidia hardware). On the other hand, tone mapping maps directly to the OpenGL fragment shader, so using OpenGL is not a disadvantage for this task – in fact, it improves compatibility.”
Lambers says he likes to release as much of his software as he can under an open source license. “If someone likes it and uses it, that’s a win; if nobody is interested in it, I did not lose anything. Also, it’s a great way to learn, and I’m happy about the feedback from all over the world.”
One thing Lambers knows needs work is CVLTonemap’s user interface. “The application was created as a research tool and not as a tool for HDR photographers, and that shows. I definitely need help with that, because I’m not sure what interface a photographer would like to have, and because I lack the time to rewrite the GUI. Anyone who is interested in helping can contact me directly or use the mailing list on the project site.”