By members and collaborators of the Functional Imaging Laboratory
SPM12, first released1st October 2014 and last updated13th January 2020, is a major update to the SPM software, containing substantial theoretical, algorithmic, structural and interface enhancements over previous versions.
A description of the new features is available in theRelease Notes.
The software is available after completing a briefDownload Form.
APDF Manual is also available and some extra information can be obtained on theSPM online documentation (such as installation and getting started).
You need the following to runSPM12:
MATLAB:MATLAB (MathWorks) is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation.
SPM12 is designed to work with MATLAB versionsR2007a (7.4) toR2023b (9.15), and will not work with earlier versions. It only requires core MATLAB to run (i.e.no toolboxes).
See theSystem Requirements page for a list of suitable platforms to run MATLAB and thePlatform Roadmap for the correspondance between MATLAB versions and supported platforms.
Alternatively, aStandalone SPM (built using theMATLAB Compiler) is also available and does not require the availability of a MATLAB licence (seelimitations).
MEX files: Whilst the majority of the code is implemented as standard MATLAB M-files, SPM also uses external MEX files, written in C, to perform some of the more computationally intensive operations. Pre-compiled binaries of these external C-MEX routines are provided for:
![]() Windows (32 and 64 bit) | ![]() Linux (64 bit) | ![]() macOS (64 bit) |
For these platforms, SPM should work straight out of the box.
For other platforms, you will need to build the MEX files using asuitable C compiler and the Makefile provided with the SPM distribution.
File Format: SPM12 uses theNIFTI-1 file format for the image data. All images are written asNIFTI-1, but it will also read the old Analyze format used by SPM2. Tools are provided to import data fromDICOM, PAR/REC,MINC and ECAT7.
SPM12 also uses theGIfTI file format for surface-based data.
No backward compatibility with earlier versions of SPM is ensured, although SPM12 should be happy to read the image files.
Because SPM12 writes the data as NIfTI-1, images created by SPM12 can not be properly read by SPM2 or earlier, but they should be fine with SPM5 or SPM8.
File formats ofSPM.mat
, etc, are also different, with no compatibility among the different SPM versions.
SPM12 greatly benefits from other open source projects:
![]() | FieldTrip: A MATLAB toolbox for MEG and EEG data analysis that is being developed at theDonders Institute for Brain, Cognition and Behaviour at Radboud University Nijmegen. |
![]() | matlabbatch: A framework to run MATLAB programs as batch jobs. Developed at theFreiburg Brain Imaging (FBI) laboratory. |
Although we have tried hard to produce high quality software, in a project of this size and complexity there are certainly some remaining bugs. Please assist us by reporting bugs to the SPM manager <fil.spm@ucl.ac.uk>.
SPM12 updates will be advertised on themailing list and made available at the following address:
A MATLAB script (spm_update.m
) is available to detect when a new SPM12 update is available, and possibly install it automatically.
>> spm_update A new version of SPM is available.>> spm_update update Download and install in progress... Success: xx files have been updated.
Alternatively the command line syntax to install the updates on Unix systems (Linux, Mac) is:
unzip spm12.zipunzip -o spm12_updates_rxxxx.zip -d spm12
On other platforms, just unpack the update archive over your SPM installation so that newer files overwrite existing files.
If you have problems downloading or installing the updates, seethis.
Date | Update Revision Number |
---|---|
01-Oct-2014 | 6225 |
03-Jun-2015 | 6470 |
15-Jan-2016 | 6685 |
20-Oct-2016 | 6906 |
16-Nov-2017 | 7219 |
14-Nov-2018 | 7487 |
13-Jan-2020 | 7771 |