help > RE: slice timing correction
Dec 15, 2017  09:12 PM | Patrick McConnell - MUSC
RE: slice timing correction
Hi Stephen, 

Thanks for the response.  I'm still a little confused, particularly by this bit of the wiki:

"Note that the microtime onset is to be set in the temporal convention (the number is the slice position in time) and scaled to the microtime resolution (you can also set microtime resolution to the number of slices of your EPI volumes, which will make things easier), whereas the Reference Slice is in the spatial convention (the number is the slice position in space)."

So data I'm processing right now, I have one set that is non-MB interleaved ascending and another that is MB interleaved ascending (I know ST corr. is probably not necessary but I'm trying to understand the process).  Both are siemens with an even number of slices (36 and 72).

I'm defining the non-MB 36 slice data by slice index (2,4,6...1,3,5 etc) and the 72 slice MB data by ms (0, 390, etc etc). I want to reference the first temporal slice for both data sets.

For the non-MB data, it seems that I should enter '2' as the reference slice, but then in microtime onset, would I also enter '2'?  If the reference slice is defined in "temporal convention", then even though the first slice acquired is "slice 2", the reference slice would be defined as "1" since it is the first slice. Then, if microtime is defined via "spatial convention", it would be set at 2, the second spatial slice (but the first temporal slice).

For the MB data, it seems that I should enter 0ms for the reference, but '2' again for the microtime since the 2nd slice was acquired first.  

Are these questions clear?

Thanks for the help.

-Patrick 

Originally posted by Stephen L.:
Originally posted by Patrick McConnell:
Hi, quick question:

During slice time correction, let's say that my slice order is interleaved ascending on a siemens scanner (36 slices), so 2,4,6,8,...1,3,5,7 etc. If I want to reference the middle slice, would I set the reference slice to 18 (slice number) or 9 (since slice 18 is the 9th slice acquired (slice index)?

I updated recently the SPM wikibook, you should find the info and all explanations as well as references you need there: https://en.wikibooks.org/wiki/SPM/Slice_Timing#Reference_slice

For refslice, SPM is expecting to be given the slice spatial number, which it will then convert internally to temporal convention. In other words, if you wanted to set the first temporal slice as the reference slice, with your slice order it would be refslice = 2.

If you want to set the middle (temporal) slice as the reference slice, you can set refslice=36, which is the 18th temporal slice, the middle temporal slice. Correcting for the middle temporal slice is said to minimize interpolation error (because then the max interpolation error is only -TR/2 to TR/2), but this is debated (see the SPM wikibook).

You can also use this helper script I made to easily know what to input to SPM: https://github.com/lrq3000/neuro_experiments_tools/blob/master/matlab/slice_order/gen_microtime_onset.m

Use it like this:

[microtime_onset, microtime_resolution, refslice] = gen_microtime_onset([2, 4, ...], 'middle')

refslice will contain the reference slice number in spatial convention as expected by SPM.

Threaded View

TitleAuthorDate
J Kim Apr 22, 2015
Chris Rorden Oct 19, 2017
Alfonso Nieto-Castanon Apr 22, 2015
Noah Philip Apr 22, 2015
Chris Rorden Oct 13, 2017
Patrick McConnell Nov 16, 2017
Stephen L. Nov 19, 2017
RE: slice timing correction
Patrick McConnell Dec 15, 2017
Stephen L. Dec 16, 2017
Patrick McConnell Dec 16, 2017