For an EPI dataset, there is slice timing information in the .HEAD file. However, I couldn’t find similar information in the header read by dicom_hdr from the raw dicom file (in case it is relevant, I have only one *.IMA file per volume).
So how does to3d determine the slice order (i.e., based on which item in the dicom header)? Is this information reliable if given?
It needs to be correctly given to to3d (except in the case of
FROM_IMAGE, where it is read from a siemens mosaic).
The ‘tpattern’ parameter is required when creating time
dependent datasets, so to3d is not trying to guess from
the DICOM images.
What to3d command was run on your images?
Actually, I use Dimon to read dicom files, though I know Dicom uses to3d internally to do the job.
Now I understand that the slice timing info must be either:
- inferred somehow by Dimon and passed to to3d as tpattern
- inferred by to3d itself if FROM_IMAGE is given as tpattern
Could you explain how does Dimon or to3d infer the tpattern from raw dicom files? Is it somewhere in the dicom header? Is the inference reliable?
BTW, we use Siemens scanner, if relevant.
Dimon uses alt+z as a default, since that has been
by far the most common timing pattern, but it
generally cannot tell from the DICOM files. The
user can specify something else via -sp.
The case where Dimon CAN usually tell is with Siemens
mosaic images. If Dimon reports a mosaic and uses
FROM_IMAGE in to3d, then the slice timing is most
likely accurate and coming from the DICOM images.
Is that the case for you?