The purpose of this tutorial is to get you acquainted with the concepts need to perform fMRI integration in FreeSurfer by interacting with the data from several subjects in a group analysis. You will not learn how to perform fMRI analysis here; that knowledge is already assumed. This tutorial also does not assume any particular directory structure (as would happen in FS-FAST). This tutorial makes use of data from the Functional Biomedical Informatics Research Network (fBIRN, www.nbirn.net).
- fMRI Basics
- Check Registration
- Surface-based Group fMRI Analysis
- Group ROI fMRI Analysis
In fMRI, stimuli are presented to a subject, which creates a BOLD hemodynamic response function (HRF) in certain areas of the brain. The analysis is performed by first performing motion correction, then correlating each voxel's time course with the stimulus schedule convolved with an assumed HRF shape. The result is an estimate of the HRF amplitude for each condition at each voxel, contrasts of the HRF amplitudes of various conditions, the variance of this contrast, and some measure of the significance (eg, p, t, F, or z) map. All these maps are aligned with the motion correction template, which should be used as the registration template.
If You're at an Organized Course
If you are taking one of the formally organized courses, everything has been set up for you on the provided laptop. The only thing you will need to do is run the following commands in every new terminal window (aka shell) you open throughout this tutorial. Copy and paste the commands below to get started:
setenv SUBJECTS_DIR $TUTORIAL_DATA/buckner_data/tutorial_subjs cd $SUBJECTS_DIR/multimodal/fmri
To copy: Highlight the command in the box above, right click and select copy (or use keyboard shortcut Ctrl+c), then use the middle button of your mouse to click inside the terminal window (this will paste the command). Press enter to run the command.
These two commands set the SUBJECTS_DIR variable to the directory where the data is stored and then navigates into this directory. You can now skip ahead to the tutorial (below the gray line).
If You're not at an Organized Course
If you are NOT taking one of the formally organized courses, then to follow this exercise exactly be sure you've downloaded the tutorial data set before you begin. If you choose not to download the data set you can follow these instructions on your own data, but you will have to substitute your own specific paths and subject names. These are the commands that you need to run before getting started:
tcsh source your_freesurfer_dir/SetUpFreeSurfer.csh setenv SUBJECTS_DIR $TUTORIAL_DATA/buckner_data/tutorial_subjs cd $SUBJECTS_DIR/multimodal/fmri
Notice the command to open tcsh. If you are already running the tcsh command shell, then the 'tcsh' command is not necessary. If you are not using the tutorial data you should set your SUBJECTS_DIR to the directory in which the recon(s) of the subject(s) you will use for this tutorial are located.
There are five subjects from the fBIRN Phase I acquisition. They are fbirn-10?, where "?" is 1, 3, 4, 5, 6 (note that #2 is missing). Each has a FreeSurfer reconstruction by the name fbirn-anat-10?.v4. The individual registration ROI Analysis have already been performed on all subjects.
The data are the results from a sensorimotor paradigm (flashing checkerboard, audible tone, and finger tapping). The raw fMRI data were motion corrected but not smoothed. Each subject has four volumes:
template.nii - motion correction template ces.nii - contrast effect size cesvar.nii - variance of contrast effect size sig.nii - signed significance of contrast (-log10(p))
The contrast is the contrast between the ON and the OFF (ie, a comparison against baseline). The sig.nii volume has signed -log10(p) values. So, if the p-value = .01, -log10(p) = 2. If the contrast was positive, then the value would be +2, if negative (ie, ON<OFF), then the value would be -2.
First (and always), check the registration (see the Registration Tutorial for more information).
tkregister2 --mov fbirn-101/template.nii \ --reg fbirn-101/bb.register.dat --surf
This registration should already be good, so there is no need to make any modifications. In a real analysis, you should check the registrations for all subjects, but that is not necessary here.
Surface-based Group fMRI Analysis
The group analysis is done in three stages:
- Assemble data
- Spatially smooth data on surface (if desired)
- GLM Analysis
Only the first step is different than an anatomical (eg, thickness) analysis. Still, you run mri_preproc, but with different arguments:
mris_preproc --target fsaverage --hemi lh \ --iv fbirn-101/ces.nii fbirn-101/bb.register.dat \ --iv fbirn-103/ces.nii fbirn-103/bb.register.dat \ --iv fbirn-104/ces.nii fbirn-104/bb.register.dat \ --iv fbirn-105/ces.nii fbirn-105/bb.register.dat \ --iv fbirn-106/ces.nii fbirn-106/bb.register.dat \ --projfrac 0.5 \ --out lh.ces.mgh
- The target surface is the left hemisphere of fsaverage
- Each input volume and corresponding registration is listed separately
- The fMRI data are sampled half-way between the white and pial surfaces ("--projfrac 0.5").
The output is lh.ces.mgh. It has the same size as any other surface overlay for fsaverage eg, lh.thickness. To see it's dimensions, run:
You will see "dimensions: 163842 x 1 x 1 x 5", indicating that there are 163842 "columns" (ie, vertices), 1 "row", and 1 "slice". There are 5 frames, one for each subject.
mri_surf2surf --hemi lh --s fsaverage --fwhm 5 --cortex\ --sval lh.ces.mgh --tval lh.ces.sm05.mgh
- Full-Width/Half-Max (fwhm) is 5 mm
- The smoothing is only perform in regions of legitimate cortex (--cortex, which uses the lh.cortex.label).
This performs a one-sample, group mean (OSGM) just looking for places where the CES is different than 0.
mri_glmfit --y lh.ces.sm05.mgh --surf fsaverage lh \ --osgm --glmdir lh.ces.sm05.osgm --cortex
tksurfer fsaverage lh inflated -annot aparc -ov lh.ces.sm05.osgm/osgm/sig.mgh
Note that the activation is light because there are only five subjects, but the activation that is there is in the right place.
Group ROI fMRI Analysis
The purpose of this tutorial is to combine individual stats files into one summary table file that can be loaded into a spreadsheet program such as excel or oocalc.
The individual ROI analyses were performed as described in the Individual fMRI Integration Tutorial. Namely, stats files were created by mri_segstats using no functional contraint, an unsigned (abs) constraint, and a positive (pos) constraint to create stats files in each directory. Furthermore, only 4 segmentations were summarized:
Measure Volume of Positive Activation in Each ROI
asegstats2table \ --meas volume \ --tablefile ces.pos-masked.vol.stats \ --i fbirn-101/ces.pos-masked.bb.stats \ fbirn-103/ces.pos-masked.bb.stats \ fbirn-104/ces.pos-masked.bb.stats \ fbirn-105/ces.pos-masked.bb.stats \ fbirn-106/ces.pos-masked.bb.stats
Click here to see the output (ces.pos-masked.vol.stats). Notes:
The values are the volume in mm3 of the ON>OFF voxels whose pvalues < .01.
- The value first column is just the row number (starting from 0). Normally, the subject name would be here, but the subject name is not input to the command above.
Measure Mean HRF Contrast of Unsigned Activation in Each ROI
asegstats2table \ --meas mean \ --tablefile ces.abs-masked.mean.stats \ --i fbirn-101/ces.abs-masked.bb.stats \ fbirn-103/ces.abs-masked.bb.stats \ fbirn-104/ces.abs-masked.bb.stats \ fbirn-105/ces.abs-masked.bb.stats \ fbirn-106/ces.abs-masked.bb.stats
Click here to see the output (ces.abs-masked.mean.stats). Notes:
The values are the mean HRF values (raw MR units) of the ON>OFF or ON<OFF voxels whose pvalues < .01.
- Some of the values are negative. This is possible because the mask is unsigned (abs).
- In particular, the cross-subject average of Left-Hippocampus is near 0. This is expected because the sensorimotor task should not activate hippocampus.
Measure Mean HRF Contrast of Postiive Activation in Each ROI
asegstats2table \ --meas mean \ --tablefile ces.pos-masked.mean.stats \ --i fbirn-101/ces.pos-masked.bb.stats \ fbirn-103/ces.pos-masked.bb.stats \ fbirn-104/ces.pos-masked.bb.stats \ fbirn-105/ces.pos-masked.bb.stats \ fbirn-106/ces.pos-masked.bb.stats
Click here to see the output (ces.pos-masked.mean.stats). Notes:
The values are the mean HRF values (raw MR units) of the ON>OFF voxels whose pvalues < .01.
- NONE of the values are negative. This is because the mask is positive (pos).
- In particular, the cross-subject average of Left-Hippocampus is NOT close to 0 because only positive values were chosen. So, one must be careful how to interpret and draw conclusions from these numbers.