Batching SPM - Institute of Cognitive Neuroscience

Download Report

Transcript Batching SPM - Institute of Cognitive Neuroscience

Introduction to SPM Batching
from acquisition to publication…
Guillaume Flandin
Wellcome Trust Centre for Neuroimaging
University College London
MATLAB for Cognitive Neuroscience
ICN, May 2009
Image time-series
Realignment
Spatial filter
Design matrix
Smoothing
General Linear Model
Statistical Parametric Map
Statistical
Inference
Normalisation
Anatomical
reference Parameter estimates
RFT
p <0.05
Installing SPM using SVN
SPM
your SPM
working copy
FIL & ICN
only
 Install Subversion:
 http://subversion.tigris.org/
 http://tortoisesvn.net/ on Windows
 Online instructions:
 http://www.fil.ion.ucl.ac.uk/spm/local/svn/
 http://www.fil.ion.ucl.ac.uk/spm/local/tbr/
Repository URLs:
SPM
SPM
SPM
SPM repository
SPM5: svn://bread.fil.ion.ucl.ac.uk/spm/branches/spm5
SPM8: svn://bread.fil.ion.ucl.ac.uk/spm/trunk
TBR: svn://bread.fil.ion.ucl.ac.uk/tools/TBR/trunk
Import_Archive: svn://bread.fil.ion.ucl.ac.uk/tools/Import_Archive
TortoiseSVN: Checkout
TortoiseSVN: Update
Case 1: your SPM files needed to be updated.
Case 2: your SPM files are up-to-date.
MATLAB path
Add Folder (and not with Subfolders)
Remove older SPM versions from the path
(or use spm_rmpath)
Batching SPM{2,5,8}
 SPM Extensions webpage:
http://www.fil.ion.ucl.ac.uk/spm/ext/#batch_utils
SPM99, SPM2
 Call SPM functions
SPM5
SPM8
 Job Manager:
 Batch Editor:
 “jobs” structure.
 Virtual files.
 “matlabbatch” structure.
 Dependencies.
directly [1,2]:
 spm_realign
 spm_slice_timing
 spm_normalise
 spm_write_sn
 spm_smooth
 spm_fmri_spm_ui
 spm_spm
 spm_FcUtil
 spm_contrasts
 Requires knowledge
about input/output
arguments of main SPM
functions and about the
SPM.mat structure.
[1] http://en.wikibooks.org/wiki/SPM-Example_batch_script
[2] http://imaging.mrc-cbu.cam.ac.uk/imaging/SpmBatch5
SPM “jobs”
(“matlabbatch” for SPM8)
 Batch mode:
 Goal: create a .mat file containing
a Matlab structure ‘jobs’ similar to
the one created using the GUI.
 Tip: you only need to specify
parameters that you would enter
in the interface, the others will be
automatically imported when
executed.
 The jobs structure will mimic
the interface.
Useful SPM functions:
 Select files: spm_select.m
[files,dirs] = spm_select(‘FPList',dir,filt)
ex.: f = spm_select(‘FPList',‘C:\data\exp’,‘^fM.*\.img$’);
 Job manager: spm_jobman.m
spm_jobman(‘initcfg’);
%
spm_jobman(‘run’,jobs);
%
spm_jobman(‘interactive’,jobs); %
% jobs can be a Matlab variable or
initialise SPM batch mode
execute a job
display a job in the GUI
.mat/.m filename
 Overall structure of a batch script:
spm(‘defaults’,‘fmri’);
spm_jobman(‘initcfg’);
clear jobs
% fill in jobs structure
save(‘My_Batch.mat’,‘jobs’);
spm_jobman(‘run’,jobs);
See also:
 fullfile
 cellstr
 editfilenames*
Experiment
subject1
structural
functional
session1
session2
…
Data organisation
jobs
stats
model1
model2
…
subject2
…
scripts
rfxmodel
condition1
condition2
…
 Should be as generic as
possible to ease batch
script writing.
A potention pipeline for preprocessing with SPM:
Raw functional
images
Anatomical
image
Realign
Coregister
Segment
Update *.hdr
mean.{img,hdr}
rp_*.txt
Update *.hdr
m*/c1*/c2*.{img,hdr}
*_seg_sn.mat
*_seg_inv_sn.mat
Group mean
Normalize:
Write
wm*. {img,hdr}
…
Smooth
Normalize:
Write
sw*.{img,hdr}
w*.{img,hdr}
Workflow for SPM8 Batch Editor
Subject directory
Functional data
Structural data
Experimental design
Change directory
Realignment
Coregistration
Segmentation
Normalisation
Normalisation
Smoothing
Make directory
Model Specification
Model Estimation
1. Subject-independent data/analysis steps
2. Data flow (dependencies)
3. Subject-specific data
For more information…
 SPM5/8 script examples:
http://www.fil.ion.ucl.ac.uk/spm/data/
 SPM8 manual chapter 34:
http://www.fil.ion.ucl.ac.uk/spm/doc/spm8_manual.pdf
 L. Kasper’s slides for SPM8:
http://www.fil.ion.ucl.ac.uk/spm/course/slides09-zurich/