|
Size: 3036
Comment:
|
Size: 6856
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 2: | Line 2: |
[[FsFastTutorialV5.1|top]] | [[FsFastTutorialV5.1|previous]]| [[FsFastTutorialV5.1/FsFastDirStruct|next (Directory Structure)]] |
|
| Line 8: | Line 5: |
| = FSFAST Tutorial Data Description = | = Surface-based Interhemispheric Registration = |
| Line 10: | Line 7: |
| The functional data were collected as part of the Functional Biomedical Research Network (fBIRN, www.nbirn.net). | 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. |
| Line 12: | Line 9: |
| * Working-memory paradigm with distractors * 18 subjects * Each subject has 1 run (except sess01 which has 4 runs) * Collected at MGH Bay 4 (3T Siemens) * FreeSurfer anatomical analyses |
== Installation == |
| Line 18: | Line 11: |
| = Functional Paradigm = | Note: you only need to do this installation if you have version 5.1 or lower |
| Line 20: | Line 13: |
| The paradigm was designed to study the effects of emotional stimuli on the ability to recall items stored in working memory. * Blocked design * Each block consisted of 3 phases 1. Encode (16 sec) - 8 stick figures to remember (no response) 1. Distractor (16 sec) - 8 distractor images (response whether there is a face in the image) a. Emotional - Distractors are emotionally disturbing a. Neutral - Distractors are emotionally neutral 1. Probe (16 sec) - 8 pairs of stick figures. Subject responds as to which of the pair was in the original Encode. * Between each block was a 16 sec scrambled image used as baseline. {{attachment:wmparadigm.jpg}} The above yields 5 conditions: 1. Encode 1. Emotional Distractor 1. Neutral Distractor 1. Probe following Emotional Distractor 1. Probe following Neutral Distractor The scrambled image will be modeled as a baseline, not as a condition. = Functional Data = * Original data: each subject had 8 runs * This data: each subject has 1 run (except for sess01 who has 4) * Each run lasts 142 time points * TR = 2 sec. * There is one run of rest data for 13 subjects * There is a B0 map for each subject = Anatomical Data = * FreeSurfer analysis has been run for all 18 subjects = Getting the Data (not necessary for the Boston FreeSurfer Course) = You can get the analyzed functional data (10G) from: |
Download these files |
| Line 59: | Line 15: |
| wget ftp://surfer.nmr.mgh.harvard.edu/pub/data/fsfast-functional.tar.gz | 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} |
| Line 62: | Line 25: |
| You can get the structural data (5G) from: | Copy surfreg, xhemireg, mris_preproc into $FREESURFER_HOME/bin <<BR>> Copy mri_convert.{linux,mac} into $FREESURFER_HOME/bin/mri_convert <<BR>> Copy mri_vol2vol.{linux,mac} into $FREESURFER_HOME/bin/mri_vol2vol <<BR>> # Untar fsaverage_sym.tar.gz into your $SUBJECTS_DIR<<BR>> cd $SUBJECTS_DIR<<BR>> tar xvfz fsaverage_sym.tar.gz<<BR>> # Untar mult-comp-cor.tar.gz into $FREESURFER_HOME/average<<BR>> cd $FREESURFER_HOME/average<<BR>> tar xvfz mult-comp-cor.tar.gz<<BR>> # Copy mris_preproc into $FREESURFER_HOME/bin after making a backup<<BR>> == Apply an existing atlas (fsaverage_sym) in a group study == # Reg to atlas (1-2 hours per subject)<<BR>> # Creates $subject/xhemi<<BR>> # Creates lh.fsaverage_sym.sphere.reg in $subject and $subject/xhemi<<BR>> |
| Line 64: | Line 45: |
| wget ftp://surfer.nmr.mgh.harvard.edu/pub/data/fsfast-tutorial.subjects.tar.gz | 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. <<BR>> # 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 ... |
| Line 67: | Line 62: |
= Organizing the Tutorial (not necessary for the Boston FreeSurfer Course) = cd to a place on your network where you have enough space to unpack the tutorial data. |
# 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. |
| Line 74: | Line 66: |
| cd /place/with/space }}} Untar the data {{{ tar xvfz fsfast-tutorial.tar.gz tar xvfz fsfast-tutorial.subjects.tar.gz |
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 |
| Line 82: | Line 70: |
| You will need to set the TUTORIAL_DATA environment variable. In tcsh or csh |
# Analyze |
| Line 85: | Line 72: |
| setenv TUTORIAL_DATA /place/with/space | mri_glmfit --y lh.lh-rh.thickness.sm10.mgh --glmdir glm.lh.lh-rh.thickness.sm10 \ --osgm --surf fsaverage_sym lh |
| Line 88: | Line 76: |
| You will also need to link the FreeSurfer anatomical subjeccts (data in fsfast-tutorial.subjects) into your $SUBJECTS_DIR. You should set the FSFAST output format to be compressed NIFTI (nii.gz): |
# View |
| Line 93: | Line 78: |
| setenv FSF_OUTPUT_FORMAT nii.gz | tksurfer fsaverage_sym lh inflated -aparc -overlay glm.lh.lh-rh.thickness.sm10/osgm/sig.mgh |
| Line 96: | Line 81: |
| [[FsFastTutorialV5.1|top]] | [[FsFastTutorialV5.1|previous]]| [[FsFastTutorialV5.1/FsFastDirStruct|next (Directory Structure)]] | # Correct for multiple comparisons {{{ mri_glmfit-sim --glmdir glm.lh.lh-rh.thickness.sm10 \ --cwpvalthresh .5 --cache 2 abs }}} == Apply an existing atlas (fsaverage_sym) to an overlay of an individual == Map the left hemi to fsaverage left hemi {{{ mris_apply_reg --src lh.map.mgh --trg lh.map.lh.fsaverage_sym.mgh --streg $SUBJECTS_DIR/subject/surf/lh.fsaverage_sym.sphere.reg $FREESURFER_HOM/subjects/fsaverage_sym/surf/lh.sphere.reg }}} Map the right hemi to fsaverage left hemi {{{ mris_apply_reg --src rh.map.mgh --trg rh.map.lh.fsaverage_sym.mgh --streg $SUBJECTS_DIR/subject/xhemi/surf/lh.fsaverage_sym.sphere.reg $FREESURFER_HOM/subjects/fsaverage_sym/surf/lh.sphere.reg }}} You now how lh.map and rh.map on the lh of fsaverage_sym (and so in vertex-for-vertex alignment). You can look at with with {{{ tksurferfv fsaverage_sym lh inflated -aparc -ov lh.map.lh.fsaverage_sym.mgh -ov rh.map.lh.fsaverage_sym.mgh }}} These will be two different overlays (lh and rh), so one does not expect them to be identical. == Map the right hemisphere of an individual to the left of same person == Thickness map {{{ cd $SUBJECTS_DIR/subject mris_apply_reg --src surf/rh.thickness --trg rh-on-lh.thickness.mgh \ --streg xhemi/surf/lh.fsaverage_sym.sphere.reg surf/lh.fsaverage_sym.sphere.reg }}} rh-on-lh.thickness.mgh will be the right hemisphere thickenss sampled onto the left hemisphere. Map a label {{{ cd $SUBJECTS_DIR/subject mris_apply_reg --src-label label/rh.V1_exvivo.thresh.label --trg rh-on-lh.V1_exvivo.thresh.label \ --streg xhemi/surf/lh.fsaverage_sym.sphere.reg surf/lh.fsaverage_sym.sphere.reg }}} rh-on-lh.V1_exvivo.thresh.label is now a label on the right hemisphere == 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 }}} |
Contents
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) in a group study
# 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. Apply an existing atlas (fsaverage_sym) to an overlay of an individual
Map the left hemi to fsaverage left hemi
mris_apply_reg --src lh.map.mgh --trg lh.map.lh.fsaverage_sym.mgh
--streg $SUBJECTS_DIR/subject/surf/lh.fsaverage_sym.sphere.reg
$FREESURFER_HOM/subjects/fsaverage_sym/surf/lh.sphere.regMap the right hemi to fsaverage left hemi
mris_apply_reg --src rh.map.mgh --trg rh.map.lh.fsaverage_sym.mgh
--streg $SUBJECTS_DIR/subject/xhemi/surf/lh.fsaverage_sym.sphere.reg
$FREESURFER_HOM/subjects/fsaverage_sym/surf/lh.sphere.regYou now how lh.map and rh.map on the lh of fsaverage_sym (and so in vertex-for-vertex alignment). You can look at with with
tksurferfv fsaverage_sym lh inflated -aparc -ov lh.map.lh.fsaverage_sym.mgh -ov rh.map.lh.fsaverage_sym.mgh
These will be two different overlays (lh and rh), so one does not expect them to be identical.
1.4. Map the right hemisphere of an individual to the left of same person
Thickness map
cd $SUBJECTS_DIR/subject mris_apply_reg --src surf/rh.thickness --trg rh-on-lh.thickness.mgh \ --streg xhemi/surf/lh.fsaverage_sym.sphere.reg surf/lh.fsaverage_sym.sphere.reg
rh-on-lh.thickness.mgh will be the right hemisphere thickenss sampled onto the left hemisphere.
Map a label
cd $SUBJECTS_DIR/subject mris_apply_reg --src-label label/rh.V1_exvivo.thresh.label --trg rh-on-lh.V1_exvivo.thresh.label \ --streg xhemi/surf/lh.fsaverage_sym.sphere.reg surf/lh.fsaverage_sym.sphere.reg
rh-on-lh.V1_exvivo.thresh.label is now a label on the right hemisphere
1.5. 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
