GLM Voxelwise Covariates

or, correcting for Grey Matter variation across subjects

A current limitation for imaging of brain function is the potential confound of anatomical differences or registration error across subject. This may manifest via apparent functional “activation” for between-subject analyses. With respect to functional activations, underlying tissue mismatches can be regarded as a nuisance variable.

Using standard statistical techniques, the probability of gray matter at a given voxel may be cast as a covariate (nuisance variable) in the analysis of voxelwise multisubject functional data. We present a method to assess how much of a functional activation can be explained by underlying anatomical differences. This can remove false activations. Conversely, this approach also detects the component of the functional activation which cannot be attributed to anatomical difference and thus is likely due to functional difference alone. In this case, the improved variance model can yield increased activations.


This work was published as:

"Integrating VBM into the General Linear Model with Voxelwise Anatomical Covariates", TR Oakes, AS Fox, T Johnstone, MK Chung, N Kalin, RJ Davidson, NeuroImage, 34:500-508, 2006.


Our implementation is a modified version of Keith Worsley's "fmristat" GLM program. Instructions for using the software follow below. There is also a very nice toolbox for SPM by Casanova et al. that lets you easily incorporate this correction into an existing SPM analysis stream. For non-SPM analysis, the "fmristat" modification described below has been used for several analysis and the consensus is that it is easy to use and seems to work as expected.

The usage for "multistatic" is exactly the same as Keith Worsley's multistat.m. The only change in calling the modified program is the addition of another input parameter, namely your covariate-image file-list. The format of this input is the same as the dependent-image file-list. Additional information can be found using matlab help, i.e. typing "help multistatic". A cursory manual for multistatic was written by Drew Fox (/home/fox/fmristat_batch/asf_multistatic.m)

The program only works in matlab and it requires that fmristat be previosuly installed and in your matlab path. You should be able to run it by typing:

>> addpath('/apps/dev/fmristat_2006_02_21/');
>> addpath('/home/fmristat_batch');
>> help asf_multistatic
>> asf_multistatic(dependent_files_ef, input_files_sd, df_data, fwhm_data, X, contrast, output_file_base, which_stats, fwhm_varatio, niter, df_limit, covariate_files)

This program assumes that your covariate_files are nuisance variables, and requires no other information about what you are trying to do... Specifically, it automatically adds data from your covariate_files to the design matrix and adds a zero to the end of each row of contrasts you are estimating.

If you wish to override this behavior, and obtain the parameter estimates of your covariate files on your dependent files, you can simply specify contrasts that include them, i.e. make the contrast matrix match your multistatic-design-matrix (i.e. including the covariates) rather than your input design matrix.

Not all of the statistical techniques that Dr. Worsley implemented in multistat are available in multistatic... but the code should tell you if you try anything that it can't do. After running multistatic, you will need to examine the results using (create contrasts, threshold statistical maps, etc.) using the simple and robust fmristat tools.

If you want to add multiple covariate files, you can run /home/fox/fmristat_batch/asf_multistatic_multipleCovar.m This code has the same usage as above with the exception that the covariate_files list can be longer. (Note that the number of covariate files must be a multiple of the number of DV files.)


Questions or comments? Terry Oakes: troakes(at)wisc.edu