240 likes | 840 Views
SPM Course – Zurich 2010 Voxel-Based Morphometry Practical. Ged Ridgway For SPM8, using data from www.oasis-brains.org Tools to help with OASIS data available from www.cs.ucl.ac.uk/staff/G.Ridgway/zurich Any problems, please email Ged.Ridgway@gmail.com. Background.
E N D
SPM Course – Zurich 2010 Voxel-Based Morphometry Practical Ged Ridgway For SPM8, using data from www.oasis-brains.org Tools to help with OASIS data available fromwww.cs.ucl.ac.uk/staff/G.Ridgway/zurich Any problems, please email Ged.Ridgway@gmail.com
Background • Alzheimer’s Disease (AD) is a progressive neurodegenerative disease affecting over 24 million people world-wide (Ferri et al, Lancet, 2005) • At present, researchers know of no single cause, nor of a cure, though prototype drugs are in development • Histopathology (microscopic analysis of post-mortem tissue samples) reveals “amyloid plaques” and “neurofibrillary tangles”, with varying distribution through the brain, that changes with disease severity
Background • MRI has the potential to find systematic differences between the brains of AD patients and healthy elderly controls in vivo • MRI may have potential to advance our understanding of the disease, to allow earlier diagnosis, and to track disease progression or drug response over time
Introduction • In this practical we will perform Voxel Based Morphometry with spm8 to determine local patterns of significant grey-matter differences between AD patients and healthy controls • The data come from the Open Access Series of Imaging Studies, www.oasis-brains.org
Preliminary SPM Setup Install spm8 if you have not already done so Extract the archive somewhere on your hard-drive and add the resulting spm8 directory to your MATLAB path with editpath Open the SPM interface by typing “spm pet” at the MATLAB command prompt
Preliminary SPM Setup • Edit spm_defaults • defaults.stats.maxmem = 2^29; % 2^29bytes = 500MB • This will make things much faster later • defaults.analyze.flip = 1; • LEFT/RIGHT FLIPPING IS IMPORTANT! • SPM shows images with what it thinks is anatomical-right on screen-right – you can check this is correct by comparing SPM’s display with the www.oasis-brains.org website after browsing to one of the cross-sectional images
Data • We will consider a subset of the complete cross-sectional OASIS dataset (which contains over 400 subjects), with 30 controls and 30 AD patients • There is a comma-separated-variables spreadsheetoasis_subset.csv which you can open in Excel, or in MATLAB using oasis_read_csv.m [H C] = oasis_read_csv;(H{n} contains the nth column heading, C{n} contains the data for the nth column) • The first 30 rows are controls, the next 30 are patients
Getting the data • If you want to download some of the data, you can get individual subjects from www.oasis-brains.org • browse to the cross-sectional study, and particular subject-ID – you only need the “RECONSTRUCTIONS” (about 44MB per subject) • To get the complete subset, you need • The xnat tools from www.xnat.org • The MATLAB functions oasis_read_csv.m and oasis_get_xnat.m • A “comma-separated variables” spreadsheet, like oasis_subset.csv • Note that you probably want to use oasis_get_xnat with a –proc argument, see “help oasis_get_xnat” in MATLAB
Reorientation • Newly downloaded OASIS data is not correctly oriented for SPM (0,0,0mm is way outside the brain) • The script oasis_reorient.m should fix this • Check reg with spm8/templates/T1.nii afterwards! • Right click the image and select reorient this image from the check reg context menu if you need to make manual adjustments (you don’t need the AC perfectly at 0,0,0, or the PC perfectly on the same x and z coords, but you do need rough alignment of the subject and template in order for the segmentation step to work well
Tissue Segmentation • Newly downloaded data needs segmenting • Click the “segment” button in the top-left window • Select your newly downloaded t88_gfc images as the data • Under “output files” • Choose “modulated normalised” grey matter, and “none” for white matter and CSF • Don’t output bias corrected • Don’t do clean-up • Leave the custom options. Click run (it should take 10-20mins per subject)
Spatial Smoothing • Click the smooth button in the top-left window • For images to smooth, select the 60 mwc1 images • Leave the data type as “same” • Set the Full-Width at Half-Maximum (FWHM) of the Gaussian kernel to 10mm isotropic ([10 10 10]) • You might like to explore different values
Statistical Parametric Mapping • We will now perform voxel-wise statistics on the segmentations (this is the essence of Voxel-based morphometry) • Choose “basic models” from the top-left window • Under design, select “two sample t-test” • Enter the controls (smoothed smwc1 images) as “group 1 scans”, and the AD patients as group 2 • Leave “independence” as yes; set “variance” to unequal • Equal variance probably won’t make much difference, but you could try if you are interested • With equal variance, the resultant SPM t-statistic at a particular voxel would match a simple two-group t-test in Excel or SPSS, etc., if you extracted the voxel intensity from each smoothed image • Leave “grand mean scaling” and “ANCOVA” as no
Covariates • Under covariates, add a new covariate • Use estimated Total Intracranial Volume (eTIV) • This is the 10th column of the oasis_subset.csv spreadsheet • You might like to test using gender instead or as well, or not using a covariate at all. For gender (or orther boolean/categorical variables) you need indicator variables, e.g. a binary female=1, male=0 variable (not ‘M’ or ‘F’!) • Use oasis_read_csv to get the variable in the workspace, then evaluate this variable as the “vector” (the values should appear in the window) and specify eTIV (or Female, etc.) as the name • Leave interactions as none and centering as overall mean
Masking and globals • Threshold masking is not always wise for VBM; I am biased, but would recommend my Masking toolbox, available from: • www.fil.ion.ucl.ac.uk/spm/ext/#Masking • Alternatively, use imcalc with the data matrix option to produce an average of your smwc1 images, with the expression mean(X) • Then use imcalc (without data-matrix) and the expression i1>0.1 to threshold the average, giving a binary mask that includes all voxels with more than 10% probability on average of being GM • (This interpretation is not completely true, since the data are modulated, but it’s close enough for the mask to be reasonable) • Leave global calculation and global normalisation
Select the output directory as twogroup_tiv_s10 (or other covariate and smoothing options) (SPM won’t make this directory; ensure it exists first) Click run (this step should only take a few seconds) A design summary will appear, and various aspects may be checked Checking the design
GLM Estimation Now we are ready to fit the model we just designed Click the estimate button from the top-left window, and select SPM.mat in the output directory you specified This step can take quite some time…
Results • Once estimation has finished, click the results button • Select the SPM.mat in your results directory • Click “define new contrast”, enter the name as hc>ad and the contrast vector as [1 -1], then “done” • Don’t mask with other contrasts • Leave the title as hc>ad • Choose FWE correction and leave the p-value at 0.05 • Leave the extent threshold at 0
Glass-brain MIP • You should see a “glass-brain” Maximum Intensity Projection of the significant voxels • Click the “whole brain” button under the p-values tab of the bottom-left (interactive) window, this should add a table of results below your glass brain • Click the SPM-Print button in the menu bar of the right-hand (graphics) window, choose other print file and give a meaningful name like mip.ps
Presenting results • Interpreting complicated 3D datasets can be difficult • The glass brain display is one of several options • We would also like to overlay the significant regions on a representative image • One option is a mean mwc1 image • Nicer (but more work) is to normalise all the original T1-weighted images and average them • If you use DARTEL for the registration, you could use the final Template’s GM volume • While the glass brain is showing, click the “save” button near the bottom-right of the bottom-left window, and enter a helpful filename “spmT_0001_fwe5”
Presenting results • Produce a figure showing the spmT_thresh image overlaid on the average image • Use SPM’s check registration • Display the average, right click and choose “blobs -> add coloured image” from the context menu, then select spmT_thresh • Use the spm-print button to store the figure with a filename like overlay.ps • You might also like to investigate “slover” • slover(‘basic_ui’); % will get you started…
Looking at global GM • The function get_totals.m is a simple script to find the total (probabilistic) volume of a segmentation in ml • Use this function on all control and patient mwc1 images, collecting the volumes into a 60-vector • Note that results should be almost identical if you used native c1 images or unsmoothed mwc1 images, thanks to the properties of the smoothing kernel and thanks to the modulation process • You might like to produce plots of GM volume against covariates from the oasis_subset.csv spreadsheet, using the MATLAB plot command • E.g. age, eTIV, and MMSE (separately) • You can distinguish the patients from controls with different colours, e.g. • plot(age(1:30), totalGM(1:30), ‘b’, age(31:60), totalGM(31:60), ‘r’); • Can you see any interesting correlations? • You can use MATLAB’s corrcoef to quantify the relationships (r and p)
Looking at global GM • How does mean GM volume compare to mean eTIV? (i.e. on average what fraction of the brain is GM?) • Produce a scatter plot of eTIV against gender • plot(0, eTIV(female==0), 'b+', 1, eTIV(female==1), 'ro'); • title('eTIV by gender'); ylabel(‘eTIV (ml)’); xlim([-0.5 1.5]) • set(gca, 'Xtick', [0 1]); set(gca, 'XtickLabel', {'male', 'female'}); • You might like to repeat this for GM volume, and for GM volume divided by eTIV, exploring how the sexes differ in these scatter plots
VBM adjusted for global differences • Repeat your previous VBM statistical analysis, but this time use the global GM volume you have just computed as a covariate instead of the eTIV covariate that you used before. • Use twogroup_totalGM_s8 as the output directory • Think about the differences between adjusting for eTIV or gender compared to global GM volume • Is AD likely to cause or correlate with decreased skull-size? Certainly not as strongly as it causes global GM reduction
Final points • Both global volume and VBM show differences between controls and AD patients • Each approach has relative advantages and disadvantages with regard to • Ease of interpretation • Potential contribution to disease understanding • Ease of use for classifying potential disease carriers and for tracking disease progress over time • Power to detect a range of disease progressions