NOTICE! This is a static HTML version of a legacy LOCI Software ticket.

LOCI projects are now located on GitHub. The Bio-Formats project can be found here.

Ticket #322 (closed task: fixed)

Opened 2008-10-01T09:00:23-05:00

Last modified 2009-03-20T15:07:24-05:00

Eliminate native library dependencies

Reported by: melissa Owned by: melissa
Priority: critical Milestone:
Component: bio-formats Severity: serious
Keywords: Cc:
Blocked By: Blocking:


Bio-Formats currently depends on two native libraries for reading lossless JPEG and JPEG2000. We need to find a way to support these formats using pure Java. At best, this probably means modifying JAI ImageIO.

Change History

comment:1 Changed 2008-12-30T11:57:29-06:00 by melissa

  • Milestone set to bio-formats-4.0.0

comment:2 Changed 2009-01-06T08:33:00-06:00 by melissa

Eclipse ( contains a pure Java port of libjpeg (, which supports lossless JPEG images. We should consider using this existing port, if licensing permits.

comment:3 Changed 2009-02-26T20:08:42-06:00 by melissa

  • Milestone bio-formats-4.0.0 deleted

Upon further investigation, the JPEG code in Eclipse SWT does not support lossless JPEGs. I tried several other open-source image libraries (including JMagick, Sanselan, and Helmut Dersch's JPEGDecoder) without any luck.

A brief glance at the specification for lossless JPEG indicates that it would not be too onerous to implement our own decoder - it certainly seems less complex that supporting lossy JPEG. However, this would take some time (a week?), and so is not feasible for the 4.0 release.

comment:4 Changed 2009-03-20T15:07:24-05:00 by melissa

  • Status changed from new to closed
  • Resolution set to fixed

(In [4931]) * Initial version of lossless JPEG decoder. Closes #322.

  • Moved Huffman decoding logic out of NikonCodec and into its' own class.