FSL-VBM : VBM-style analysis with FSL toolsFSL-VBM v1.1 - Voxelwise analysis of multi-subject structural MRI data
Intro: why FSL-VBM? -
Running FSL-VBM - overview -
Preparing data -
Brain extraction | ![]() |
New version: FSL-VBM v1.1 has switched the nonlinear registration to using FNIRT (FMRIB's Nonlinear Registration Tool). FNIRT is about 10-15 times faster than IRTK on structural data and possibly a little more 'accurate'. An FSL-VBM v1.1 analysis is not compatible with an older analysis. To see the full list of changes from the previous version see what's new.
This approach is unbiased, in that it requires no a priori information about the location of these possible differences in the grey matter, and is not operator-dependant. It follows the optimised VBM protocol developed by Good et al., 2001.
To be able to compare all the GM images on a voxelwise basis, they need to be transformed into a standard space, which involves the use of non-linear registration. This approach is somewhat of a trade-off: in order to be able to compare voxel-by-voxel the GM volume in your images, you want all the structures across your subjects to match (that's why you use a non-linear registration), but not "too much" or you would not be able to see any difference, if all these structures were perfectly aligned across the subjects (that's why you use limited degrees-of-freedom for the non-linear registration).
Please bear in mind that the interpretation of the results you may obtain with such voxel-wise analysis has inherent limitations, however. It is sometimes not possible to determine if the results you may find are the consequence of an effective reduced thickness or atrophy in the grey matter, or rather an indirect reflection of a different gyrification pattern. Indeed, it might be possible that a misalignment of the gyri/sulci or even different folding patterns may lead to the difference of grey matter distribution that you have found. Moreover, there is theoretically a continuum of results dependent on the degrees of freedom of the non-rigid registration used (here free-form deformation with 20 mm initial control point spacing) and the amount of smoothing.
For more detailed information:
On the issues of such voxel-wise analyses:
see Bookstein,"Voxel-based morphometry" should not be used with imperfectly registered images. Neuroimage 2001.
see Ashburner et al., Why voxel-based morphometry should be used. Neuroimage 2001.
see Crum et al., Zen and the art of medical image registration: correspondence, homology, and quality. Neuroimage 2003.
see Jones et al., The effect of filter size on VBM analyses of DT-MRI data. Neuroimage 2005.
On one example clinical application of this approach:
see Douaud et al., Anatomically related grey and white matter abnormalities in adolescent-onset schizophrenia. Brain 2007.
Structural data was analysed with FSL-VBM, a voxel-based
morphometry style analysis [Ashburner 2000, Good 2001] carried out
with FSL tools [Smith 2004]. First, structural images were
brain-extracted using BET [Smith 2002]. Next, tissue-type segmentation
was carried out using FAST4 [Zhang 2001]. The resulting grey-matter
partial volume images were then aligned to MNI152 standard space using
the affine registration tool FLIRT [Jenkinson 2001, 2002], followed
optionally by nonlinear registration using FNIRT [Andersson 2007a,
2007b], which uses a b-spline representation of the registration warp
field [Rueckert 1999]. The resulting images were averaged to create a
study-specific template, to which the native grey matter images were
then non-linearly re-registered. The registered partial volume images
were then modulated (to correct for local expansion or contraction) by
dividing by the Jacobian of the warp field. The modulated segmentated
images were then smoothed with an isotropic Gaussian kernel with a
sigma of ?? mm. Finally, voxelwise GLM was applied using
permutation-based non-parametric testing, correcting for multiple
comparisons across space.
[Andersson 2007a] J.L.R. Andersson, M. Jenkinson and S. Smith.
[Andersson 2007b] J.L.R. Andersson, M. Jenkinson and S. Smith.
[Ashburner 2000] Ashburner, J., Friston, K.
[Good 2001] Good, C., Johnsrude, I., Ashburner, J., Henson, R., Friston, K., Frackowiak, R.
[Jenkinson 2001] M. Jenkinson and S.M. Smith.
[Jenkinson 2002] M. Jenkinson, P.R. Bannister, J.M. Brady, and S.M. Smith.
[Rueckert 1999] D. Rueckert, L. I. Sonoda, C. Hayes, D. L. G. Hill, M. O. Leach, and D. J. Hawkes.
[Smith 2002] S.M. Smith.
[Smith 2004] S.M. Smith, M. Jenkinson, M.W. Woolrich, C.F. Beckmann, T.E.J. Behrens, H. Johansen-Berg, P.R. Bannister, M. De Luca, I. Drobnjak, D.E. Flitney, R. Niazy, J. Saunders, J. Vickers, Y. Zhang, N. De Stefano, J.M. Brady, and P.M. Matthews.
[Zhang 2001] Y. Zhang, M. Brady, and S. Smith.
Non-linear optimisation.
FMRIB technical report TR07JA1 from www.fmrib.ox.ac.uk/analysis/techrep
Non-linear registration, aka Spatial normalisation
FMRIB technical report TR07JA2 from www.fmrib.ox.ac.uk/analysis/techrep
Voxel-based morphometry - The methods.
NeuroImage11, 805-821, 2000.
A voxel-based morphometric study of ageing in 465 normal adult human brains.
NeuroImage14(1), 21-36, 2001.
A global optimisation method for robust affine registration of brain images.
Medical Image Analysis, 5(2):143-156, June 2001.
Improved optimisation for the robust and accurate linear registration and motion correction of brain images.
NeuroImage, 17(2):825-841, 2002.
Non-rigid registration using free-form deformations: Application to breast MR images.
IEEE Transactions on Medical Imaging, 18(8):712-721, 1999.
Fast robust automated brain extraction.
Human Brain Mapping, 17(3):143-155, November 2002.
Advances in functional and structural MR image analysis and implementation as FSL.
NeuroImage, 23(S1):208-219, 2004.
Segmentation of brain MR images through a hidden Markov random field model and the expectation maximization algorithm.
IEEE Trans. on Medical Imaging, 20(1):45-57, 2001.
For instance:
mkdir my_fsl_vbm
Then copy into your FSL-VBM directory all of your subjects' T1 images, giving each subject's T1 image a different name, preferably with each prefix corresponding to each of your group, for example:
CON_2304.nii.gz CON_2878.nii.gz CON_3456.nii.gz CON_4133.nii.gz CON_4690.nii.gz PAT_2042.nii.gz PAT_2280.nii.gz PAT_2632.nii.gz PAT_3193.nii.gz PAT_4134.nii.gz PAT_5357.nii.gz PAT_6659.nii.gz
b) If you have more than one group and the number of subjects in
each is not the same, choose (at random) among the biggest group(s)
the images that you will use to create the study-specific template,
with the same number as of the smallest group (in order to create an
unbiased template - see below for further explanation). Once you've
chosen which T1 images to keep to build the template, put all the
selected names of exams in a file called template_list
in your FSL-VBM directory.
All your different populations included in this study MUST be represented in the template construction.
For instance, as we have only 5 controls for 7 patients, we have to select 5 patients out of the 7:
for g in CON_2304.nii.gz CON_2878.nii.gz CON_3456.nii.gz CON_4133.nii.gz CON_4690.nii.gz \ PAT_2042.nii.gz PAT_2632.nii.gz PAT_3193.nii.gz PAT_4134.nii.gz PAT_6659.nii.gz; do echo $g >> template_list done
c) At this point you should have a quick look at all your data to check that all subjects' structural images are what you expected:
slicesdir `imglob *`
The imglob
command lists all of your input images.
The slicesdir
command takes the
list of images and creates a simple web-page containing snapshots
for each of the images. Once it has finished running it tells you
the name of the web page to open in your web browser, to view the
snapshots. Have a careful look.
d) It's a good idea to consider your cross-subject statistical
model before you run the FSL-VBM analysis. So you should at
this point create your design.mat
and design.con
in your FSL-VBM
directory; see the randomise
manual.
WARNING!!! The order of the rows in your design.mat model
MUST match the order of your images when doing an 'ls' command in your
FSL-VBM directory.
The first FSL-VBM script moves all your input images into a
new struc
subdirectory (and adding "_struc" to the end
of each filename). It then runs brain extraction on the images. You
can either use the -b
option to get default BET
behaviour, or use the -N
option if your images include
a lot of neck (which most of the time confounds the BET
preprocessing).
To run this first script, just type:
fslvbm_1_bet -b
or
fslvbm_1_bet -N
in your FSL-VBM directory.
At the end of this step, it is once again worth CHECKING the
brain images (*_brain.*) in your struc
directory by
loading the new slicesdir output into a web browser. Brain extraction
is the step which is the most likely to need tweaking in the FSL-VBM
protocol. If you do not get good results with either option, you can
try adding other bet options after
the -b
or -N
option.
If you later want to add more subjects to your analysis then just
put the new subjects' images inside the toplevel directory
(e.g. my_fsl_vbm
) and
re-run fslvbm_1_bet
. Don't forget to
update template_list
if necessary.
The second step of the
FSL-VBM protocol creates the study-specific GM template.
All
brain-extracted images are segmented into GM, WM and CSF. GM images
(*_struc_GM) and their respective mirror images (*_struc_GM_xflipped)
are then registered to the GM ICBM-152 template. The registered GM
images and their mirror images are concatenated into a 4D image called
"template_GM_4D" and averaged to create the study-specific GM template
at 2x2x2mm3 resolution in standard space.
If you have different populations, they should all be represented in your template. You should use the same number of subjects from each in the construction of the study-specific template. This is to avoid any bias during the registration step that would have consisted in favouring one of the groups. For example, if you have only controls in your template, or more controls than patients, it is likely that the non-linear registration would be more accurate for your control subjects than for your patients. Then you cannot distinguish, in your results showing differences in the GM volume distribution between the two groups, what is actually disease-related from what is registration-related!
For this step, you have two options: either you want to create a
template based on an affine registration (-a
option) of GM images to the GM
ICBM-152 template, or on a non-linear registration (-n
option).
So to run this second step script, just type:
fslvbm_2_template -a
or
fslvbm_2_template -n
in your FSL-VBM directory.
Once this is completed, CHECK the "template_GM_4D" image in
struc
with the movie loop in fslview.
The final script will non-linearly register all your GM images to
the study-specific template and concatenate them into a 4D image
("GM_merg") in the stats
directory in your working
FSL-VBM directory. The FSL-VBM protocol also introduces a compensation
(or "modulation") for the contraction/enlargement due to the
non-linear component of the transformation: each voxel of each
registered grey matter image is divided by the Jacobian of the warp
field (see Good et al., 2001). All the modulated registered GM images
are concatenated into a 4D image in the stats directory
("GM_mod_merg") and then smoothed ("GM_mod_merg_s3" for instance) by a
range of Gaussian kernels; sigma = 2, 3, 4mm, i.e., approximately from
FWHM = 2x2.3 = 4.6mm to FWHM = 9mm.
Finally, this last step gets everything ready for you to run
permutation-based non-parametric inference using the design.mat and
design.con which you supplied, a mask of the GM ("GM_mask") and the 4D
multi-subject concatenated processed data (e.g. "GM_mod_merg_s3"). The
script runs randomise with inference (generation of p-value maps)
turned off, so that it very quickly creates just the raw tstat
maps. These tstats maps should help you decide which smoothing is the
most relevant to feed into a full run of randomise, and which
threshold to use for the cluster-based thresholding
(option -c
in
the randomise command); however,
in general we would recommend using the TFCE option (-T) instead of
the cluster-based thresholding.
WARNING!!! By default fslvbm_3_proc concatenates the images in alphabetical order (following the names that they started with); make sure this matches the subject ordering assumed in your design.mat model.
All of the above is done simply by running the script:
fslvbm_3_proc
in your FSL-VBM directory.
Please do not forget the final CHECK of the 4D image of modulated registered GM images "GM_mod_merg" using the movie loop in fslview.
We strongly recommend using randomise (permutation
testing) for inference in VBM-style analysis and not Gaussian random
field theory (GRF), as the approximations underlying the latter are
not generally appropriate in such analyses.
E1 - Displaying TFCE-based thresholding results
Once you have chosen the most appropriate smoothing (e.g. sigma = 3mm) for the TFCE-based analysis, run randomise (see randomise usage), for instance:
randomise -i GM_mod_merg_s3 -m GM_mask -o fslvbm -d design.mat -t design.con -T -n 5000 -V
You can then view the (1-p) corrected p-value images in FSLView:
fslview $FSLDIR/data/standard/MNI152_T1_2mm fslvbm_tfce_corrp_tstat1 -l Red-Yellow -b 0.949,1
E2 - Displaying cluster-based thresholding results
Once you have chosen the most appropriate smoothing (e.g. sigma = 3mm) and threshold (e.g. t > 2.3) for the cluster-based correction, then feed them into a full run of randomise (see randomise usage), for instance:
randomise -i GM_mod_merg_s3 -m GM_mask -o fslvbm -d design.mat -t design.con -c 2.3 -n 5000 -V
Then you can threshold your "_clustere_corrp_" images (corrected p-values maps) at 0.95 to keep only the significant clusters and use it to mask the corresponding tstats map:
fslmaths fslvbm_clustere_corrp_tstat1 -thr 0.95 -bin mask_pcorrected fslmaths fslvbm_tstat1 -mas mask_pcorrected fslvbm_tstat1_correctedbefore displaying it with fslview overlaid on the template_GM or the MNI152 template for example:
fslview $FSLDIR/data/standard/MNI152_T1_2mm fslvbm_tstat1_corrected -l Red-Yellow -b 2.3,4
v1.1
This version switched the nonlinear registration from using IRTK to using FNIRT (FMRIB's Nonlinear Registration Tool) and as a result there are some minor usage changes. FNIRT is about 10-15 times faster than IRTK on structural data and possibly a little more 'accurate'. An FSL-VBM v1.1 analysis is not compatible with an older analysis.
tbss_1_preproc is no longer used.
FAST4 is now used for segmentation instead of FAST3.
v1.0
Original FSL-VBM release.