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

Consolidate pixel data plugins #1855

Open
mrbean-bremen opened this issue Aug 1, 2023 · 1 comment
Open

Consolidate pixel data plugins #1855

mrbean-bremen opened this issue Aug 1, 2023 · 1 comment

Comments

@mrbean-bremen
Copy link
Member

As stated elsewhere, we do not really need the Pillow pixel data handler anymore, now that pygdcm is easily installable, and we have the pylibjpeg plugins.
I would go even further and say that we may solely rely on the pylibjpeg plugins as soon as they implement all needed transfer syntaxes (e.g. not less than GDCM).

What we need for this is a functioning libjpeg-turbo plugin as an alternative to the GPL-licensed libjpeg plugin, and if it does not implement JPEG-LS (I'm not sure), convert pylibjpegls to a pylibjpeg plugin, otherwise retire it.

The advantage is that these are in our control (don't have to hunt bugs in Pillow and GDCM) and we have a unified handling of all plugins.
The disadvantage is that these are in our control (e.g. we have to maintain them). There may also be some advantage (feature or performance-wise) in Pillow or GDCM that I don't see at the moment (the handling of in-memory datasets in GDCM?)

This is at the moment more of a discussion issue, but I wanted to hear other opinions on this...

@darcymason
Copy link
Member

...we do not really need the Pillow pixel data handler anymore
...we may solely rely on the pylibjpeg plugins

I think that is reasonable.

What we need for this is a functioning libjpeg-turbo plugin as an alternative to the GPL-licensed libjpeg plugin

Well, the build of the library is working, and PyTurboJPEG can find it, so I just need to get around to properly connecting the draft decode/decode_pixel_data functions.

There may also be some advantage (feature or performance-wise) in Pillow or GDCM that I don't see at the moment (the handling of in-memory datasets in GDCM?)

From a technical viewpoint, I don't see any reason the plugins would be prevented from using something in the underyling libraries, so they could be adapted to new features, if we have the time.

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

No branches or pull requests

3 participants