Compressing Parametric Map Instances with FloatPixelData

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
David_F
Posts: 9
Joined: Mon, 2017-08-07, 16:06

Compressing Parametric Map Instances with FloatPixelData

#1 Post by David_F »

Hello,

is there any recommended Compression-TransferSyntax different from Deflated Transfer Syntax that can be used for compressing Parametric Map Instances with FloatPixelData attribute set (BitsAllocated=32 or even 64)? JPEG is not possible in this case I assume.

(Note: dcmcjpeg +e1 with a Float Parametric Map instance as input file returns an output file with JPEG Lossless Transfer Syntax but with identical file size/content as the import file..)

Many thanks,
David

Michael Onken
DCMTK Developer
Posts: 2048
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: Compressing Parametric Map Instances with FloatPixelData

#2 Post by Michael Onken »

Hi David,

there is no other transfer syntax that I know of. JPEG can only handle up to 16 bit. All image compression schemes in DICOM only apply (per definition) to the DICOM Pixel Data element. Thus, Deflated as the only transfer syntax that applies to all data elements, is the only possible choice.

Best,
Michael

David_F
Posts: 9
Joined: Mon, 2017-08-07, 16:06

Re: Compressing Parametric Map Instances with FloatPixelData

#3 Post by David_F »

Hi Michael,

I thought so as well, thanks for the answer. But in principle 16-Bit integer Parametric Map Instances could be encoded in JPEG, right? If this was the case this would mean that there are Parametric Maps that can be JPEG compressed and others not depending on the way the DICOM Parametric Map instance looks like.

Best wishes,
David

Michael Onken
DCMTK Developer
Posts: 2048
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: Compressing Parametric Map Instances with FloatPixelData

#4 Post by Michael Onken »

You made me re-think this issue again, since the parametric map data actually *is* in Pixel Data (I got confused with Tractography which I also implemented some time ago) and might use 16 bit integer (as you denote). So I'm not a 100% sure. In the DCMTK Parametric Map implementation I allowed Deflated and RLE (i.e. only lossless compression) when reading Parametric Map Objects. JPEG Lossless is missing in that list, as well as JPEG 2000 and JPEG-LS lossless, and all lossy transfer syntaxes. I think there was a discussion in the QIICR project when doing this implementation. I probably should check back with David and Andrey, if you don't mind.

Best regards,
Michael

J. Riesmeier
DCMTK Developer
Posts: 2501
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: Compressing Parametric Map Instances with FloatPixelData

#5 Post by J. Riesmeier »

Note: dcmcjpeg +e1 with a Float Parametric Map instance as input file returns an output file with JPEG Lossless Transfer Syntax but with identical file size/content as the import file..
This seems to be a bug in the DCMTK. According to PS3.5 Section 8.2:
Pixel Data conveyed in the Float Pixel Data (7FE0,0008) or Double Float Pixel Data (7FE0,0009) shall be in a Native (uncompressed)​
Format if encoded in a Standard Transfer Syntax.​

Note​
1.​
In future, if Standard Transfer Syntaxes are defined for compression of Float Pixel Data (7FE0,0008) or Double Float​
Pixel Data (7FE0,0009), this constraint may be relaxed and Encapsulated Format permitted.​
And in Section 8.4 (Transfer Syntaxes For Encapsulation of Encoded Pixel Data​):
These Transfer Syntaxes apply to the encoding of the entire DICOM Data Set, even though the image Pixel Data (7FE0,0010) portion​
of the DICOM Data Set is the only portion that is encoded by an encapsulated format. These Transfer Syntaxes shall only be used​
when Pixel Data (7FE0,0010) is present in the top level Data Set, and hence shall not be used when Float Pixel Data (7FE0,0008)​
or Double Float Pixel Data (7FE0,0009) are present.

David_F
Posts: 9
Joined: Mon, 2017-08-07, 16:06

Re: Compressing Parametric Map Instances with FloatPixelData

#6 Post by David_F »

Thanks, for all the answers. One conclusion I want to point out though: During an association negotation of Parametric Map between SCU and SCP one should not choose the JPEG Transfer Syntax (although that would work in combination with the regular integer Pixel Data attribute). Since at the time of negotiation one probably doesn't know the actual encoding of the instances to be transferred (is it integer or float).

David

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 1 guest