questions > dcm2niix does not convert mosaic DTI to 4D nifti file
Showing 1-5 of 5 posts
Display:
Results per page:
Feb 25, 2019  09:02 AM | jess_a
dcm2niix does not convert mosaic DTI to 4D nifti file
Hello,

I've found a few DTI data sets (mosaic format) that convert to 4D nifti file with dcm2nii and only to a 3D nifti file with dcm2niix.

I'm getting the following warnings when running dcm2niix:

Warning: 0008,0008=MOSAIC but number of slices not specified
Warning: all images appear to be a single slice - please check slice/vector orientation
Warning: Check that 2D images are not mirrored.

This data comes from Siemens Prisma_fit and Skyra if that's of any use. The converted image is a collection of 2D slices same as original mosaic.
No warnings appears when running dcm2nii and the images get converted to a 4D stack, as expected.
I did notice however that the header is missing a tag family of 0019 and 0029, which could potentially explain dcm2niix behaviour, still though don't understand how dcm2nii handles that. I have attached a sample dcm file. Would be super grateful if somebody could look at it.

Many thanks in advance!
Feb 25, 2019  10:02 AM | Chris Rorden
RE: dcm2niix does not convert mosaic DTI to 4D nifti file
This sounds like a duplicate of issue 275. I suspect an overly aggressive anonymization has removed the critical CSA Image Header Info (0029,1010). Without 0029,1010 not only can you not correctly convert mosaics, but crucial details like gradient direction, slice timing, and phase encoding polarity are lost. dcm2nii is simply guessing at the matrix size, while dcm2niix is correctly alerting you that vital data has been discarded.
Feb 26, 2019  03:02 AM | jess_a
RE: dcm2niix does not convert mosaic DTI to 4D nifti file
Thank you! Any chance you could elaborate on how dcm2nii is guessing the matrix size? I've got quite a few mosaic data sets that were converted with dcm2nii so wonder how many of those are/ could be wrong.
Feb 26, 2019  04:02 AM | Chris Rorden
RE: dcm2niix does not convert mosaic DTI to 4D nifti file
Consider a DICOM header (as viewed with dcmdump) with:
(0018,1310) US 108\0\0\108 # 8, 4 AcquisitionMatrix
(0028,0010) US 972 # 2, 1 Rows
(0028,0011) US 972 # 2, 1 Columns
In this case, one can infer that the image is a 9x9 mosaic. However, one does not know the number of slices that are filled. For modern Siemens equipment a 9x9 matrix is generated for any volume with 73..81 slices (e.g. 8x9 is the next smaller mosaic). With older Siemens equipment a 9x9 matrix would be generated for any volume with 65..81 slices (e.g. 8x8 is the next possible mosaic). The old dcm2nii guessed that the mosaic was completely filled, e.g. 81 slices. If it guess wrong you will have a poor starting estimate for coregistration.


dcm2niix can infer the number of images in the mosaic either from the CSA header or from 0019,100a
  http://nipy.org/nibabel/dicom/siemens_csa.html
If you want to let dcm2niix minimally handle your data you could add the 0019,100A tag into your datasets - the VR should be "US" (unsigned short)
http://dicom.nema.org/dicom/2013/output/...
e.g.
(0019,100a) US 81
https://stackoverflow.com/questions/4176...

However, without a proper CSA header the resulting BIDS sidecar would still be impoverished. For rich meta data and archival quality DICOM images you really want the CSA header. Once upon a time there was a buffer overflow bug that allowed private data to leak into the CSA header. I think this is fixed now, but you would want to make sure privacy is protected if you publicly share DICOM images with the CSA header. Personally, we keep raw DICOMs with all the private tags for our internal archives and share BIDS format NIfTI with others.
Feb 27, 2019  03:02 AM | jess_a
RE: dcm2niix does not convert mosaic DTI to 4D nifti file
Great, many thanks!