Small Code Footprint DICOM Image Loader Completed
Recent work involving medical images have motivated the implementation of a robust DICOM image reader. This work has now been completed resulting in one of the most complete open-source Java implementations of the DICOM specification. The implementation is capable of loading 8-bit grayscale, 8-bit color, 16-bit grayscale, and 24-bit color DICOM images where the image data may be uncompressed, run-length encoded, jpeg-lossless compressed, or jpeg-lossy compressed. Also of interest is the implementation of the spatial (sequential) lossless encoding mode (SOF3) of the ISO/IEC also known as JPEGL. Note that this IS NOT an implementation of JPEG-LS. It is an implementation of the original lossless JPEG coding scheme as specified in the ORIGINAL JPEG Internal Standards Organization (ISO) spec :
- ISO/IS-10918-1 (JPEG Part 1)
- ISO/IS-10918-2 (JPEG Part 2)
Whereas JPEG-LS is ISO spec ISO/IS-14495-1 (JPEG-LS Part 1).
I can find no easy-to-use, small-footprint, open-source Java implementation capable of decoding these streams at full resolution. Some nice things about the implementation is that it requires just a few new classes to run (approximately 6).
'll probably tack on support for JPEG-LS and JPEG2000 streams by hooking up the code to the Java Advanced Imaging (JAI) JPEG-LS and JPEG2000 decoders. JAI's homesite is here.
Some other java DICOM readers I have found online are :
ImageJ (Limited to 12-bit JPEG-lossless decoding) best general image coding / decoding alternative for those with ambitions to keep their software open.
DCM4CHE - Big footprint project with the apparent intent of implementing the whole DICOM spec (including network specifications).
There are also some non-free versions available :
For implementation, I have hacked the original code from the 90's written by the Independent JPEG Group (IJG) to generate a workable decoder necessary for doing medical image processing research.