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

Make sure desired build-time/system-level dependencies are available and working in the docker container for images (pictures). #5

Open
kaladay opened this issue Sep 20, 2024 · 0 comments
Labels
story A user story or similar.

Comments

@kaladay
Copy link

kaladay commented Sep 20, 2024

The processor.selection_strategy = AutomaticSelectionStrategy setting is supposed to make the best decision in general based on formats.

There are some built-time/system-level dependencies that must be resolved for this to work with some of the recommended formats.

The TurboJPEG is recommended against and is only recommended as a last resort according to the Cantaloupe documentation. (This is only supported via libjpeg-turbo for only version 2.0.2 where other versions even newer are not supported.)

The Kakadu is supposed to be really fast but is proprietary and requires licensing (and also build-time/system-level dependencies).

The OpenJPEG is considered a good alternative to Kakadu that is not proprietary but also requires built-time/ssytem-level dependencies.

JDK's processing of a TIFF is strict and may fail on non-compliant TIFFs.
OpenJPEG, Kakadu, and Grock may better handle non-compliant TIFFs as well as more features of a TIFF.

OpenJpegProcessor uses the OpenJPEG codec, which is one of the fastest open-source JPEG2000 codecs.

To use this processor, OpenJPEG must be installed. The OpenJPEG binaries will automatically be detected if they are on the path; otherwise, set the OpenJpegProcessor.path_to_binaries configuration key to the absolute path of the containing directory. The LD_LIBRARY_PATH environment variable will also need to be set to locate the OpenJPEG shared library.

We may want to consider GROK as well:

To use this processor, Grok must be installed. The Grok binaries will automatically be detected if they are on the path; otherwise, set the GrokProcessor.path_to_binaries configuration key to the absolute path of the containing directory. The LD_LIBRARY_PATH environment variable will also need to be set to locate the Grok shared library.

A reason not to use Grok:

see: https://cantaloupe-project.github.io/manual/5.0/processors.html#Supported%20Source%20Formats
see: https://cantaloupe-project.github.io/manual/5.0/processors.html#Supported%20Features
see: https://cantaloupe-project.github.io/manual/5.0/processors.html#OpenJpegProcessor
see: https://cantaloupe-project.github.io/manual/5.0/processors.html#KakaduNativeProcessor
see: #2
see: #3

@kaladay kaladay added the story A user story or similar. label Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
story A user story or similar.
Projects
None yet
Development

No branches or pull requests

1 participant