Tone Mapper is a a small application to compare and apply various tone mapping operators. It features an interactive preview and a simple GUI to tweak different parameters.
It was written for the Multimedia Communications course at ETH Zürich (Fall Semester 2015).
Available operators:
- Linear - Gamma correction only
- sRGB - Conversion to the sRGB color space
- Reinhard - From "Photographic Tone Reproduction for Digital Images" by Reinhard et al. 2002
- Reinhard (Extended) - From "Photographic Tone Reproduction for Digital Images" by Reinhard et al. 2002
- Ward - From "A contrast-based scalefactor for luminance display" by Ward 1994
- Ferwerda - From "A Model of Visual Adaptation for Realistic Image Synthesis" by Ferwerda et al. 1996
- Schlick - From "Quantization Techniques for Visualization of High Dynamic Range Pictures" by Schlick 1994
- Tumblin-Rushmeier - From "Tone Reproduction for Realistic Images" by by Tumblin and Rushmeier 1993
- Drago - From "Adaptive Logarithmic Mapping For Displaying High Contrast Scenes" by Drago et al. 2003
- Reinhard-Devlin - From "Dynamic Range Reduction Inspired by Photoreceptor Physiology" by Reinhard and Devlin 2005
- Filmic 1 - By Jim Hejl and Richard Burgess-Dawson from the "Filmic Tonemapping for Real-time Rendering" Siggraph 2010 Course by Haarm-Pieter Duiker
- Filmic 2 - By Graham Aldridge from "Approximating Film with Tonemapping"
- Uncharted - By John Hable from the "Filmic Tonemapping for Real-time Rendering" Siggraph 2010 Course by Haarm-Pieter Duiker
- Insomniac - From "An efficient and user-friendly tone mapping operator" by Mike Day
- Gran Turismo - From "HDR theory and practice" by Hajime Uchimura (Polyphony Digital Inc.), 2017
- ACES (Narkowicz) - ACES curve fit by Krzysztof Narkowicz
- ACES (Unreal) - Unreal 3 color grading curve adapted by Romain Guy to be close to ACES curve
- AMD (Lottes) - AMD curve from "Advanced Techniques and Optimization of HDR Color Pipelines" by Timothy Lottes, 2016
- Divison by maximum
- Mean Value Mapping
- Clamping
- Logarithmic
- Exponential
- Exponentiation
Currently, only OpenEXR (.exr) input files are supported. A sample image (example.exr) is included in the project directory.
Clone the repository with all dependencies and use CMake to generate project files for your favourite IDE or build system. Unix example using make:
git clone https://github.com/tizian/tonemapper.git --recursive
cd tonemapper
mkdir build
cd build
cmake ..
make
Alternatively, pre-compiled builds are available here:
The following libraries have been used:
Tone Mapper is provided under the MIT License.
See the LICENSE.txt file for the conditions of the license.