Differences between SPM's and FSL's motion correction

Hi everyone,

It’s not surprising that SPM and FSL create different motion correction outcomes (using the default parameters), but I found something interesting that I cannot easily explain.

PS: For a more detailed explanation of how the following figures were created, see this notebook.

“Missing” slices after motion correction

Simply put, SPM seems to drop the top and bottom slice, if you perform motion correction with the default parameters. This can be seen in the following figure, showing the mean of the difference between the two outputs:


Does anybody know the reason for this? I tried to look for a bounding box issue and suspected an interpolation issue. But the SPM output has just two slices less, throughout the 4D volume, they are completely empty.

SPM seems to clean “more”

Something that can probably be explained by the default parameters in both toolboxes, but if you run motion correction on already motion-corrected files, SPM seems to extract less additional motion parameters. The estimated parameters after FSL’s second motion correction are almost one magnitude bigger than the ones from SPM.

SPM’s motion parameter after second estimation

FSL’s motion parameter after the second estimation

This difference in outcome seems to be due to the estimation of motion parameters, and not necessarily due to reslicing/writing. Because the difference of the motion parameters after the first run through look as follows:

Does this mean that SPM does a better job in estimating the parameters? Should the default parameters in FSL be changed (a which ones), to “better” estimate the motion in the data? Is there an argument against too much motion estimation?



1 Like