Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write pure julia implementation #10

Closed
twadleigh opened this issue Aug 2, 2021 · 1 comment
Closed

Write pure julia implementation #10

twadleigh opened this issue Aug 2, 2021 · 1 comment

Comments

@twadleigh
Copy link
Owner

twadleigh commented Aug 2, 2021

https://www.openexr.com/documentation/openexrfilelayout.pdf describes the OpenEXR file format. There is one major caveat, though. The document is descriptive only:

Note: This document does not define the OpenEXR file format. OpenEXR is defined as the file format that
is read and written by the IlmImf open-source C++ library. If this document and the IlmImf library disagree,
then the library takes precedence.

Parallel to the openexr repository which hosts the source code of the IlmImf library that defines the OpenEXR format is a repository of test images that can be used to test image loading capabilities.

The timestamps on the bulk of the test files are from 2012, while the date in the file layout doc is from 2013. This suggests:

  1. the file format is stable;
  2. the description document is up to date.

These suggest that, while not technically definitive, the layout doc ought to be a reliable source for defining an implementation.

@twadleigh
Copy link
Owner Author

Alas, this is not really feasible. Many of the compression algorithms supported by the OpenEXR format are only implemented in the canonical library. Including the piz compression, which is the second most popular form of compression among the images in the openexr-images repository.

The only remaining feasible path forward to having an interface richer than the existing C API is to consider creating a richer interface via CxxWrap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant