Monday, August 20, 2012

pfstmo

Pfstmo is a great library of tone-mapping operators, maintained by Grzegorz Krawczyk and distributed under GNU GPL license.
I used four tmo's from it: photographic tonemapping (Reinhard et al.), gradient domain compression (Fattal et al.) and two operators by Rafal Mantiuk, who is also one of pfstmo developers.
Unfortunately, pfstmo is not supported on Windows, so I had to create the cmake file myself. You can fing pfstmo for Windows in my svn branch.
While trying to compile it from scratch you may encounter following errors:
- Arrays of variable length are present in C99, but not supported by MSVS. Replaced those with new/delete.
- You may encounter this error in Debug configuration:
Debug Assertion Failed dbgdel.cpp Line 52
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
 I have no idea about how it happens, but it is solved by deleting theese two lines tmo_mantiuk08.cpp:
958: delete csf_lut;
959: delete skip_lut;

- Mantiuk'08 operator also requires libgsl. You can find it here.
- Fattal's operator can use fftw for fast Fourier transformation. It is also required for Durand's bilateral filter operator. I did not use it.

No comments:

Post a Comment