SPM/Slice Timing

From Wikibooks, open books for an open world
Jump to: navigation, search

The Problem[edit]

With an EPI sequence, slices constituting a 3D volume are acquired at different times (within one TR).

Slice Timing Correction[edit]

See SPM > Temporal > Slice Timing.

Slice Order[edit]

hdr = spm_dicom_headers('dicom.ima');
slice_times = hdr{1}.Private_0019_1029

If the slice_times returns a vector of integers, then you need to convert these 8-bit symbols into their double representation:

slice_times = typecast(uint8(slice_times), 'double')

This will give you the relative time of acquisition of each slice, which you can combine with (0008, 0033) Acquisition Time to compute the absolute time of each slice.

  • The scanner head position for the first slice relatively to the patient can be found in the DICOM fields Image Position Patient (0020, 0032) together with Image Orientation Patient (0020, 0037) and Patient Position (0018, 5100). The latter is a required DICOM field and is necessary for softwares to interpret the orientation of the images, so you can reliably use this field. See DICOM reference C. for more informations on the meaning of the different values[1].
  • For Siemens scanners, the slice order is defined by the parameter "Series", and not "Multi-slice mode" (although both present the option "interleaved", only the option in "Series" is related to the slice order, the "Multi-slice mode" being interleaved just means that the acquisition is simultaneous). There are usually three options: ascending, interleaved (ascending) and descending. Interleaved is particular on Siemens machines as this mode always acquire in ascending fashion, but the starting slice will change depending on the number of slices: if the number is odd the first slice will be 1 (1, 3, ... 2, 4, ...) ; if the number of slices is even the first slice will be 2 (2, 4, ..., 1, 3, ...)[2].
  • You need to check whether "Transversal" = F >> H, which is always advised by Siemens, to have the correct slice order you set. Else if you have H >> F, you need to reverse the order (ascending and interleaved become descending, descending become ascending)[2]. This should be described in the protocol printout that the machine can output.
  • SPM expects the first slice to be the bottom slice (inferior to superior). If not (eg, because of Transversal H >> F), you need to use as slice order TR - INTRASCAN_TIME - SLICE_TIMING_VECTOR.

Timing Parameters[edit]

See Microtime Onset and Microtime Resolution.

Using the HRF Time Derivative[edit]

See HRF 'Informed' Basis Set.