ROI Analyses in FreeSurfer

Note: This is a short post jotting down my thoughts on FreeSurfer ROI analysis. This will be developed into a longer post later; however, this is a topic I've been looking into for some time, and I want to keep track of my sources. 

Regions of interest (ROIs) are groups of voxels that parameter estimates (or other data) are extracted from. With volumetric data, you specify the x-, y-, and z-coordinates of the origin for your ROI, and then build a sphere around it. (Spheres aren't the only method, but they are common.) You can do this with, for example: AFNI's 3dUndump; SPM's Marsbar toolbox; FSL's fslmaths.

I haven't been able to find out how to do a similar procedure with FreeSurfer. FS is 2D, so the ROI would probably be a circle instead of a sphere. Once your ROI is defined, then you could extract thickness, volume, and other measurements from the ROI.

See this post by Doug Greve about using a vertex as the base for an ROI: https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial/QuestionAnswers

Also keep this:

#!/bin/tcsh

setenv SUBJECTS_DIR `pwd`

#Create 5mm sphere ROI with 3dUndump
3dUndump -srad 5 -prefix S2.nii -master MNI_caez*+tlrc.HEAD -orient LPI -xyz ROI_file.txt
#Convert to NIFTI
#3dAFNItoNIFTI S2+tlrc

#View in tkmedit
tkmedit -f MNI_caez_N27.nii -overlay S2.nii -fthresh 0.5

#Register anatomical template to fsaverage (FreeSurfer template)
fslregister --s fsaverage --mov MNI_caez_N27.nii --reg tmp.dat

#View ROI on fsaverage
tkmedit fsaverage T1.mgz -overlay S2.nii -overlay-reg tmp.dat -fthresh 0.5 -surface lh.white -aux-surface rh.white


#Map ROI to fsaverage surface
mri_vol2surf --mov S2.nii \
        --reg tmp.dat \
        --projdist-max 0 1 0.1 \
        --interp nearest \
        --hemi lh \
        --out lh.fsaverage.S2.mgh \
        --noreshape

#Check how well the ROI maps onto the inflated surface
tksurfer fsaverage lh inflated -overlay lh.fsaverage.S2.mgh -fthresh 0.5



If you want to extract data from an ROI label, use the mri_segstats option. For example, let's say that I have all of my subjects stacked together in a single dataset using the mris_preproc option, and I have the right hemisphere volume maps in a single dataset. If my ROI is called ROI.mgh, I would use this command:


mri_segstats --i ../../rh.volume.StudyName.10.mgh --seg ROI.mgh --excludeid 0 --avgwf ROI_results.dat


Which would print the average volume over the ROI into the file ROI_results.dat.

Best,


-Andy

Ordering of Options in Commands

Alert reader Surya recently pointed out how using different masks in the command fslstats led to the same result, leading him to question whether there was an error when creating the masks. 

The actual cause of the error, however, was in how the command was constructed. Here was the initial syntax:

fslstats image.nii.gz -M -k mask.nii.gz

Read more