Skip to content

Commit

Permalink
Final commit for v1.4
Browse files Browse the repository at this point in the history
- Changed the Python version of ꟻLIP so that it leverages the C++ code through [pybind11](https://github.com/pybind/pybind11).
	- Results (only evaluation, not including file load/save, etc; measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors):
		- 20-47x faster for LDR/HDR CPU.
		- Timings for 1920x1080 images:
			- Python/LDR: 77 ms
			- Python/HDR: 1007 ms
	- **NOTE**: The Python version can currently _not_ run the CUDA version of ꟻLIP (see issue [#22](#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.
- **NOTE**: The median computation (used for automatic start and stop expsoure computations in HDR-ꟻLIP) in the C++/CUDA code has been changed, sometimes causing a minor change in results but always resulting in a significant speedup. The tests have been updated following this change.
  - Timings for 1920x1080 images (only evaluation, not including file load/save, etc, *but* measured with another GPU and including more code than the numbers presented in the v1.2 update, so the numbers are not directly comparable; measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors and an NVIDIA RTX 4090 GPU):
    - CPP/LDR: 86 ms
    - CPP/HDR: 1179 ms
    - CUDA/LDR: 8 ms
    - CUDA/HDR: 131 ms
- 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.
  • Loading branch information
Pontus Ebelin committed Apr 9, 2024
1 parent bef9a85 commit 0349494
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 14 deletions.
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
![Teaser image](images/teaser.png "Teaser image")

# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.3)

**NOTE**: we are working on a new version of FLIP, namely v1.4, but we screwed up a bit, so please use this commit `d3f25e6` (v1.3 with some fixes) until the title on this page says (v1.4).
# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.4)

By
[Pontus Ebelin](https://research.nvidia.com/person/pontus-ebelin),
Expand Down
6 changes: 3 additions & 3 deletions cpp/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.3)
# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.4)
By
[Pontus Ebelin](https://research.nvidia.com/person/pontus-ebelin),
Jim Nilsson,
Expand Down Expand Up @@ -125,9 +125,9 @@ Invoking HDR-FLIP
FLIP between reference image <reference.exr> and test image <test.exr>:
Mean: 0.283478
Weighted median: 0.339430
1st weighted quartile: 0.251123
1st weighted quartile: 0.251122
3rd weighted quartile: 0.434673
Min: 0.003118
Min: 0.003123
Max: 0.962022
Evaluation time: <t> seconds
```
Expand Down
14 changes: 10 additions & 4 deletions misc/versionList.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,22 @@ changed for the different versions of ꟻLIP:

# Version 1.4 (commit nnnnnnn)
- Changed the Python version of ꟻLIP so that it leverages the C++ code through [pybind11](https://github.com/pybind/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).
- Results (only evaluation, not including file load/save, etc; measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors):
- 20-47x faster for LDR/HDR CPU.
- Timings for 1920x1080 images:
- Python/LDR: 81 ms
- Python/HDR: 1370 ms
- Python/LDR: 77 ms
- Python/HDR: 1007 ms
- **NOTE**: The Python version can currently _not_ run the CUDA version of ꟻLIP (see issue [#22](https://github.com/NVlabs/flip/issues/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.
- **NOTE**: The median computation (used for automatic start and stop expsoure computations in HDR-ꟻLIP) in the C++/CUDA code has been changed, sometimes causing a minor change in results but always resulting in a significant speedup. The tests have been updated following this change.
- Timings for 1920x1080 images (only evaluation, not including file load/save, etc, *but* measured with another GPU and including more code than the numbers presented in the v1.2 update, so the numbers are not directly comparable; measured on an AMD Ryzen Threadripper 3970X 32-Core Processor, 3693 MHz, with 32 Cores and 64 Logical Processors and an NVIDIA RTX 4090 GPU):
- CPP/LDR: 86 ms
- CPP/HDR: 1179 ms
- CUDA/LDR: 8 ms
- CUDA/HDR: 131 ms
- 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.
Expand Down
6 changes: 3 additions & 3 deletions python/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.3)
# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.4)
By
[Pontus Ebelin](https://research.nvidia.com/person/pontus-ebelin),
Jim Nilsson,
Expand Down Expand Up @@ -106,9 +106,9 @@ Invoking HDR-FLIP
FLIP between reference image <reference.exr> and test image <test.exr>:
Mean: 0.283478
Weighted median: 0.339430
1st weighted quartile: 0.251123
1st weighted quartile: 0.251122
3rd weighted quartile: 0.434673
Min: 0.003119
Min: 0.003123
Max: 0.962022
Evaluation time: <t> seconds
```
Expand Down
2 changes: 1 addition & 1 deletion pytorch/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.3)
# ꟻLIP: A Tool for Visualizing and Communicating Errors in Rendered Images (v1.4)
By
[Pontus Ebelin](https://research.nvidia.com/person/pontus-ebelin),
Jim Nilsson,
Expand Down

0 comments on commit 0349494

Please sign in to comment.