Differences between revisions 17 and 18
Deletions are marked like this. Additions are marked like this.
Line 50: Line 50:
There is no need to do the right hemisphere. If this is something you choose to do, you can run the first command before the above two commands finish, but wail to run the 2nd (--xhemi) command until the lh --hemi command has finished <<BR>> Though the right hemisphere is not explicitly listed above, it is implied by --lh --xhemi. It is possible to run the above commands with --rh, but there is no need to do so unless you are trying to evaluate the bias the procedure. If this is something you choose to do, you can run the first command before the above two commands finish, but wait to run the 2nd (--xhemi) command until the lh --hemi command has finished. <<BR>>

1. Surface-based Interhemispheric Registration

Those using this procedure should site the following paper: Greve, Douglas N., Lise Van der Haegen, Qing Cai, Steven Stufflebeam, Mert R. Sabuncu, Bruce Fischl, and Marc Bysbaert. "A surface-based analysis of language lateralization and cortical asymmetry." (2013). Journal of Cognitive Neuroscience 25.9: 1477-1492.

1.1. Installation

Note: you only need to do this installation if you have version 5.1 or lower

Download these files

ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/xhemi/surfreg
ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/xhemi/xhemireg
ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/xhemi/mris_preproc
ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/xhemi/fsaverage_sym.tar.gz
ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/xhemi/mult-comp-cor.tar.gz
ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/xhemi/mri_convert.{linux,mac}
ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/xhemi/mri_vol2vol.{linux,mac}
ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/xhemi/mri_surf2surf.{linux,mac}

Copy surfreg, xhemireg, mris_preproc into $FREESURFER_HOME/bin
Copy mri_convert.{linux,mac} into $FREESURFER_HOME/bin/mri_convert
Copy mri_vol2vol.{linux,mac} into $FREESURFER_HOME/bin/mri_vol2vol

# Untar fsaverage_sym.tar.gz into your $SUBJECTS_DIR
cd $SUBJECTS_DIR
tar xvfz fsaverage_sym.tar.gz

# Untar mult-comp-cor.tar.gz into $FREESURFER_HOME/average
cd $FREESURFER_HOME/average
tar xvfz mult-comp-cor.tar.gz

# Copy mris_preproc into $FREESURFER_HOME/bin after making a backup

1.2. Apply an existing atlas (fsaverage_sym)

# Reg to atlas (1-2 hours per subject)
# Creates $subject/xhemi
# Creates lh.fsaverage_sym.sphere.reg in $subject and $subject/xhemi

foreach subject (subjectlist)
  surfreg --s $subject --t fsaverage_sym --lh
  surfreg --s $subject --t fsaverage_sym --lh --xhemi
end

Though the right hemisphere is not explicitly listed above, it is implied by --lh --xhemi. It is possible to run the above commands with --rh, but there is no need to do so unless you are trying to evaluate the bias the procedure. If this is something you choose to do, you can run the first command before the above two commands finish, but wait to run the 2nd (--xhemi) command until the lh --hemi command has finished.

# Create a stack of subjects

mris_preproc --target fsaverage_sym --hemi lh 
  --xhemi --paired-diff \
  --srcsurfreg fsaverage_sym.sphere.reg \
  --meas thickness \
  --out lh.lh-rh.thickness.sm00.mgh \
  --s subj1 --s subj2 ...

# Smooth. This example smooths by 10mm on the surface. This is only an example and your data might be better off being smoothed more or less. There is no way to determine what the optimal smoothing level is.

mris_fwhm --s fsaverage_sym --hemi lh --cortex --smooth-only --fwhm 10\
 --i lh.lh-rh.thickness.sm00.mgh --o lh.lh-rh.thickness.sm10.mgh

# Analyze

mri_glmfit --y lh.lh-rh.thickness.sm10.mgh --glmdir glm.lh.lh-rh.thickness.sm10 \
 --osgm --surf fsaverage_sym lh 

# View

tksurfer fsaverage_sym lh inflated -aparc -overlay glm.lh.lh-rh.thickness.sm10/osgm/sig.mgh

# Correct for multiple comparisons

mri_glmfit-sim --glmdir glm.lh.lh-rh.thickness.sm10 \
   --cwpvalthresh .5 --cache 2 abs

1.3. Build Your Own Atlas

# Create xhemi subject (don't reg, a few minutes to finish)

foreach subject (subjectlist)
  xhemireg --s $subject
end

# Reg to existing sym atlas # Note: if you want test how symmetrical the atlas is use --lhrh # (but it takes twice as long)

foreach subject (subjectlist)
  surfreg --s $subject --t fsaverage_sym --lh
  surfreg --s $subject --t fsaverage_sym --xhemi --lh
end

# Make first iteration (<5min)

make_average_subject --out myatlas.i1 \
  --surf-reg fsaverage_sym.sphere.reg \
  --subjects subjectlist \
  --xhemi \
  --no-vol --template-only 

# Reg to first iteration # Note: if you want test the symmetry, use --lhrh

foreach subject (subjectlist)
  surfreg --s $subject --t myatlas.i1 --lh
  surfreg --s $subject --t myatlas.i1 --xhemi --lh
end

# Make second iteration (<5min)

make_average_subject --out myatlas.i2 \
  --surf-reg myatlas.i1.sphere.reg \
  --subjects subjectlist \
  --xhemi \
  --no-vol --template-only 

# Reg to second iteration. Note: if you want test the symmetry, use --lhrh

foreach subject (subjectlist)
  surfreg --s $subject --t myatlas.i2 --lh
  surfreg --s $subject --t myatlas.i2 --xhemi --lh
end

# Note: you may need to iterate "many" times to reach convergence. How many is "many"? Not sure, but in the above publication is was about 30 times. Probably overkill.

# Make final iteration (1-2 hours)

 make_average_subject --out myatlas.i3 \
  --surf-reg myatlas.i2.sphere.reg \
  --subjects subjectlist \
  --xhemi --lh

Xhemi (last edited 2022-03-01 12:24:25 by DougGreve)