-
Notifications
You must be signed in to change notification settings - Fork 256
Description
Hi, we have lately been receiving enhanced DICOM from a Siemens XA60 site where the locations of some fields have moved from their customary top level addresses to inside nested sequences. Unfortunately dcm2niix is not noticing them there, and they are missing from the produced BIDS files.
Example:
(5200, 9229) Shared Functional Groups Sequence
(0018, 9112) MR Timing and Related Parameters Sequence 1 item(s) ----
(0018, 0080) Repetition Time DS: '4800.0'
(0018, 0091) Echo Train Length IS: '243'
(0018, 1314) Flip Angle DS: '120.0'
---------
...
(0018, 9115) MR Modifier Sequence 1 item(s) ----
...
(0018, 9079) Inversion Times FD: 1550.0
(0018, 9081) Partial Fourier CS: 'YES'
If I unenhance with dcuncat, everything from (5200, 9229) gets moved out of it, and dcm2niix puts them in the BIDS, so I can make a diff and see the "missing" fields:
ImagingFrequency
ScanningSequence
SequenceVariant
ScanOptions
ImageComments
TablePosition
RepetitionTime
MTState
SpoilingState
InversionTime
FlipAngle
CoilString
PercentPhaseFOV
PercentSampling
EchoTrainLength
PartialFourierDirection
PhaseEncodingSteps
FrequencyEncodingSteps
PhaseEncodingStepsOutOfPlane
ParallelReductionFactorInPlane
ParallelAcquisitionTechnique
PixelBandwidth
InPlanePhaseEncodingDirectionDICOM
This is not happening for all Siemens XA60 sites sending enhanced DICOM, and we do not know why this site is different. However, the behavior of moving something to inside (5200, 9229) Shared Functional Groups Sequence seems like something much more likely for a scanner manufacturer to do than a PACS or other downstream modifier, which tend to not write in enhanced format. I noticed issue:380, but this seems to be new behavior for Siemens XA. Unfortunately the X Protocol is absent, so I cannot find the software subversion, but I suspect it changed in September.
I would like dcm2niix to also check for kInversionTimes, etc. inside nested sequences (or at least (5200, 9229) ones) so that we would not have to unenhance. I see where the "d" structure is updated around nii_dicom.cpp:6122, but do you have any advice on generalizing it to include nested sequences?
dcm2niix versions:
v1.0.20251017 (JP2:OpenJPEG) (JP-LS:CharLS) GCC8.5.0 x86-64 (64-bit Linux) (git pulled from development a few minutes ago)
v1.0.20240327
Thanks,
Rob