The statistical analysis of fMRI data using FMRISTAT and MINC
PCA_IMAGE: PCA of time space: 20 40 60 80 100 120 4 3 2 1 Component Frame Temporal components (sd, % variance explained) 105.7, 77.8% 26.1, 4.8% 15.8, 1.7% 14.8, 1.5% Slice Spatial components 6 8 10 1: exclude first frames 2: drift 3: long-range correlation or anatomical effect: remove by converting to % of brain 4: signal?
FMRIDESIGN example: pain perception 50 100 150 200 250 300 350 -1 1 2 Alternating hot and warm stimuli separated by rest (9 seconds each). hot warm -0.2 0.2 0.4 Hemodynamic response function: difference of two gamma densities Responses = stimuli * HRF, sampled every 3 seconds Time, seconds
FMRILM: fits a linear model for fMRI time series with AR(p) errors ? ? Yt = (stimulust * HRF) b + driftt c + errort AR(p) errors: ? ? ? errort = a1 errort-1 + … + ap errort-p + s WNt unknown parameters
Hot - warm effect, % Sd of effect, % T = effect / sd, 110 df 1 0.5 -0.5 -1 0.25 0.2 0.15 Sd of effect, % 0.1 0.05 6 4 2 T = effect / sd, 110 df -2 -4 -6
Results from 4 runs on the same subject
MULTISTAT: mixed effects linear model for combining effects from different runs/sessions/subjects: Ei = effect for run/session/subject i Si = standard error of effect Mixed effects model: Ei = covariatesi c + Si WNiF + WNiR }from FMRILM ? ? Usually 1, but could add group, treatment, age, sex, ... ‘Fixed effects’ error, due to variability within the same run Random effect, due to variability from run to run
Target 100 effective df, so use 19mm smoothing: Run 1 Run 2 Run 3 Run 4 Effect, E i Sd, S T stat, / S -1 1 MULTISTAT 0.1 0.2 -5 5 Target 100 effective df, so use 19mm smoothing:
STAT_THRESHOLD: thresholds and P-values T, F, Hotelling’s T2, Roy’s maximum root (maximum canonical correlation) Conjunctions of all these Arbitrary number of dimensions (supply the resels) Thresholds and P-values for Local maxima (takes the best of Bonferroni, random field theory) Cluster spatial extent (mm3 or resels) allowing for randomness in estimating local FWHM
STAT_SUMMARY: SPM-style summary of local maxima and clusters, and their P- and Q-values Analyses T, F, Hotelling’s T2, Roy’s maximum root (maximum canonical correlation) volumes, and conjunctions of all these Mask volume and mask threshold can be supplied Supports isotropic (supply FWHM scalar) or non-isotropic (supply FWHM volume, from FMRILM or MULTISTAT) to calculate resels Finds all local maxima and clusters above a threshold Uses resels to calculate P- and Q-values for Local maxima: uses better of Bonferroni or random field theory Clusters: allows for randomness in estimating FWHM volume
Estimating the delay of the response Delay or latency to the peak of the HRF is approximated by a linear combination of two optimally chosen basis functions: delay -5 5 10 15 20 25 -0.4 -0.2 0.2 0.4 0.6 t (seconds) basis1 basis2 HRF shift HRF(t + shift) ~ basis1(t) w1(shift) + basis2(t) w2(shift) Convolve bases with the stimulus, then add to the linear model
Shift of the hot stimulus T stat for magnitude T stat for shift Shift (secs) Sd of shift (secs)
Shift of the hot stimulus T stat for magnitude T stat for shift T>4 T~2 Shift (secs) Sd of shift (secs) ~1 sec +/- 0.5 sec
Combining shifts of the hot stimulus (Contours are T stat for magnitude > 4) Run 1 Run 2 Run 3 Run 4 Effect, E i Sd, S T stat, / S -4 -2 2 4 MULTISTAT 1 -5 5
Shift of the hot stimulus Shift (secs) T stat for magnitude > 4.93
References http://www.math.mcgill.ca/keith/fmristat Worsley et al. (2002). A general statistical analysis for fMRI data. NeuroImage, 15:1-15. Liao et al. (2002). Estimating the delay of the response in fMRI data. NeuroImage, 16:593-606.
I/O of MINC in FMRISTAT I/O is written by Roger Gunn and John Aston, based on EMMA d=FMRIS_READ_IMAGE(‘file.mnc’, slice, frame) reads minc file into MATLAB structure e.g. d.dim=[128 128 12], d.data= array of data read in, etc. FMRIS_WRITE_IMAGE(d, slice, frame) reverses this, supply d.file_name = ‘file_out.mnc’ and d.parent_file for ‘like’ option of minc tools
Limitations of EMMA (1993) EMMA flips an array if the step is negative, so voxel coordinates do not agree with e.g. register There’s a lot of stuff in EMMA for PET data analysis that FMRISTAT never uses EMMA limits the amount of data that can be I/O in one shot – limit is now too low! Can modify MINC file dimensions, but not step or start EMMA cannot read vector data e.g. non-linear warps – must use Louis’ def_to_vol to break up a vector into separate x, y, z volumes … waste of space! Some parts of EMMA use obsolete commands that do not exist in MATLAB 6.2, e.g. table Need e.g. Frank to create a new EMMA for Windows with every new version of Windows or MATLAB
Work-arounds Need to store 3 x 3 symmetric matrices at every voxel, so write them as 6 ‘frames’ Local FWHM volumes use 2 frames, 1 for local FWHM and 1 for local resels PYTHON? Jonathan Taylor (Stanford) has translated FMRISTAT into PYTHON, and it can I/O MINC, ANALYZE and AFNI FMRISTAT can I/O ANALYZE (not well tested) but not yet AFNI …
A ‘stat’ file type? MULTISTAT takes as input, and produces as output: Effect volume Sd volume FWHM scalar or volume DF scalar Can we combine these into a single ‘stat’ file using EMMA (or a replacement)?