Dcm2nii: Problem with slice-timing metadata extraction

Although not ideal, one approach for this issue is to check-up on the following DICOM fields:

  • (0020,1002) ImagesInAcquisition (number of all slices per each volume)
  • (0020,9057) InStackPositionNumber (number of particular slice in particular volume)
  • (0020,0013) InstanceNumber (number of particular slice in the whole acquisition)
  • (0020,1041) SliceLocation (self explanatory)

From the above - all the necessary information on the volume/slice acquisition regime can be deduced and verified…

A toy-example:

  • ImagesInAcquisition
    [ 44, 44, 44, ..., 44 ]
  • InStackPositionNumber
    [ 1, 2, ..., 44, 1, 2, ..., 44, ..., 44 ]
  • InstanceNumber
    [ 1, 2, 3, ..., 19800 ]
    (For a 15 mins scan with TR=2 and 44 slices/volume)
  • SliceLocation
    [ 52.3353, 49.1677, ... -83.8686, 52.3353, 49.1677, ... -83.8686, ..., -83.8686 ]
    (For a top-down and non-interleaved acquisition)

Based on the above the vector containing slice-timing can be prepared and populated in the data.

Obviously this approach is not straight-forward and it would be nicer to have it imported directly from DICOM files… :confused:

Another example attached below