Latest CTP DicomDecompressor stage mangles DICOM where pixeldata (7fe0,0010) is a sequence

31 views
Skip to first unread message

luuk_o...@hotmail.com

unread,
Dec 6, 2024, 6:15:57 AM12/6/24
to RSNA MIRC CTP/TFS User Group

The DicomDecompression stage of the latest CTP version will erroneously leave an 8-byte sequence delimiter in a DICOM file, making the file unreadable.

Symptom:
Processed DICOM cannot be opened by many dicom readers due to invalid formatting. For instance, Offis dcmdump yields:

E: DcmItem: Parse error in sequence item, found (fffe,e0dd) instead of item delimiter (fffe,e00d)
E: dcmdump: Item Delimitation Item missing: reading file: processed_dicom

Cause:
The direct cause of the symptom is that the last 8 bytes in the file should not be there. They encode the DICOM sequence termination item
fffe,e0dd. The exact byte sequence in hex is ff fe e0 dd 00 00 00 00. This byte sequence should have been removed but it has not.

The underlying issue is somewhere in the DicomDecompression step of CTP. The original data contains a sequence pixeldata element:

(7fe0,0010) OB (PixelSequence #=2)                      # u/l, 1 PixelData  
    (fffe,e000) pi (no value available)                     #   0, 1 Item  
    (fffe,e000) pi ff\d8\ff\e0\00\0f\4c\4a\49\46\00\01\00\00\00\00\00\00\00\ff\fe\00... # 2389062, 1 Item
(fffe,e0dd) na (SequenceDelimitationItem)               #   0, 0 SequenceDelimitationIte 
This sequence is properly terminated with a SequenceDelimitationItem (fffe,e0dd). After decompression, the sequence is removed, but the SequenceDelimitationItem is not: 
(7fe0,0010) OW f800\f800\f800\f800\f800\f800\f800\... # 524288, 1 PixelData
<after pixeldata, file should end, but instead there is a dangling fffe,e0dd sequence>

Extent:
This bug is present in the following CTP version

This computer's Java Version:       1.8.0_421
This computer's Java Data Model:    32 bits
CTP Java Version:       1.8CTP
Date:   2024.03.28 at 09:09:05 CDT
Utility Library Java Version:       1.8
Utility Library Date:   2024.02.19 at 16:18:25 CST
ImageIO Tools Version:  1.1

The bug is NOT present in this CTP version:
2022.03.26 at 11:21:47 CD

All our systems are currently downgraded to the older CTP version to be able to process our data. Is this bug something that can be fixed in java CTP?

Reply all
Reply to author
Forward
0 new messages