Random Effects Analysis of Face Repetition data set. --------------------------------------------------- This dataset contains 12 contrast images (of the contrast faces versus baseline) from the study Henson, R.N.A, Shallice, T., Gorno-Tempini, M.-L. & Dolan, R.J (2002). Face repetition effects in implicit and explicit memory tests as measured by fMRI. Cerebral Cortex, 12, 178-186. This README shows you how to do a (parametric) random effects analysis. See eg. http://www.fil.ion.ucl.ac.uk/spm/RFXabstract.pdf We also show you how to do a nonparametric random effects analysis. Data ==== The subjects were analysed in a big 12-subject fixed effects (ffx) model (for a picture of the design matrix see ffx_mip.jpg). Subject-specific t-contrasts on the main effect of faces versus baseline on the canonical HRF (a [1 1 1 1] contrast collapsing across face-types) produced con*.img's (con_0006.img to con_0017.img) which are in this directory. Note that, for the purposes of Random Effects Analysis (RFX) these con*.img's could equally well have been produced from models where each of the 12 subjects were modelled in a separate SPM analysis. We use SPM-99 (with patches installed). The design matrix for a single subject is identical to the one in the 4th examplar data set from http://www.fil.ion.ucl.ac.uk/spm/data/#SPM00AdvEFMRI Parametric Analysis ====================== Type SPM at the matlab prompt. Now change to a new directory (this is easy to forget !) Select either 'PET and SPECT' or 'fMRI time-series'. Press the 'Basic models' button. Select design type ..... [One sample t-test] Then select the 12 images (con_0006.img to con_0017.img) GMsca: grand mean scaling [None] explicitly mask images [No] Global calculation [omit] SPM will then show you the design matrix (simply a single column of 1's which will appear as a white box on a white background). Estimate ? [now] SPM will now estimate the parameters (ie. the size of the population effect at each voxel - simply the average of the con*.img's). Now press the 'Results' button. Select the SPM.mat file. In the contrast manager press 'Define new contrast'. Entering a [1] contrast tests for activations (a [-1] for deactivations). Type in [1] (in the contrast section) and enter 'activation' as a 'name'. Press the '..submit' button. Press OK. Now press the 'Done' button. Mask with other contrast(s) [No] Title for comparison [activation] Corrected height threshold [Yes] Corrected p value [0.05] & Extent threshold {voxels} [0] SPM will now display the thresholded t-statistic image. These show the voxels that are significantly active in the population from which the subjects were drawn. Note that the height threshold used by SPM is T=9.07. This SPM threshold is from a Bonferroni correction rather than from a Random Field Theory (RFT) correction - the RFT threshold is 10.43 and is the value you'll get if you have not installed the SPM'99 patches - in the patched version of SPM-99 the t-value is the minimum of Bonferroni and RFT. Nonparametric Analysis ====================== You can implement a nonparametric random effects analysis using the SnPM software which you can download from http://www.fil.ion.ucl.ac.uk/spm/snpm/. First follow the instructions on the above web page to download and install SnPM (don't forget the patches !). Then, in matlab (in a new directory !) type 'snpm'. SnPM is split up into three components (1) Setup, (2) Compute and (3) Results. First press the 'Setup' button. Then type in the following options (your responses are in square brackets). [Multisub: 1 condition, 1 scan per subject] Select all scans [con_0006.img -> con_0017.img] Number of confounding covariates [0] 4096 Perms. Use approx test ? [No] (typically, with fewer than 5000 Perms your computer should be quick enough to use an exact test - ie. to go through all permutations) FWHM(mm) for Variance smooth [0] See below (and http://www.fil.ion.ucl.ac.uk/spm/snpm/) for more info on the above option. Collect Supra-Threshold stats [Yes] Collecting suprathreshold statistics is optional because the file created is huge; it is essentially the "mountain tops" of the statistic image of every permutation is saved. Say "No" if you want to save disk space and time. Select Global Normalisation [No Global Normalization] Select global calculation [Mean] The above option doesn't matter because no normalisation will be done (this is specified in the next step) Threshold masking [None] Note, there's no need to use threshold masking since the data are already implicitly masked with NaN's. Grand Mean Scaling [No Grand Mean Scaling] SnPM will now create the file SnPMcfg.mat. Now press the 'Compute' button. Select the above file (SnPMcfg.mat) The above computation should take between 5 and 10 minutes depending on your computer. Finally press the 'Results' button. Select the SnPM.mat file Positive or negative effects [+ve] Write out statistic img? [yes] Write filtered statistic img ? [yes] Filename ? [SnPMt_filtered] Write full SS adj p-value img ? [yes] Corrected p-value for filtering [0.05] Assess spatial extent [no] SnPM will then show the distribution of the maximum t-statistic. If you then press RETURN in the matlab command window, SnPM will then plot a MIP of those voxels surviving the SnPM critical threshold (this value is displayed at the bottom of the image and for this data set should be 7.9248). You can then use this value in SPM (in the RESULTS section, say 'No' to corrected height threshold, and then type in 7.9248 for the threshold) and take advantage of SPMs rendering routines (not available in SnPM). Note that the SnPM threshold is lower than the SPM threshold (9.07). Consequently, SnPM shows more active voxels. Nonparametric Analysis w/ Smoothed Variance t (Pseudo-t) ======================================================== Note that the result just obtained looks "jaggedy". That is, while the image data is smooth (check the con* images), the t statistic image is rough. A t statistic is a estimate divided by a square root of the variance of the estimate, and this roughness is due to uncertainty of the variance estimate; this uncertainty is especially bad when the degrees of freedom are low (here, 11). By smoothing the variance before creating a t ratio we can eliminate this roughness and effectively increase our degrees of freedom, increasing our power. Create a new directory for the smoothed variance results. First press the 'Setup' button. Then type in the following options (your responses are in square brackets). [Multisub: 1 condition, 1 scan per subject] Select all scans [con_0006.img -> con_0017.img] Number of confounding covariates [0] 4096 Perms. Use approx test ? [No] FWHM(mm) for Variance smooth [8] A rule of thumb for the variance smoothing is to use the same FWHM that was applied to the data (which is what we've used here), though a little as 2 x VoxelSize may be sufficient. Collect Supra-Threshold stats [Yes] Select Global Normalisation [No Global Normalization] Select global calculation [Mean] Again, this doesn't matter because no normalisation will be done. Threshold masking [None] Grand Mean Scaling [No Grand Mean Scaling] SnPM will now create the file SnPMcfg.mat. Now press the 'Compute' button. Select the above file (SnPMcfg.mat) The above computation should take between 10 and 25 minutes depending on your computer. Finally press the 'Results' button. Select the SnPM.mat file Positive or negative effects [+ve] Write out statistic img? [yes] Write filtered statistic img ? [yes] Filename ? [SnPMt_filtered] Write full SS adj p-value img ? [no] Corrected p-value for filtering [0.05] Assess spatial extent [no] SnPM will then show the distribution of the maximum *pseudo* t-statistic, or smoothed variance t statistic. If you then press RETURN in the matlab command window, SnPM will then plot a MIP of those voxels surviving the SnPM critical threshold (this value is displayed at the bottom of the image and for this data set should be 5.12). Observe how there are both more suprathreshold voxels, and that the image is smoother. For example, note that the anterior cingulate activation (-3,15,45) is now 396 voxels, as compared with 75 with SnPM{t} or 28 with SPM{t}. Very important!!! This is *NOT* a t image. So you *cannot* apply this threshold to a t image in SPM. You can, however, create overlay images with the following: 1. Use 'Display' to select the image you would like for a background. Via the keyboard only you could do... Img = spm_get(1,'.img','select background reference'); spm_image('init',Img) 2. Create filtered image with NaN's instead of zero's. In = 'SnPMt_filtered'; Out = 'SnPMt_filteredNaN'; f = 'i1.*(i1./i1)'; flags = {0,0,spm_type('float')}; spm_imcalc_ui(In,Out,f,flags); Ignore the division by zero errors. 2. Overlay the filtered image spm_orthviews('addimage',1,'SnPMt_filteredNaN') Will Penny/Rik Henson Wellcome Department of Imaging Neuroscience/ Institute of Cognitive Neuroscience Tom Nichols Department of Biostatistics, University of Michigan June 2002