Changed the Python version of ꟻLIP so that it leverages the C++ code through pybind11.
Results (only evaluation, not including file load/save, etc):
19-34x faster for LDR/HDR CPU (measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors).
Timings for 1920x1080 images:
Python/LDR: 81 ms
Python/HDR: 1370 ms
NOTE: The Python version can currently not run the CUDA version of ꟻLIP (see issue #22).
NOTE: The Python tool now uses the C++ tool. Compared to before, you will need to change _ to - when calling flip.py (e.g., python flip.py -r reference.exr -t test.exr --start_exposure 3 is now python flip.py -r reference.exr -t test.exr --start-exposure 3; see python flip.py -h).
The Python version of ꟻLIP can now be installed using pip (run pip install -r requirements.txt . from the python folder).
The code for the C++/CUDA tool is now in FLIPToolHelpers.h.
NOTE: The fourth evaluate() function in FLIP.h now takes two additional arguments: computeMeanError and meanError. Furthermore, its list of arguments has been partly reordered.
Added check for OpenMP for CMake build.
Overlapped histograms are now available in the C++ tool code. These are created when one reference and two test images are input, together with the --histogram flag.
Text file output are now available in the C++ tool code. These are created when the --textfile flag is input.
The Python and C++ tests now use the same targets.
_
to-
when calling flip.py (e.g.,python flip.py -r reference.exr -t test.exr --start_exposure 3
is nowpython flip.py -r reference.exr -t test.exr --start-exposure 3
; seepython flip.py -h
).pip
(runpip install -r requirements.txt .
from thepython
folder).FLIPToolHelpers.h
.evaluate()
function inFLIP.h
now takes two additional arguments:computeMeanError
andmeanError
. Furthermore, its list of arguments has been partly reordered.--histogram
flag.--textfile
flag is input.