JPEG 2000 Part 2 and Multicomponent images

I’m attempting to generate test DICOM data in all the supported transfer syntaxes that PACS systems could send to a service consuming DICOM:

Two of them are the Lossless and Lossy versions of the JPEG 2000 Part 2 Multicomponent Image Compression:

  • 1.2.840.10008.
  • 1.2.840.10008.

I’m using gdcmconv to convert datasets from one syntax to the next. Those transfer syntaxes are not listed in GDCM’s conformance summary (not even under the Unsupported section, I don’t know if this page is official or up to date):

I can see that the JPEG2000Codec has references to Part 2 transfer syntax, though it’s not going to go far with this implementation! :grin:

Even if GDCM does not support JPEG Part 2 Multicomponent, I’d like to understand that format better. This is what came up with some Googling around:

  • This wiki page from GDCM mentions its support as a potential Summer of Code project
  • Those slides seem to associate Part 2 multicomponent with multi-frame / 3d images
  • .jpx would be the extension for the Part 2 specifications
  • it’s associated with ISO/IEC 15444-2

defines a set of lossless (bit-preserving) and lossy compression methods for coding continuous-tone, bi-level, grey-scale, colour digital still images, or multi-component images.

In conclusion: does anyone have experience with JPEG 2000 Part 2 encoding, and could clarify its use? What does it mean by multicomponent, and could it be used for single frame as well as multi frames images/dicom objects?

Thank you

1 Like

I assume that multi-component means RGB(A) or other vector pixels (motion velocity vector? complex amplitude+phase MRIs? something else?).

I have not dealt with such low-level DICOM stuff as transfer syntaxes. I know that GDCM does not support JPEG2000, at least not fully.

Part 2 are extensions, GDCM claims to support for decode/code, not sure, files with these transfer syntax are rare. CC @mathieu.malaterre
Also s. related post comp.protocols.dicom

1 Like

GDCM support all of JP2/Part1, and a subset of Part2 (basically MCT), thanks to OpenJPEG.

Original thread for reference:

Yes OpenJPEG (since ~1.5.x) do support MCT. Pay attention that most of Part 2 is not implemented in OpenJPEG so I would generate an MCT dataset using OpenJPEG just to be sure (Kakadu may use some other stuff from Part 2).

1 Like