rii-mango / JPEGLosslessDecoder

A JPEG Lossless decoder.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JPEGLosslessDecoder

A common DICOM compression format is JPEG Lossless. This format is generally not supported in standard JPEG decoder libraries.

This decoder can read data from the following DICOM transfer syntaxes:

  • 1.2.840.10008.1.2.4.57 JPEG Lossless, Nonhierarchical (Processes 14)
  • 1.2.840.10008.1.2.4.70 JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])

Usage (raw stream)

JPEGLosslessDecoder decoder = new JPEGLosslessDecoder(compressedBytes);

// single component
int[] decompressedData = decoder.decode()[0];  

// rgb components
final int[][] decompressedData = decoder.decode();
final int[] redData = decompressedData[0];
final int[] greenData = decompressedData[1];
final int[] blueData = decompressedData[2];

Usage (BufferedImage)

JPEGLosslessDecoderWrapper decoder = new JPEGLosslessDecoderWrapper();

//currently supports 24 bit rgb, 16 & 8 bit grayscale
BufferedImage image = decoder.readImage(compressedBytes);

Building

ant build.xml

Acknowledgments

This decoder was originally written by Helmut Dersch. I added support for selection values 2 through 7, contributed bug fixes and code cleanup.

About

A JPEG Lossless decoder.

License:MIT License


Languages

Language:Java 100.0%