Slice Time Correction
Modern functional magnetic imaging uses echo (or spiral) planar imaging where a 3D volume is built up from a series of 2D slices. Each slice take some time to acquire, so different slices in a 3D stack were actually observed at different time points. On the other hand, our statistics assumes that the 3D volume was acquired at the same moment in time. Therefore, it is common to slice time correct (STC). This page describes how to compute STC and describes special caveats for Siemens scanners as well as with SPM8’s STC function.
Slice Time Correction
Slice Time Correction (STC) generally improves our the statistical power of fMRI analyses. In particular it is probably a good idea for event-related designs (and less useful for block designs). The irony is that Slice Time Correction (STC) is most important yet least effective when the speed of acquisition is slower. For example, consider an ascending continuous acquisition with a TR (repeat time, time between volumes) of 3000ms. In this case the middle slice is observed almost 1.5s after the first slice, and the final slice almost 3s later. If our TR was 1000ms the error would be 1/3 this size. STC works by interpolating between images (either directly or via Fourier transforms). If we want to see what a slice looks like at an earlier unobserved time, we simply estimate based on the observations we acquired immediately prior to and after the desired time. A nice analogy is estimating the temperature at 9am: we can be more accurate if our closest observations were at 8:55am and 9:05am rather than at 8am and 10am.
- Sequential Ascending 1,2,3,4,5,6
- Sequential Descending 6,5,4,3,2,1
- Interleaved Ascending 1,3,5,2,4,6
- Interleaved Descending 6,4,2,5,3,1
- Interleaved Ascending * 2,4,6,1,3,5
- Interleaved Descending * 5,3,1,6,4,2
In other words, with typical interleaved ascending we acquire the odd numbered slices first followed by the even numbered slices. Note that the slice orders number 5 and 6 (marked with a *) are weird. While other manufacturers use only slice ordering types 3 and 4, for some odd reason Siemens Product sequences use order 3 when you acquire interleaved with an odd number of slices and order 5 when you acquire with an even number of slices. This is described in Joachim Graessner's "Slice Order (Slice Timing) for fMRI Evaluation". However, as described below, those using the terrific CMRR sequences on Siemens, be aware that the manual states 'that slice excitation always starts with slice0 (the first slice) in CMRR multiband C2P sequences'. The section below describes how to test your own sequence to ensure slice order.
Most MRI scanners let you set your desired slice order. Interleaved acquisitions can have less slice interference but can show spin history effects if a participant moves. This is the reason most fMRI data has a ~20% gap between slices, as it reduces both interference and motion-related spin history artifacts (at the cost of less signal).
Siemens specific detailsscanner console, look at the “Series” in your protocol PDF files (shown in red in the image on the right – ignore the “multi-slice mode”), or use software that detects this for you when converting your DICOM files for subsequent processing (for example, dcm2nii since 2014 do this for Siemens images).
Another question regards what direction ‘ascending’ and ‘descending’ refer to. For axial slices it seems obvious that ascending refers to acquisitions that begin near the feet and move toward the head. But what does ‘ascending’ versus ‘descending’ refer to for sagittal and coronal sequences? One way to discover this is to look at the PDFs that you can create for your sequence. As shown in the image on the right, ascending for sagittal scans refers to right-to-left (R>>L), for coronal sequences ascending is anterior-to-posterior (A>>P) and for transverse (axial) slices the order is the expected foot-to-head (F>>H). This appears to be the default for Siemens MRI, though perhaps tweaking the “Image Numbering” on the “Miscellaneous” portion of the sequence system tab could disrupt this (though I am not sure why anyone would want to, and it would cause problems for automated methods of slice timing correction as described here).
While the Siemens convention is unusual, the fact that it is consistent means that it is easy to write a script to automatically slice time correct your data. Therefore, my dcm2niix software (included as an executable and a graphical interface with my MRIcroGL viewer) should correctly detect and record slice order for Siemens fMRI data. There is one exception to this: for multiband sequences the slice order can not be described using the 6 conventional values of the NIfTI header. For multiband sequences, you can look at the BIDS JSON file generated during conversion which will report the slice time for each slice (if no BIDS file is generated, make sure you use the "-b y" flag). These sequences tend to have exceptionally short TRs, so slice time correction is not so important. However, if you do want to do this, you will have to manually set up the slice time pattern. This is not actually very tricky: just pretend that your volume has N/m slices where N is the actual number and m is the multi band factor. Therefore, if you have an ascending 6 slice volume with multi band of x2, then the slices were acquired in the order [1 4], [2 5], [3 6] (e.g. slices one and four simultaneous acquired, then slices two and five, and finally slices three and six).
Setting the reference slice
Most scanners send a signal when they begin acquiring data. We tend to start our experiments at this moment, so this is effectively when we start our watches. It really does not matter what time we use as time zero, as long as we use the same time for our imaging data and the behavioral tasks. When using SPM, you can set a ‘reference slice’. All other slices will be made similar to this one. Be aware that this refers to the slice order on disk. Therefore, if you have N slices, this should be 1 if you have ascending data, and N if you acquired descending data. However, if you acquired an even number of slices with interleaved acquisition on a Siemens system this will need to be set to 2. My script includes a note on how to modify the file ‘spm_slice_timing.m’ to demonstrate this.
TR versus TA
Typically, we acquire fMRI data continuously with no gaps between volumes. Therefore, the acquisition time (TA) is directly related to the repeat time (TR). Specifically, the TA volume with N slices is TR-(TR/N). In other words, if we have a volume with 4 slices and a TR of 2000ms, the TA is 1500ms (with slices acquired at 0, 500, 1000, 1500ms). However, note that it is possible to set a temporal gap between volumes (we do this for sparse designs). Therefore, you should check this prior to STC.
- The practiCal page has a nice description of slice timing.
- Paper demonstrating how slice timing can help.