Task #4110 (closed)
Opened 14 years ago
Closed 6 years ago
Add support for writing lossless JPEGs
Reported by: | mlinkert | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | Unscheduled |
Component: | Bio-Formats | Version: | OMERO-5.2.0 |
Keywords: | export, codec | Cc: | prashant.chandrakar@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description (last modified by mlinkert)
Lossless JPEG allows for up to 16 bits per pixel; we should update JPEGWriter to write lossless JPEGs when 16-bit images are encountered.
However, since lossless JPEG is not supported by many applications, the default behavior should be to throw an exception when attempting to save a 16-bit JPEG. We can then have a method to toggle whether or not the writer should save 16-bit images (e.g. setAllow16BitLossless(boolean)).
Change History (5)
comment:1 Changed 13 years ago by jmoore
comment:2 Changed 12 years ago by mlinkert
- Description modified (diff)
- Milestone changed from OMERO-Beta4.4 to Unscheduled
comment:3 Changed 11 years ago by mlinkert
- Keywords export added
comment:4 Changed 8 years ago by mlinkert
- Keywords codec added
- Owner mlinkert deleted
- Version set to OMERO-5.2.0
http://stackoverflow.com/questions/17187880/how-to-achieve-jpeg-lossless is probably relevant, but I'd also be OK with closing this as wontfix given the poor uptake of JPEG-LS (especially compared with lossless JPEG-2000, which we do support).
comment:5 Changed 6 years ago by mlinkert
- Resolution set to needfunding
- Status changed from new to closed
As far as I can tell, there is no existing Java library to do this across all supported platforms. JAI 1.1.2 out of the box does not register a lossless JPEG writer on my local Linux system. Obvious projects flagged for watching via Trello also do not appear to support lossless or JPEG-LS writing:
https://trello.com/c/CPmTdR4c/170-commons-imaging
https://trello.com/c/mRmYOib8/205-twelvemonkeys-imageio
The closest I can find to a working open source library is https://github.com/team-charls/charls, which is in C++. Unless any better ideas, I assume this would require a project similar to what was done for JPEG-XR via jxrlib, which requires significant interest and funding.
imported from bio-formats:#376