DCMJP2K - DICOM JPEG 2000 Module

The DICOM JPEG2000 toolkit DCMJP2K consists of three components:

  • A C++ class library which implements DICOM JPEG 2000 support (compression / decompression),
  • an encoder application that converts DICOM images to DICOM JPEG 2000 transfer syntax and
  • a decoder application that decompresses DICOM JPEG 2000 images to an uncompressed transfer syntax

DCMJP2K supports two DICOM JPEG 2000 transfer syntaxes, that were integrated into the standard in 2001. JPEG 2000 allows for a better compression than the original "Standard JPEG" support in DICOM. Additionally, the internal structure of the JPEG 2000 format permits some powerful streaming features that can be accessed in DICOM, too (DICOM JPEG 2000 Interactive Protocol, not part of DCMJP2K).

The DCMJP2K class library integrates as a module into DCMTK. Encoder and decoder register themselves at the DCMTK codec registry just like other codecs, e. g. the dcmjpeg module. Thus, a few lines of code are sufficient to change the transfer syntax to JPEG 2000 or for decompression.

The two DCMJP2K applications work at the command line and allow for converting DICOM image files to JPEG2000 transfer syntax and vice versa.

Features in detail

The class library and command line applications provide the following features:

  • Lossless and Lossy JPEG 2000 compression for DICOM images
  • Tweaking of various compression parameters (compression ratio, quantization, ...)
  • Seamless integration into the DICOM Toolkit DCMTK
  • Automatic adaption of related DICOM attributes
  • Platform independent source code

Two of the DICOM JPEG 2000 transfer syntaxes are supported ("JPEG 2000 Image Compression (Lossless Only)" and "JPEG 2000 Image Compression").

Further details can be found in the online documentation for the tools DCMCJP2K and DCMDJP2K.

DCMJP2K is based on the OFFIS DICOM toolkit DCMTK and is available in different versions: There is a binary version as well as a source code variant. DCMJP2K supports several Unix dialects (e. g. Linux, Solaris and Mac OS X) as well as Windows.

This module is not freely available and must be licensed separately.