syoyo / tinyexr

Tiny OpenEXR image loader/saver library
703 stars 138 forks source link

[Enhancement] Support spectral layout #163

Open syoyo opened 2 years ago

syoyo commented 2 years ago

Describe the issue

Support spectral image layout proposed by

An OpenEXR Layout for Spectral Images http://jcgt.org/published/0010/03/01/

Spectral images are getting popular, so built-in spectral layout support in TinyEXR is recommended.

Environment N/A

afichet commented 2 years ago

Hello,

I am very pleased that the TinyEXR project might be interested by such an odd image format.

In fact, TinyEXR is used in MRF and generated one of the renderings provided as an exemplar image in the supplemental: https://gitlab.inria.fr/pacanows/MRF/-/blob/master/libmrf/mrf_core/image/exr_spectral_image.cpp . This same code is used in Spectral Viewer (https://gitlab.com/mrf-devteam/spectral-viewer) in case OpenEXR library is not available on the host system.

Probably not the best piece of code. Also, not really sure how this could be easily accessible neatly threw TinyEXR without too much bloat but, pinging in there just in case questions arise.

Cheers.

syoyo commented 2 years ago

@afichet Awesome! We've also worked on fully-spectral monte carlo renderer(EXR and TIFF as a fileforma), and wanted (de-facto)standarized spectral format. Your proposed spectral layout looks promising.

https://gitlab.com/mrf-devteam/spectral-viewer

Good! FYI, you can use tinydngloader https://github.com/syoyo/tinydngloader for 32bit FP TIFF reading/writing(writer module is here: https://github.com/syoyo/tinydngloader/tree/master/examples/dngwriter )

afichet commented 2 years ago

Thanks for the recommendation! This will definitely comes handy. Great to know this also supports DNG, was getting recently interested by such format for some side projects.