tonemapper — A tool for exploring and applying various tonemapping operators

Overview

tonemapper — A tool for exploring and applying various tonemapping operators.

CI badge

Description

Tonemapper is a an application to compare and apply various tone mapping operators...

... either via an interactive GUI:

./tonemapper

... or via the command line interface:

">
# Example: apply the "Reinhard" operator with gamma=2.2 to a list of input images
./tonemapper --no-gui --operator reinhard --gamma 2.2 

Supported file formats:

  • Input: .exr & .hdr
  • Output: .jpg & .png

Available operators:

  • Gamma: Standard gamma correction only
  • sRGB: Conversion to sRGB color space

  • Clampling
  • Maximum division
  • Mean value
  • Exponential
  • Exponentiation
  • Logarithmic

  • Hill ACES: ACES curve fit by Stephen Hill
  • Narkowicz ACES: ACES curve fit by Krzysztof Narkowicz
  • Hill ACES: ACES curve fit by Romain Guy

Building

Clone the repository recursively 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

Optionally, the compilation of the GUI can be disabled via a CMake option:

cmake .. -DTONEMAPPER_BUILD_GUI=OFF

Third party code

The following external libraries are used:

Older version

This project is based on an older, now outdated version that is archived under the version_1 branch.

License

Tonemapper is provided under the MIT License.

See the LICENSE.txt file for the conditions of the license.

Comments
  • How to move the image

    How to move the image

    I tried this app a while back and find it very nice. WHen i open an image i just see a small section and i cant move it around. Im using the last version 1.1 on osx 10.11.6

    screen shot 2018-11-17 at 22 16 06

    However i tried it again today and noticed i could not open an HDR image saved from my render engine. It does allow me to open the exr files.

    screen shot 2018-11-17 at 22 16 00
    opened by schroef 10
  • Reasoning for -stdlib=libc++ flag?

    Reasoning for -stdlib=libc++ flag?

    opened by qqii 3
  • command mode

    command mode

    Well, this is a very useful tool! But as a lazy user, I will be glad to use a command line to batch process many exr files. For example "tonemapper.exe --input_path --output_name --operator " Just a suggestion!~

    opened by zcoo 3
  • Gran Turismo, windows port, dependencies

    Gran Turismo, windows port, dependencies

    Hi! Thanks for this project.

    I made some changes to simplify the build (included some dependencies like Eigen), and make it portable to windows. Also I added a new Gran Turismo operator.

    opened by meshula 3
  • Incorrect arguments used in ReinhardDevlinOperator::setParameters

    Incorrect arguments used in ReinhardDevlinOperator::setParameters

    I'm not sure about this one since I'm not that familiar with the algorithm, but this looks wrong to me: parameters["Iav_r"] = Parameter(image->getAverageIntensity().r(), "Iav_r"); parameters["Iav_g"] = Parameter(image->getAverageIntensity().r(), "Iav_g"); parameters["Iav_b"] = Parameter(image->getAverageIntensity().r(), "Iav_b");

    It uses the red-channel of the average intensity for all three parameters, I assume it should be r(), g() and b() respectively?

    opened by Silverlan 1
  • Changes to support more operator types

    Changes to support more operator types

    It would be interesting to refactor the existing code to be more flexible:

    • Add mappings that differs for R,G,B channels, to support e.g. the ACES fit by Stephen Hill: https://github.com/TheRealMJP/BakingLab/blob/master/BakingLab/ACES.hlsl

    • Add option to load data-driven curves from text files as described in https://64.github.io/tonemapping/, e.g. to load in actual camera response functions

    opened by tizian 1
Owner
Tizian Zeltner
Tizian Zeltner
A meme system info tool for Linux, based on nyan/uwu trend on r/linuxmasterrace.

UwUFetch A meme system info tool for Linux, based on nyan/UwU trend on r/linuxmasterrace. Currently supported distros Nyarch Linuwu, Nyartix Linuwu, D

TheDarkBug 447 Sep 17, 2022
A Tool for Verifying Neural Networks using SMT-Based Model Checking

Project Title QNNVerifier Description A Tool for Verifying Neural Networks using SMT-Based Model Checking. Using Frama-C and ESBMC as the backends. Yo

null 2 Dec 11, 2021
Metin2 Resource Dumper/Extractor Tool. Dump 100% of the resources from almost any Metin2 Client

