glm_allvox
Ensuring SPM5 uses all voxels within an explicitly specified mask during model estimation
This a short program that helps to explicitly specify which voxels will be included during model estimation at the individual subject level in SPM5. By default, only those voxels that have intensities higher than 80% of the global brain mean will be included in the statistics. This represent a fairly good guess of where the brain was, but it may sometimes be problematic especially when there is a signal drop-out in the regions of interest. A region with signal drop-out (i.e., low BOLD signal values) may be excluded from the model estimation, because the intensities were too low to survive the 80% global brain mean criterion. This automatic thresholding usually takes place even if an ‘explicit mask’ image is specified (!).
The mask image that was used for model estimation can be viewed after statistics have been computed by displaying the mask.img file in the analysis directory. This file is included for reference only. If a voxel is not in this mask image, this means that statistics for it were simply not computed.
This problem is aggravated at the group level, when a group mask is computed. The group mask is the intersection between the individual subjects’ masks, which means that even if only subject’s mask was missing a certain region, this region will not be included in the group statistics. Therefore, it is always a good idea to check your group mask.img file before concluding that there was no activation in certain region.
One possible solution to this issue is to explicitly specify which voxels to be included in the statistics at the individual subject level. This can be done using a two-step process:
1. Setting the ‘fMRI model specification –> Explicit mask’ option to refer to a mask image file containing all gray matter voxels (for instance) and re-estimating the GLM from it. I have found it useful to define this explicit mask using the subject’s normalised inplane anatomical image, by segmenting out the gray and the white matter from it, then combining them, and then smoothing it with a large kernel (20mm), in order to be really lenient as to which voxels would be included. Whether or not the inplane should be normalised before segmenting depends, naturally, on whether or not the functional images that will be used for statistics have been normalised.
2. Running the glm_allvox program described here, to lower the default intensity threshold applied by SPM. The program should be run after model specification, but BEFORE model estimation. Within our lab the program can be used directly by typing “glm_allvox” at the matlab prompt, or otherwise it can be downloaded from here
and saved as a file named “glm_allvox.m” in a directory on your matlab path. After starting the program, simply follow the messages and prompts in the matlab console.
Here is a short help section describing the program. It can be evoked by typing “help glm_allvox” at the matlab prompt:
>>help glm_allvox
% FORMAT glmallvox
% Sets the threshold for estimation for all voxels in the brain
% (or the explicitly specified mask) to -Inf, thus ensuring that
% statistics are performed in all voxels.
%
% Should be run after model specification, but BEFORE model estimation,
% on SPM.mat files generated within SPM5.
%
% ——————————————————————–
% @(#)glm_allvox.m 1.0 Kalina Christoff 2006-03-23
Please, send bug reports, suggestions, or complaints to:
christofflab@psych.ubc.ca
• Phone: 1-604-822-2849 • Location: Rm.3022 •