dcm2niix_afni and slice timing correction

Hello all,

After running the program dcm2niix_afni with this command : dcm2niix_afni *, I realized that the offset in slice acquisition time are set to 0 (3dinfo -slice_timing dset+tlrc). Is this really the case that the timing offset has been corrected? I don’t see any info about that in the dcm2niix_afni documentation. Then, when I run 3dvolreg with the -tshift flag the program says the dataset has no time offset.

Also, I noticed that the dcm2niix_afni program keeps running and outputs many more datasets appending a, b, c, d…to the filename :
found 195 DICOM image(s)
slices stacked despite varying acquisition numbers (if this is not desired please recompile)
Note: rare 16-bit UNSIGNED integer image. Older tools may require 32-bit conversion
Convert 195 DICOM as test_20170626150037_cmrr_mbep2d_bold_195_5 (96x96x63x195)
Found 195 DICOM image(s)
slices stacked despite varying acquisition numbers (if this is not desired please recompile)
Note: rare 16-bit UNSIGNED integer image. Older tools may require 32-bit conversion
Convert 195 DICOM as test_20170626150037_cmrr_mbep2d_bold_195_5a (96x96x63x195)
Found 195 DICOM image(s)
slices stacked despite varying acquisition numbers (if this is not desired please recompile)
Note: rare 16-bit UNSIGNED integer image. Older tools may require 32-bit conversion
Convert 195 DICOM as test_20170626150037_cmrr_mbep2d_bold_195_5b (96x96x63x195)
Found 195 DICOM image(s)
slices stacked despite varying acquisition numbers (if this is not desired please recompile)
Note: rare 16-bit UNSIGNED integer image. Older tools may require 32-bit conversion
Convert 195 DICOM as test_20170626150037_cmrr_mbep2d_bold_195_5c (96x96x63x195)

thanks for your help,
pat

Hi Pat,

Most likely, the timing is unknown from the files. Most DICOM files
do not have reliable slice timing information in them. Do you know
what the slice timing should be? If so, it can be added to the output
datasets.

  • rick

Hello Rick,

  1. You seem to suggest I compute “manually” the timing offset instead of obtaining it via the dicom_hdr -slice_times of a DICOM file?

  2. I’m not sure what to do after computing those times Should I put it back in the header with the @slice_times.txt in to3d and then use 3dTshift with the -tpattern @slice_times.txt option to actually time shift the timeseries?

  3. Is there a way to input those times offset into a NIFTI file or is it possible only into an afni format (header file)?

thanks for you help Rick
pat

Hi Rick,

I found out about the offsets.
You seem to recommend I compute those times myself instead of taking them from the DICOM files?
How do I put that info back into the dataset ?

pat

That depends, what does “dicom_hdr -slice_times” actually show?
Is it useful? Are these Siemens mosaic images?

The problem is usually that they are not usually even in the Dicom files.
But if they are for you, then perhaps you can get them. Can you provide
some information about these things?

  • rick

Rick,

We have a Siemens scanner and these are the DICOM
We had TR=1.5 sec, 63 slices and MB=3.
This is what dicom_hdr -slice_times" returns:
– Siemens timing (63 entries): 0.0 775.0 70.0 845.0 142.5 917.5 212.5 987.5 282.5 1057.5 352.5 1127.5 422.5 1197.5 492.5 1270.0 565.0 1340.0 635.0 1410.0 705.0 0.0 775.0 70.0 845.0 142.5 917.5 212.5 987.5 282.5 1057.5 352.5 1127.5 422.5 1197.5 492.5 1270.0 565.0 1340.0 635.0 1410.0 705.0 0.0 775.0 70.0 845.0 142.5 917.5 212.5 987.5 282.5 1057.5 352.5 1127.5 422.5 1197.5 492.5 1270.0 565.0 1340.0 635.0 1410.0 705.0

I guess I could also calculate them manually but these seem quite accurate.

I’m not sure what to do after computing those times Should I put it back in the header with the @slice_times.txt in to3d and then use 3dTshift with the -tpattern @slice_times.txt option to actually time shift the timeseries?

Any other viable options?

Thanks Rick

In general, I use Dimon -gert_create_dataset to make one
from Dicom files, and that would include the slice timing from
the headers. I am not an expert on dcm2niix.

If you want to do it after the fact, maybe it would be easiest
to use 3dTcat with -tpattern @slice.times.txt, say.

  • rick

Just to add more options, there are several threads discussing slice timing info in or missing from the header of NIFTI and AFNI datasets:

https://afni.nimh.nih.gov/afni/community/board/read.php?1,156143,156143#msg-156143
https://afni.nimh.nih.gov/afni/community/board/read.php?1,134156,134164#msg-134164
https://afni.nimh.nih.gov/afni/community/board/read.php?1,69601,69602#msg-69602
https://afni.nimh.nih.gov/afni/community/board/read.php?1,76134,76197#msg-76197

Hi Rick,

OK I now think I understand what to do and how. >:D<

Thanks a lot for your time

pat