Spm registration to standard space


Dear experts,

I am trying to use masks in standard space created in SPM together with data preprocessed in different software (FSL and fmriprep) and registered to MNI152. However, the problem is that the SPM MNI152 standard space is smaller than the actual MNI152. I know this problem can be fixed by registering the SPM standard to the actual MNI standard space (e.g. using flirt) and using the obtained transformation matrix to correct all the masks from SPM to MNI152. The problem is that I can’t find the SPM standard template anywhere in the program files - the standard images provided in the ‘canonical’ folder of SPM are in actual MNI152 (they’re not smaller). Do you know where can I find the SPM standard template (the smaller one) that I can use to create a registration matrix for my data?


So SPM12 uses tissue probability maps that are in fullfile(spm('dir'), 'tpm', 'TPM.nii') to run its normalization to MNI space.

As far as I know the MNI space used by SPM is derived from the IXI dataset: IXI Dataset – Brain Development


This is a tricky subject, as it is for every format. Here is a nice summary here:

and here:


also here:

Within SPM, it looks like its version of the MNI template (IXI549space) is very similar to MNI152NLin6 :

  • SPM: Note that in later iterations, SPM defined its own “space” based on scans acquired within the IXI dataset, leveraging on the concept of segmentation-based normalizations (as applied in the Unified Segmentation, DARTEL and SHOOT approaches). This space, referred to as the IXI549Space is largely similar to MNI152 and of similar resolution (where it’s likely safe to say that differences do not matter as much for most applications). Along the same lines, both spaces are unsuitable for use in DBS imaging, in our opinion. More info here.

If I refer to this discussion, SPM IXI549 space matches the MNI152NLin6Asym template:

Concerning spaces, the TPM.nii in SPM12 matches an asymmetric variant of the MNI ICBM 152 non-linear 6th Gen space (this is not identical to the symmetric one available here http://nist.mni.mcgill.ca/?p=858 ), although there are slight differences, as the tissue priors were generated from different subjects (the IXI data set) with different registration techniques. The CAT12 templates were generated from the IXI data set via Geodesic Shooting aka Shoot, and “finally transformed to MNI space” as stated in a CAT12 help text. Although not explicitly mentioned it seems to be the MNI ICBM 152 non-linear 6th Gen asymmetric space, and not the (somewhat larger) MNI ICBM 2009 space. Again, due to different subjects there would be slight differences to the original atlas.

The MNI space is visible through the TPM template in the spm12 folder: spm12/tpm/TPM.nii
You can get the MNI152Nlin6Asym template images here: https://www.templateflow.org

Let us know if the statements above are correct for you?

Thanks a lot! The TPM template does seem to do the job :slight_smile:

1 Like

Thank you for the elaborate response (looking for an answer did feel like in this cartoon :)). I managed to register the spa TPM to MNI152 standard brain used by FSL and it did the job for me.

In case anyone else has the same problem, here’s what worked for me:
I generated the transformation matrix for TPM to MNI152 in flirt using a 7DOF transformation with next neighbor interpolation. Then I used SPM Reslice tool to reorient all my ROIs to the TPM template (for some reason my sim ROIs had different values of xyz coordinates than the template) and then registered the ROIs to MNI template using:
flirt -in [my roi] -ref MNI152 -init tpm2mni.mat -applyxfm -out [roi in mni]
Then I thresholded the ROIs slightly and binarized them using:
fslmaths my_roi -thr 0.1 -bin my_final_roi

1 Like