Back to Multimodal Top

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).

Other useful references: Multimodal Registration Individual fMRI Integration

fMRI Basics

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.

This Data Set

All the commands in this section should be run from this directory

cd $TUTORIAL_DATA/multimodal/fmri

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.

Check Registration

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:

  1. Assemble data
  2. Spatially smooth data on surface (if desired)
  3. GLM Analysis

Assemble Data

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 \

Notes:

  1. The target surface is the left hemisphere of fsaverage
  2. Each input volume and corresponding registration is listed separately
  3. 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:

mri_info lh.ces.mgh

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.

Surface Smoothing

mri_surf2surf --hemi lh --s fsaverage --fwhm 5 --cortex\
  --sval lh.ces.mgh --tval lh.ces.sm05.mgh 

Notes:

  1. Full-Width/Half-Max (fwhm) is 5 mm
  2. The smoothing is only perform in regions of legitimate cortex (--cortex, which uses the lh.cortex.label).

GLM Fit

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

tksurfer fsaverage lh inflated -annot aparc -ov lh.ces.sm05.osgm/osgm/sig.mgh

glmfit.jpg

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:

  1. 1021=ctx-lh-pericalcarine
  2. 1022=ctx-lh-postcentral
  3. 1030=ctx-lh-superiortemporal
  4. 17=Left-Hippocampus

Measure Volume of Positive Activation in Each ROI

asegstats2table \
  --meas vol \
  --t ces.pos-masked.vol.stats \
  --i fbirn-101/ces.pos-masked.bb.stats \
  --i fbirn-103/ces.pos-masked.bb.stats \
  --i fbirn-104/ces.pos-masked.bb.stats \
  --i fbirn-105/ces.pos-masked.bb.stats \
  --i fbirn-106/ces.pos-masked.bb.stats  

Click HERE to see the output (ces.pos-masked.vol.stats). Notes:

  1. The values are the volume in mm3 of the ON>OFF voxels whose pvalues < .01.

  2. The value first column is just the row number. 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 \
  --t ces.abs-masked.mean.stats \
  --i fbirn-101/ces.abs-masked.bb.stats \
  --i fbirn-103/ces.abs-masked.bb.stats \
  --i fbirn-104/ces.abs-masked.bb.stats \
  --i fbirn-105/ces.abs-masked.bb.stats \
  --i fbirn-106/ces.abs-masked.bb.stats  

Click HERE to see the output (ces.abs-masked.mean.stats). Notes:

  1. The values are the mean HRF values (raw MR units) of the ON>OFF or ON<OFF voxels whose pvalues < .01.

  2. Some of the values are negative. This is possible because the mask is unsigned (abs).
  3. 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 \
  --t ces.pos-masked.mean.stats \
  --i fbirn-101/ces.pos-masked.bb.stats \
  --i fbirn-103/ces.pos-masked.bb.stats \
  --i fbirn-104/ces.pos-masked.bb.stats \
  --i fbirn-105/ces.pos-masked.bb.stats \
  --i fbirn-106/ces.pos-masked.bb.stats 

Click HERE to see the output (ces.pos-masked.mean.stats). Notes:

  1. The values are the mean HRF values (raw MR units) of the ON>OFF voxels whose pvalues < .01.

  2. NONE of the values are negative. This is because the mask is positive (pos).
  3. 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.