PackDumper Metin2 Resource Dumper/Extractor Tool. Dump 100% of the resources from almost any Metin2 Client How to Compile ✔️ Clone the project and com

null 12 Aug 11, 2022
A tool to suggest github repositories based on the repositories you have shown interest in.

gitsuggest A tool to suggest github repositories based on the repositories you have shown interest in. Whats happening here? Programs must be written

Vishwas B Sharma 648 Aug 10, 2022
NVIDIA GPUs htop like monitoring tool

NVTOP What is NVTOP? Nvtop stands for NVidia TOP, a (h)top like task monitor for NVIDIA GPUs. It can handle multiple GPUs and print information about

Maxime Schmitt 4.3k Sep 16, 2022
High dynamic range (HDR) image comparison tool for graphics people. With an emphasis on OpenEXR images.

tev — The EXR Viewer A high dynamic range (HDR) image comparison tool for graphics people. tev allows viewing images through various tonemapping opera

Thomas Müller 684 Sep 18, 2022
GPU Texture Baking Tool

fornos GPU Texture Baking Tool A fast and simple tool to bake your high-poly mesh details to textures. Bakers Height Position Normals Ambient Occlusio

Oscar Sebio Cajaraville 93 Jul 5, 2022
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow

eXtreme Gradient Boosting Community | Documentation | Resources | Contributors | Release Notes XGBoost is an optimized distributed gradient boosting l

Distributed (Deep) Machine Learning Community 23.2k Sep 17, 2022
High performance, easy-to-use, and scalable machine learning (ML) package, including linear model (LR), factorization machines (FM), and field-aware factorization machines (FFM) for Python and CLI interface.

What is xLearn? xLearn is a high performance, easy-to-use, and scalable machine learning package that contains linear model (LR), factorization machin

Chao Ma 3k Sep 21, 2022
Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, SRMD, RealSR, Anime4K, RIFE, CAIN, DAIN and ACNet.

Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, SRMD, RealSR, Anime4K, RIFE, CAIN, DAIN and ACNet.

Aaron Feng 7.7k Sep 17, 2022
ORB-SLAM3 is the first real-time SLAM library able to perform Visual, Visual-Inertial and Multi-Map SLAM with monocular, stereo and RGB-D cameras, using pin-hole and fisheye lens models.

Just to test for my research, and I add coordinate transformation to evaluate the ORB_SLAM3. Only applied in research, and respect the authors' all work.

B.X.W 5 Jul 11, 2022
Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.

Cartographer Purpose Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platfo

Cartographer 6.2k Sep 24, 2022
A programmable and highly maneuverable robotic cat for STEM education and AI-enhanced services.

OpenCat is the open-source Arduino and Raspberry Pi-based robotic pet framework developed by Petoi, the maker of futuristic programmable robot

Petoi LLC 835 Sep 25, 2022
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

CatBoost 6.7k Sep 22, 2022
Deep Learning API and Server in C++11 support for Caffe, Caffe2, PyTorch,TensorRT, Dlib, NCNN, Tensorflow, XGBoost and TSNE

Open Source Deep Learning Server & API DeepDetect (https://www.deepdetect.com/) is a machine learning API and server written in C++11. It makes state

JoliBrain 2.4k Sep 23, 2022
In-situ data analyses and machine learning with OpenFOAM and Python

PythonFOAM: In-situ data analyses with OpenFOAM and Python Using Python modules for in-situ data analytics with OpenFOAM 8. NOTE that this is NOT PyFO

Argonne Leadership Computing Facility - ALCF 111 Sep 6, 2022
CTranslate2 is a fast inference engine for OpenNMT-py and OpenNMT-tf models supporting both CPU and GPU executio

CTranslate2 is a fast inference engine for OpenNMT-py and OpenNMT-tf models supporting both CPU and GPU execution. The goal is to provide comprehensive inference features and be the most efficient and cost-effective solution to deploy standard neural machine translation systems such as Transformer models.

OpenNMT 337 Sep 21, 2022
VNOpenAI 27 Sep 16, 2022
Fast and robust template matching with majority neighbour similarity and annulus projection transformation

A-MNS_TemplateMatching This is the official code for the PatternRecognition2020 paper: Fast and robust template matching with majority neighbour simil

Layjuns 17 Sep 16, 2022