Differences between revisions 41 and 42
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
'''Index'''
<<TableOfContents>>
'''Index''' <<TableOfContents>>
Line 7: Line 6:
recon-all : Performs all, or any part of, the FreeSurfer cortical reconstruction
process.
recon-all : Performs all, or any part of, the FreeSurfer cortical reconstruction process.
Line 11: Line 9:
|| recon-all || -subjid subjid [Directive] || ||recon-all ||-subjid subjid [Directive] ||
Line 17: Line 16:
|| -subjid subjid || the subject data upon which to operate ||
|| [Directive] || one or more directives (see next) ||
||-subjid subjid ||the subject data upon which to operate ||
||[Directive] ||one or more directives (see next) ||


== Specify input ==
||-i file.dcm ||single DICOM file from the T1 MRI series. If you have more than one T1, then use: -i file1.dcm -i file2.dcm ||
||-i file.nii||single NIFTI file from series||
Line 21: Line 26:
|| -all || do everything, including subcortical segmentation ||
|| -autorecon-all || same as -all ||
||-all ||do everything, including subcortical segmentation ||
||-autorecon-all ||same as -all ||
Line 25: Line 31:
|| -autorecon1 || process steps 1-5 (see below) ||
|| -autorecon2 || process steps 6-23 ||
||             || after autorecon2, check final surfaces: ||
||             || a. if wm edit was required, then run -autorecon2-wm ||
||             || b. if control points added, then run -autorecon2-cp ||
||             || c. if edits made to correct pial, then run -autorecon2-pial ||
||             || d. proceed to run -autorecon3 ||
|| -autorecon2-cp || process stages 12-23 (uses -f w/ mri_normalize, -keep w/ mri_seg) ||
|| -autorecon2-wm || process stages 15-23 ||
|| -autorecon2-pial || process stages 21-23 ||
|| -autorecon3 || process stages 24-31 ||
|| -hemi ?h    || just do lh or rh (default is to do both) ||


  Autorecon Processing Stages (see -autorecon# flags above):
    1. Motion Correction and Conform
    2. NU (Non-Uniform intensity normalization)
    3. Talairach transform computation
    4. Intensity Normalization 1
    5. Skull Strip

    6. EM Register (linear volumetric registration)
    7. CA Intensity Normalization
    8. CA Non-linear Volumetric Registration
    9. Remove Neck
    10. LTA with Skull
    11. CA Label (Volumetric Labeling, ie Aseg) and Statistics

    12. Intensity Normalization 2 (start here for control points)
    13. White matter segmentation
    14. Edit WM With ASeg
    15. Fill (start here for wm edits)
    16. Tessellation (begins per-hemisphere operations)
    17. Smooth1
    18. Inflate1
    19. QSphere
    20. Automatic Topology Fixer
    
21. Final Surfs (start here for brain edits for pial surf)
    22
. Smooth2
    23. Inflate2

    24
. Spherical Mapping
    25. Spherical
Registration
    26. Spherical Registration
, Contralateral hemisphere
    27. Map average curvature to subject
    28. Cortical Parcellation - Desikan_Killiany and Christophe (Labeling)
    29. Cortical Parcellation Statistics
    30. Cortical Ribbon Mask
    31. Cortical Parcellation mapping to Aseg
||-autorecon1 ||process steps 1-5 (see below) ||
||-autorecon2 ||process steps 6-23 ||
|| ||after autorecon2, check final surfaces: ||
|| ||a. if wm edit was required, then run -autorecon2-wm ||
|| ||b. if control points added, then run -autorecon2-cp ||
|| ||c. if edits made to correct pial, then run -autorecon2-pial ||
|| ||d. proceed to run -autorecon3 ||
||-autorecon2-cp ||process stages 12-23 (uses -f w/ mri_normalize, -keep w/ mri_seg) ||
||-autorecon2-wm ||process stages 15-23 ||
||-autorecon2-pial ||process stages 21-23 ||
||-autorecon3 ||process stages 24-31 ||
||-hemi ?h ||just do lh or rh (default is to do both) ||


 . Autorecon Processing Stages (see -autorecon# flags above):
  1. Motion Correction and Conform
  1. NU (Non-Uniform intensity normalization)
  1. Talairach transform computation
  1. Intensity Normalization 1
  1. Skull Strip

  1. EM Register (linear volumetric registration)
  1. CA Intensity Normalization
  1. CA Non-linear Volumetric Registration
  1. Remove Neck
  1. LTA with Skull
  1. CA Label (Volumetric Labeling, ie Aseg) and Statistics

  1. Intensity Normalization 2 (start here for control points)
  1. White matter segmentation
  1. Edit WM With ASeg
  1. Fill (start here for wm edits)
  1. Tessellation (begins per-hemisphere operations)
  1. Smooth1
  1. Inflate1
  1. QSphere
  1. Automatic Topology Fixer
  1. Final Surfs (start here for brain edits for pial surf)
  1. Smooth
2
  1. Inflate
2

  1.
Spherical Mapping
  1
. Spherical Registration
  1
. Spherical Registration, Contralateral hemisphere
  1. Map average curvature to subject
  1. Cortical Parcellation - Desikan_Killiany and Christophe (Labeling)
  1. Cortical Parcellation Statistics
  1. Cortical Ribbon Mask
  1. Cortical Parcellation mapping to Aseg
Line 80: Line 85:
|| -pons-crs C R S || col, row, slice of seed point for pons, used in fill ||
||
-cc-crs C R S || col, row, slice of seed point for corpus callosum, used in fill ||
||
-lh-crs C R S || col, row, slice of seed point for left hemisphere, used in fill ||
||
-rh-crs C R S || col, row, slice of seed point for right hemisphere, used in fill||
|| -nofill ||
do not use the automatic subcort seg to fill||
|| -custom-tal-atlas ||
allows a custom talairach atlas to be used ||
||-watershed cmd || control skull stripping/watershed program||
|| -wsless ||
decrease watershed threshold (shrinks skull surface)||
|| -wsmore ||
increase watershed threshold (expands skull surface)||
||
-wsatlas ||use atlas when skull stripping||
|| -wsthresh pct ||
explicity set watershed threshold||
||
-wsseed C R S || identify an index (C, R, S) point in the skull||
||
-nuiterations N || set number of iterations for nu intensity correction (default is 2)||
||
-norm3diters niters || number of 3d iterations for mri_normalize||
||
-normmaxgrad maxgrad || max grad (-g) for mri_normalize. Default is 1.||
|| -cm ||
conform COR volumes to the min voxel size||
||
-no-fix-with-ga || do not use genetic algorithm when fixing topology||
|| -seg-wlo wlo ||
set wlo value for mri_segment||
|| -seg-ghi ghi ||
set ghi value for mri_segment||
|| -no-ca-align ||
turn off -align with mri_ca_{register,label}.||
|| -deface ||
deface subject, written to orig_defaced.mgz||
||
-expert file || read-in expert options file||
||-pons-crs C R S ||col, row, slice of seed point for pons, used in fill ||
||
-cc-crs C R S ||col, row, slice of seed point for corpus callosum, used in fill ||
||
-lh-crs C R S ||col, row, slice of seed point for left hemisphere, used in fill ||
||
-rh-crs C R S ||col, row, slice of seed point for right hemisphere, used in fill ||
||-nofill ||
do not use the automatic subcort seg to fill ||
||-custom-tal-atlas ||
allows a custom talairach atlas to be used ||
||-watershed cmd ||control skull stripping/watershed program ||
||-wsless ||
decrease watershed threshold (shrinks skull surface) ||
||-wsmore ||
increase watershed threshold (expands skull surface) ||
||
-wsatlas ||use atlas when skull stripping ||
||-wsthresh pct ||
explicity set watershed threshold ||
||
-wsseed C R S ||identify an index (C, R, S) point in the skull ||
||
-nuiterations N ||set number of iterations for nu intensity correction (default is 2) ||
||
-norm3diters niters ||number of 3d iterations for mri_normalize ||
||
-normmaxgrad maxgrad ||max grad (-g) for mri_normalize. Default is 1. ||
||-cm ||
conform COR volumes to the min voxel size ||
||
-no-fix-with-ga ||do not use genetic algorithm when fixing topology ||
||-seg-wlo wlo ||
set wlo value for mri_segment ||
||-seg-ghi ghi ||
set ghi value for mri_segment ||
||-no-ca-align ||
turn off -align with mri_ca_{register,label}. ||
||-deface ||
deface subject, written to orig_defaced.mgz ||
||
-expert file ||read-in expert options file ||
Line 104: Line 110:
|| -waitfor file || wait for file to appear before beginning ||
|| -notify file || create this file after finishing ||
||-waitfor file ||wait for file to appear before beginning ||
||-notify file ||create this file after finishing ||
Line 108: Line 115:
|| -log file || default is $SUBJECTS_DIR/<your_subjectid>/scripts/recon-all.log ||
|| -status file || default is $SUBJECTS_DIR/<your_subjectid>/scripts/recon-all-status.log ||
|| -noappend || start new log and status files instead of appending ||
||-log file ||default is $SUBJECTS_DIR/<your_subjectid>/scripts/recon-all.log ||
||-status file ||default is $SUBJECTS_DIR/<your_subjectid>/scripts/recon-all-status.log ||
||-noappend ||start new log and status files instead of appending ||
Line 113: Line 121:
|| -sd subjectsdir || specify subjects dir (default env SUBJECTS_DIR) ||
|| -mail username || mail user when done ||
|| -umask umask    || set unix file permission mask (default 002) ||
|| -grp groupid || check that current group is alpha groupid ||
|| -debug          || print out lots of info ||
|| -dontrun ||
do everthing but execute each command ||
|| -version        || print version of this script and exit ||
|| -help || yea, like anybody's going to read this ||
||-sd subjectsdir ||specify subjects dir (default env SUBJECTS_DIR) ||
||-mail username ||mail user when done ||
||-umask umask ||set unix file permission mask (default 002) ||
||-grp groupid ||check that current group is alpha groupid ||
||-debug ||print out lots of info ||
||-dontrun ||
do everthing but execute each command ||
||-version ||print version of this script and exit ||
||-help ||yea, like anybody's going to read this ||
Line 123: Line 132:
Performs all, or any part of, the FreeSurfer cortical reconstruction
process. This help only gives some simple information. See also ReconAllDevTable.
Performs all, or any part of, the FreeSurfer cortical reconstruction process. This help only gives some simple information. See also ReconAllDevTable.
Line 130: Line 138:
  recon-all -subject subjectname -i invol1 <-i invol2> -all

Creates analysis directory $SUBJECTS_DIR/subjectname, converts one or
more input volumes to MGZ format in subjectname/mri/orig, and runs
all processing steps.
 . recon-all -subject subjectname -i invol1 <-i invol2> -all

Creates analysis directory $SUBJECTS_DIR/subjectname, converts one or more input volumes to MGZ format in subjectname/mri/orig, and runs all processing steps.
Line 138: Line 144:
  mkdir -p $SUBJECTS_DIR/subjectname/mri/orig
 
mri_convert invol1 $SUBJECTS_DIR/subjectname/mri/orig/001.mgz
 
mri_convert invol2 $SUBJECTS_DIR/subjectname/mri/orig/002.mgz
 
recon-all -subject subjectname -all

If no input volumes are given, then it is assumed that the subject
directory has already been created and that the raw data already
exists in MGZ format in subjid/mri/orig as XXX.mgz, where XXX is a
3-digit, zero-padded number.
 . mkdir -p $SUBJECTS_DIR/subjectname/mri/orig mri_convert invol1 $SUBJECTS_DIR/subjectname/mri/orig/001.mgz mri_convert invol2 $SUBJECTS_DIR/subjectname/mri/orig/002.mgz recon-all -subject subjectname -all

If no input volumes are given, then it is assumed that the subject directory has already been created and that the raw data already exists in MGZ format in subjid/mri/orig as XXX.mgz, where XXX is a 3-digit, zero-padded number.
Line 150: Line 150:
  recon-all -subject subjectname -all -legacy  . recon-all -subject subjectname -all -legacy
Line 165: Line 165:
Line 207: Line 206:
Line 212: Line 210:

|| -<no>motioncor || < 5 min|| ||
|| -<no>nuintensitycor || 3 min|| ||
|| -<no>talairach || 1 min|| ||
|| -<no>normalization || 3 min|| ||
|| -<no>skullstrip || 1 min|| ||
|| -<no>gcareg || 8 min|| ||
|| -<no>canorm || 1 min|| ||
|| -<no>careg || 10 hours|| ||
|| -<no>rmneck || 3 min|| ||
|| -<no>skull-lta || 9 min|| ||
|| -<no>calabel || 30 min|| ||
|| -<no>normalization2 || 3 min|| ||
|| -<no>segmentation || 4 min|| ||
|| -<no>fill || 1 min|| ||
|| -<no>tessellate || < 1 min || per hemisphere||
|| -<no>smooth1 || < 1 min || per hemisphere||
|| -<no>inflate1 || 1 min || per hemisphere||
|| -<no>qsphere || 16 min || per hemisphere||
|| -<no>fix || 1-9 hours || per hemisphere||
|| -<no>finalsurfs || 1-2 hours || per hemisphere||
|| -<no>smooth2 || < 1 min || per hemisphere||
|| -<no>inflate2 || 2 min || per hemisphere||
|| -<no>cortribbon || < 1 min || per hemisphere||
|| -<no>sphere || 1-2 hours || per hemisphere||
|| -<no>surfreg || 1 hour || per hemisphere||
|| -<no>contrasurfreg || 1 hour || per hemisphere||
|| -<no>avgcurv || < 1 min || per hemisphere||
|| -<no>cortparc || 1 min || per hemisphere||
|| -<no>parcstats || < 1 min || per hemisphere||
|| -<no>cortparc2 || 1 min || per hemisphere||
|| -<no>parcstats2 || < 1 min || per hemisphere||
|| -<no>aparc2aseg || 1 min|| ||
|| -all || 20-40 hours || both hemipheres||
||-<no>motioncor ||< 5 min || ||
||-<no>nuintensitycor ||3 min || ||
||-<no>talairach ||1 min || ||
||-<no>normalization ||3 min || ||
||-<no>skullstrip ||1 min || ||
||-<no>gcareg ||8 min || ||
||-<no>canorm ||1 min || ||
||-<no>careg ||10 hours || ||
||-<no>rmneck ||3 min || ||
||-<no>skull-lta ||9 min || ||
||-<no>calabel ||30 min || ||
||-<no>normalization2 ||3 min || ||
||-<no>segmentation ||4 min || ||
||-<no>fill ||1 min || ||
||-<no>tessellate ||< 1 min ||per hemisphere ||
||-<no>smooth1 ||< 1 min ||per hemisphere ||
||-<no>inflate1 ||1 min ||per hemisphere ||
||-<no>qsphere ||16 min ||per hemisphere ||
||-<no>fix ||1-9 hours ||per hemisphere ||
||-<no>finalsurfs ||1-2 hours ||per hemisphere ||
||-<no>smooth2 ||< 1 min ||per hemisphere ||
||-<no>inflate2 ||2 min ||per hemisphere ||
||-<no>cortribbon ||< 1 min ||per hemisphere ||
||-<no>sphere ||1-2 hours ||per hemisphere ||
||-<no>surfreg ||1 hour ||per hemisphere ||
||-<no>contrasurfreg ||1 hour ||per hemisphere ||
||-<no>avgcurv ||< 1 min ||per hemisphere ||
||-<no>cortparc ||1 min ||per hemisphere ||
||-<no>parcstats ||< 1 min ||per hemisphere ||
||-<no>cortparc2 ||1 min ||per hemisphere ||
||-<no>parcstats2 ||< 1 min ||per hemisphere ||
||-<no>aparc2aseg ||1 min || ||
||-all ||20-40 hours ||both hemipheres ||


Line 251: Line 251:
Specify a seed point for the pons during the fill operation. This is
used to cut the brain stem from brain. By default, this point will be
determined automatically. It should only be specified if there is a
cut failure. To determine what this point should be, find the center
of the pons in the T1 volume (in tkmedit) and record the column, row,
and slice. Creates a file called scripts/seed-ponscrs.man.dat
with the CRS.
Specify a seed point for the pons during the fill operation. This is used to cut the brain stem from brain. By default, this point will be determined automatically. It should only be specified if there is a cut failure. To determine what this point should be, find the center of the pons in the T1 volume (in tkmedit) and record the column, row, and slice. Creates a file called scripts/seed-ponscrs.man.dat with the CRS.
Line 261: Line 256:
Specify a seed point for the corpus callosum during the fill
operation. This is used to help separate the hemispheres. By default,
this point will be determined automatically. It should only be
specified if there is a cut failure. To determine what this point
should be, find the center of the CC in the T1 volume (in tkmedit) and
record the column, row, and slice. Creates a file called
scripts/seed-cccrs.man.dat with the CRS.
Specify a seed point for the corpus callosum during the fill operation. This is used to help separate the hemispheres. By default, this point will be determined automatically. It should only be specified if there is a cut failure. To determine what this point should be, find the center of the CC in the T1 volume (in tkmedit) and record the column, row, and slice. Creates a file called scripts/seed-cccrs.man.dat with the CRS.
Line 271: Line 261:
Specify a seed point for the left hemisphere during the fill
operation. This is used to help identify the left hemisphere. By
default, this point will be determined automatically. It should only
be specified if there is a cut failure. To determine what this point
should be, find a point in the white matter mass of the left
hemisphere in the T1 volume (in tkmedit) and record the column, row,
and slice. Creates a file called scripts/seed-cccrs.man.dat with the
CRS. Remember that tkmedit displays the volume in radiological
convention (ie, left is right).
Specify a seed point for the left hemisphere during the fill operation. This is used to help identify the left hemisphere. By default, this point will be determined automatically. It should only be specified if there is a cut failure. To determine what this point should be, find a point in the white matter mass of the left hemisphere in the T1 volume (in tkmedit) and record the column, row, and slice. Creates a file called scripts/seed-cccrs.man.dat with the CRS. Remember that tkmedit displays the volume in radiological convention (ie, left is right).
Line 283: Line 266:
Same as -lh-crs but for the right hemisphere. Creates a file called
scripts/seed-rhcrs.man.dat with the CRS.
Same as -lh-crs but for the right hemisphere. Creates a file called scripts/seed-rhcrs.man.dat with the CRS.
Line 288: Line 271:
This controls how the skull stripping will be performed. Legal values are
normal (the default), atlas, nowatershed, watershedonly, and watershedtemplate.
This controls how the skull stripping will be performed. Legal values are normal (the default), atlas, nowatershed, watershedonly, and watershedtemplate.
Line 293: Line 276:
Increase/decrease the preflooding height (threshold) when skull
stripping. -wsmore will expand the skull surface; -wsless will shrink
the skull surface. See also -wsthresh.
Increase/decrease the preflooding height (threshold) when skull stripping. -wsmore will expand the skull surface; -wsless will shrink the skull surface. See also -wsthresh.
Line 300: Line 282:
Line 303: Line 286:
Supply a point in the volume that the user believes to be in the white
matter. By default, this point will be determined automatically. It
should only be specified if there is a strip failure. To determine
what this point should be, find a point in the white matter using
tkmedit and record the Volume Index values (NOT the XYZ coordinates).
Supply a point in the volume that the user believes to be in the white matter. By default, this point will be determined automatically. It should only be specified if there is a strip failure. To determine what this point should be, find a point in the white matter using tkmedit and record the Volume Index values (NOT the XYZ coordinates).
Line 311: Line 291:
Specify the full path to the gaussian classifier array (GCA) file
to be used with GCA registration and automatic subcortical
segmentation. Default is RB_all_2006-02-15.gca located in
FREESURFER_HOME/average. This has no effect unless the GCA registration
or subcortical segmentation stages are to be performed.
Specify the full path to the gaussian classifier array (GCA) file to be used with GCA registration and automatic subcortical segmentation. Default is RB_all_2006-02-15.gca located in FREESURFER_HOME/average. This has no effect unless the GCA registration or subcortical segmentation stages are to be performed.
Line 319: Line 296:
Specify the full path to the gaussian classifier array (GCA) file
to be used with registration with skull. Default is
RB40_talairach_with_skull_2005-12-30.gca located in
FREESURFER_HOME/average.
Specify the full path to the gaussian classifier array (GCA) file to be used with registration with skull. Default is RB40_talairach_with_skull_2005-12-30.gca located in FREESURFER_HOME/average.
Line 326: Line 301:
Number of iterations in the non-uniform intensity correction. Default
is 4.
Number of iterations in the non-uniform intensity correction. Default is 4.
Line 332: Line 307:
Line 336: Line 312:
Line 339: Line 316:
Skips subcortical segmentation steps (same as -nosubcortseg), and does
not use aseg.mgz for inorm2, wm segmentation, or filling. Use this flag
for brains that do not support usage of subcortical segmentation.
Skips subcortical segmentation steps (same as -nosubcortseg), and does not use aseg.mgz for inorm2, wm segmentation, or filling. Use this flag for brains that do not support usage of subcortical segmentation.
Line 344: Line 319:
While the expert preferences flags supported by recon-all cover most of
the instances where special flags need to be passed to a FreeSurfer binary,
to allow passing an arbitrary flag to a binary, recon-all supports the
reading of a user-created file containing special options to include in
the command string (in addition to, not in place of). The file should
contain as the first item the name of the command, and the items following
it on rest of the line will be passed as the extra options. For example,
if a file called expert.opts is created containing these lines:
While the expert preferences flags supported by recon-all cover most of the instances where special flags need to be passed to a FreeSurfer binary, to allow passing an arbitrary flag to a binary, recon-all supports the reading of a user-created file containing special options to include in the command string (in addition to, not in place of). The file should contain as the first item the name of the command, and the items following it on rest of the line will be passed as the extra options. For example, if a file called expert.opts is created containing these lines:
Line 356: Line 325:
then the option "-p .5" will be passed to mri_em_register, and "-s 100"
will be passed to mris_fix_topology. The name of the expert options file
is passed to recon-all with the -expert flag, eg.
then the option "-p .5" will be passed to mri_em_register, and "-s 100" will be passed to mris_fix_topology. The name of the expert options file is passed to recon-all with the -expert flag, eg.
Line 366: Line 334:
  * [[talairach]]
  * [[mri_normalize]]
  * [[mri_watershed]]
  * [[mri_em_register]]
 
* [[mri_ca_normalize]]
  * [[mri_ca_register]]
 
* [[mri_remove_neck]]
  * [[mri_ca_label]]
  * [[mri_segstats]]
 
* [[mri_mask]]
  * [[mri_segment]]
 
* [[mri_edit_wm_with_aseg]]
  * [[mri_pretess]]
  * [[mri_fill]]
  * [[mri_tessellate]]
 
* [[mris_smooth]]
  * [[mris_inflate]]
  * [[mris_sphere]]
  * [[mris_fix_topology]]
  * [[mris_make_surfaces]]
  * [[mris_surf2vol]]
  * [[mris_register]]
 
* [[mrisp_paint]]
  * [[mris_ca_label]]
  * [[mris_anatomical_stats]]
 
* [[mri_aparc2aseg]]
 * [[talairach]]
 * [[mri_normalize]]
 * [[mri_watershed]]
 * [[mri_em_register]]
* [[mri_ca_normalize]]
 * [[mri_ca_register]]
* [[mri_remove_neck]]
 * [[mri_ca_label]]
 * [[mri_segstats]]
* [[mri_mask]]
 * [[mri_segment]]
* [[mri_edit_wm_with_aseg]]
 * [[mri_pretess]]
 * [[mri_fill]]
 * [[mri_tessellate]]
* [[mris_smooth]]
 * [[mris_inflate]]
 * [[mris_sphere]]
 * [[mris_fix_topology]]
 * [[mris_make_surfaces]]
 * [[mris_surf2vol]]
 * [[mris_register]]
* [[mrisp_paint]]
 * [[mris_ca_label]]
 * [[mris_anatomical_stats]]
* [[mri_aparc2aseg]]
Line 412: Line 380:
When there are multiple source volumes, this step will correct for
small motions between them and then average them together. The input
are the volumes found in file(s) mri/orig/XXX.mgz. The output will be
the volume mri/orig.mgz. If no runs are found, then it looks for
a volume in mri/orig (or mri/orig.mgz). If that volume is there, then
it is used in subsequent processes as if it was the motion corrected
volume. If no volume is found, then the process exits with errors.
When there are multiple source volumes, this step will correct for small motions between them and then average them together. The input are the volumes found in file(s) mri/orig/XXX.mgz. The output will be the volume mri/orig.mgz. If no runs are found, then it looks for a volume in mri/orig (or mri/orig.mgz). If that volume is there, then it is used in subsequent processes as if it was the motion corrected volume. If no volume is found, then the process exits with errors.
Line 421: Line 383:
Non-parametric Non-uniform intensity Normalization (N3), corrects for
intensity non-uniformity in MR data, making relatively few assumptions
about the data. This runs the MINC tool 'nu_correct'. By default, four
iterations of nu_correct are run. The flag -nuiterations specification
of some other number of iterations.
Non-parametric Non-uniform intensity Normalization (N3), corrects for intensity non-uniformity in MR data, making relatively few assumptions about the data. This runs the MINC tool 'nu_correct'. By default, four iterations of nu_correct are run. The flag -nuiterations specification of some other number of iterations.
Line 428: Line 386:
This computes the affine transform from the orig volume to the MNI305
atlas using the MINC program mritotal (see Collins, et al, 1994)
through a FreeSurfer script called talairach. Several of the downstream
programs use talairach coordinates as seed points. You can/should check
how good the talairach registration is using
{{{tkregister2 --s subjid --fstal}}}. tkregister2 allows you to compare the orig volume
against the talairach volume resampled into the orig space. Run
"tkregister2 --help" for more information.
Creates the files mri/transform/talairach.auto.xfm and talairach.xfm.
This computes the affine transform from the orig volume to the MNI305 atlas using the MINC program mritotal (see Collins, et al, 1994) through a FreeSurfer script called talairach. Several of the downstream programs use talairach coordinates as seed points. You can/should check how good the talairach registration is using {{{tkregister2 --s subjid --fstal}}}. tkregister2 allows you to compare the orig volume against the talairach volume resampled into the orig space. Run "tkregister2 --help" for more information. Creates the files mri/transform/talairach.auto.xfm and talairach.xfm.
Line 439: Line 389:
Performs intensity normalization of the orig volume and places the
result in mri/T1.mgz. Attempts to correct for fluctuations in
intensity that would otherwise make intensity-based segmentation much
more difficult. Intensities for all voxels are scaled so that the mean
intensity of the white matter is 110. If there are problems with the
normalization, users can add control points. See also Normalization2.
Performs intensity normalization of the orig volume and places the result in mri/T1.mgz. Attempts to correct for fluctuations in intensity that would otherwise make intensity-based segmentation much more difficult. Intensities for all voxels are scaled so that the mean intensity of the white matter is 110. If there are problems with the normalization, users can add control points. See also Normalization2.
Line 447: Line 392:
Removes the skull from mri/T1.mgz and stores the result in
mri/brainmask.auto.mgz and mri/brainmask.mgz.
Runs the mri_watershed program. If the strip fails, users can specify
seed points (-wsseed) or change the threshold (-wsthresh, -wsmore, -wsless).
The -autorecon1 stage ends here.
Removes the skull from mri/T1.mgz and stores the result in mri/brainmask.auto.mgz and mri/brainmask.mgz. Runs the mri_watershed program. If the strip fails, users can specify seed points (-wsseed) or change the threshold (-wsthresh, -wsmore, -wsless). The -autorecon1 stage ends here.
Line 454: Line 395:
This is done in six stages. (1) CGA linear registration
(-gcareg). This is an initial registration to a template. (2)
Canonical Normalization (-canorm), (3) Canonical Registration
(-careg). (4) Neck removal (-rmneck), (5) Registration, w/skull
(-skull-lta), and (6) Subcortical labeling (-calabel).
The stages are listed next.
This is done in six stages. (1) CGA linear registration (-gcareg). This is an initial registration to a template. (2) Canonical Normalization (-canorm), (3) Canonical Registration (-careg). (4) Neck removal (-rmneck), (5) Registration, w/skull (-skull-lta), and (6) Subcortical labeling (-calabel). The stages are listed next.
Line 462: Line 398:
Computes transform to align the mri/nu.mgz volume to the default GCA atlas
found in FREESURFER_HOME/average (see -gca flag for more info).
Creates the file mri/transforms/talairach.lta.
The -autorecon2 stage starts here.
Computes transform to align the mri/nu.mgz volume to the default GCA atlas found in FREESURFER_HOME/average (see -gca flag for more info). Creates the file mri/transforms/talairach.lta. The -autorecon2 stage starts here.
Line 468: Line 401:
Further normalization, based on GCA model.
Creates mri/norm.mgz.
Further normalization, based on GCA model. Creates mri/norm.mgz.
Line 472: Line 404:
Computes a nonlinear transform to align with GCA atlas.
Creates the file mri/transform/talairach.m3z.
Computes a nonlinear transform to align with GCA atlas. Creates the file mri/transform/talairach.m3z.
Line 476: Line 407:
The neck region is removed from the NU-corrected volume mri/nu.mgz.
Makes use of transform computed from prior CA Register stage.
Creates the file mri/nu_noneck.mgz.
The neck region is removed from the NU-corrected volume mri/nu.mgz. Makes use of transform computed from prior CA Register stage. Creates the file mri/nu_noneck.mgz.
Line 481: Line 410:
Computes transform to align volume mri/nu_noneck.mgz with GCA volume
possessing the skull.
Creates the file mri/transforms/talairach_with_skull.lta.
Computes transform to align volume mri/nu_noneck.mgz with GCA volume possessing the skull. Creates the file mri/transforms/talairach_with_skull.lta.
Line 486: Line 413:
Labels subcortical structures, based in GCA model.
Creates the files mri/aseg.auto.mgz and mri/aseg.mgz.
Labels subcortical structures, based in GCA model. Creates the files mri/aseg.auto.mgz and mri/aseg.mgz.
Line 490: Line 416:
Computes statistics on the segmented subcortical structures found
in mri/aseg.mgz. Writes output to file stats/aseg.stats.
Computes statistics on the segmented subcortical structures found in mri/aseg.mgz. Writes output to file stats/aseg.stats.
Line 494: Line 419:
Performs a second (major) intensity correction using only the brain
volume as the input (so that it has to be done after the skull strip).
Intensity normalization works better when the skull has been removed.
Creates a new brain.mgz volume. The -autorecon2-cp stage begins here.
If -noaseg flag is used, then aseg.mgz is not used by mri_normalize.
Performs a second (major) intensity correction using only the brain volume as the input (so that it has to be done after the skull strip). Intensity normalization works better when the skull has been removed. Creates a new brain.mgz volume. The -autorecon2-cp stage begins here. If -noaseg flag is used, then aseg.mgz is not used by mri_normalize.
Line 501: Line 422:
Attempts to separate white matter from everything else. The input is
mri/brain.mgz, and the output is mri/wm.mgz. Uses intensity,
neighborhood, and smoothness constraints. This is the volume that is
edited when manually fixing defects. Calls mri_segment,
mri_edit_wm_with_aseg, and mri_pretess. To keep previous edits, run
with -keepwmedits. If -noaseg is used, them mri_edit_wm_aseg is skipped.
Attempts to separate white matter from everything else. The input is mri/brain.mgz, and the output is mri/wm.mgz. Uses intensity, neighborhood, and smoothness constraints. This is the volume that is edited when manually fixing defects. Calls mri_segment, mri_edit_wm_with_aseg, and mri_pretess. To keep previous edits, run with -keepwmedits. If -noaseg is used, them mri_edit_wm_aseg is skipped.
Line 509: Line 425:
This creates the subcortical mass from which the orig surface is
created. The mid brain is cut from the cerebrum, and the hemispheres
are cut from each other. The left hemisphere is binarized to 255.
The right hemisphere is binarized to 127. The input is mri/wm.mgz
and the output is mri/filled.mgz. Calls mri_fill. If the cut fails,
then seed points can be supplied (see -cc-crs, -pons-crs, -lh-crs,
-rh-crs). The actual points used for the cutting planes in the
corpus callosum and pons can be found in scripts/ponscc.cut.log.
The stage -autorecon2-wm begins here. This is the last stage of
volumetric processing. If -noaseg is used, then aseg.mgz is not used
by mri_fill.
This creates the subcortical mass from which the orig surface is created. The mid brain is cut from the cerebrum, and the hemispheres are cut from each other. The left hemisphere is binarized to 255. The right hemisphere is binarized to 127. The input is mri/wm.mgz and the output is mri/filled.mgz. Calls mri_fill. If the cut fails, then seed points can be supplied (see -cc-crs, -pons-crs, -lh-crs, -rh-crs). The actual points used for the cutting planes in the corpus callosum and pons can be found in scripts/ponscc.cut.log. The stage -autorecon2-wm begins here. This is the last stage of volumetric processing. If -noaseg is used, then aseg.mgz is not used by mri_fill.
Line 522: Line 428:
This is the step where the orig surface (ie, surf/?h.orig.nofix) is
created. The surface is created by covering the filled hemisphere with
triangles. Runs mri_tessellate. The places where the points of the
triangles meet are called vertices. Creates the file surf/?h.orig.nofix
Note: the topology fixer will create the surface ?h.orig.
This is the step where the orig surface (ie, surf/?h.orig.nofix) is created. The surface is created by covering the filled hemisphere with triangles. Runs mri_tessellate. The places where the points of the triangles meet are called vertices. Creates the file surf/?h.orig.nofix Note: the topology fixer will create the surface ?h.orig.
Line 529: Line 431:
After tesselation, the orig surface is very jagged because each
triangle is on the edge of a voxel face and so are at right angles to
each other. The vertex positions are adjusted slightly here to reduce
the angle. This is only necessary for the inflation processes.
Creates surf/?h.smoothwm(.nofix). Calls mris_smooth. Smooth1 is the step
just after tessellation, and smooth2 is the step just after topology
fixing.
After tesselation, the orig surface is very jagged because each triangle is on the edge of a voxel face and so are at right angles to each other. The vertex positions are adjusted slightly here to reduce the angle. This is only necessary for the inflation processes. Creates surf/?h.smoothwm(.nofix). Calls mris_smooth. Smooth1 is the step just after tessellation, and smooth2 is the step just after topology fixing.
Line 538: Line 434:
Inflation of the surf/?h.smoothwm(.nofix) surface to create
surf/?h.inflated. The inflation attempts to minimize metric distortion
so that distances and areas are perserved (ie, the surface is not
stretched). In this sense, it is like inflating a paper bag and not a
balloon. Inflate1 is the step just after tessellation, and inflate2
is the step just after topology fixing. Calls mris_inflate. Creates
?h.inflated, ?h.sulc, ?h.curv, and ?h.area.
Inflation of the surf/?h.smoothwm(.nofix) surface to create surf/?h.inflated. The inflation attempts to minimize metric distortion so that distances and areas are perserved (ie, the surface is not stretched). In this sense, it is like inflating a paper bag and not a balloon. Inflate1 is the step just after tessellation, and inflate2 is the step just after topology fixing. Calls mris_inflate. Creates ?h.inflated, ?h.sulc, ?h.curv, and ?h.area.
Line 547: Line 437:
This is the initial step of automatic topology fixing. It is a
quasi-homeomorphic spherical transformation of the inflated surface designed
to localize topological defects for the subsequent automatic topology fixer.
Calls mris_sphere. Creates surf/?h.qsphere.nofix.
This is the initial step of automatic topology fixing. It is a quasi-homeomorphic spherical transformation of the inflated surface designed  to localize topological defects for the subsequent automatic topology fixer. Calls mris_sphere. Creates surf/?h.qsphere.nofix.
Line 553: Line 440:
Finds topological defects (ie, holes in a filled hemisphere) using
surf/?h.qsphere.nofix, and changes the orig surface (surf/?h.orig.nofix)
to remove the defects. Changes the number of vertices. All the defects
will be removed, but the user should check the orig surface in the volume
to make sure that it looks appropriate. Calls mris_fix_topology.
Creates surf/?h.orig (by iteratively fixing surf/?h.orig.nofix).
Finds topological defects (ie, holes in a filled hemisphere) using surf/?h.qsphere.nofix, and changes the orig surface (surf/?h.orig.nofix) to remove the defects. Changes the number of vertices. All the defects will be removed, but the user should check the orig surface in the volume to make sure that it looks appropriate. Calls mris_fix_topology. Creates surf/?h.orig (by iteratively fixing surf/?h.orig.nofix).
Line 561: Line 443:
Creates the ?h.white and ?h.pial surfaces as well as the thickness
file (?h.thickness) and curvature file (?h.curv). The white surface
is created by "nudging" the orig surface so that it closely follows
the white-gray intensity gradient as found in the T1 volume. The pial
surface is created by expanding the white surface so that it closely
follows the gray-CSF intensity gradient as found in the T1 volume.
Calls mris_make_surfaces.
Creates the ?h.white and ?h.pial surfaces as well as the thickness file (?h.thickness) and curvature file (?h.curv). The white surface is created by "nudging" the orig surface so that it closely follows the white-gray intensity gradient as found in the T1 volume. The pial surface is created by expanding the white surface so that it closely follows the gray-CSF intensity gradient as found in the T1 volume. Calls mris_make_surfaces.
Line 570: Line 446:
Creates binary volume masks of the cortical ribbon, ie, each voxel is
either a 1 or 0 depending upon whether it falls in the ribbon or not.
Saved as ?h.ribbon.mgz. Uses mgz regardless of whether the -mgz
option is used. The -autorecon2 stage ends here.
Creates binary volume masks of the cortical ribbon, ie, each voxel is either a 1 or 0 depending upon whether it falls in the ribbon or not. Saved as ?h.ribbon.mgz. Uses mgz regardless of whether the -mgz option is used. The -autorecon2 stage ends here.
Line 576: Line 449:
Inflates the orig surface into a sphere while minimizing metric
distortion. This step is necessary in order to register the surface
to the spherical atlas. (also known as the spherical morph). Calls
mris_sphere. Creates surf/?h.sphere. The -autorecon3 stage begins here.
Inflates the orig surface into a sphere while minimizing metric distortion. This step is necessary in order to register the surface to the spherical atlas. (also known as the spherical morph). Calls mris_sphere. Creates surf/?h.sphere. The -autorecon3 stage begins here.
Line 582: Line 452:
Registers the orig surface to the spherical atlas through
surf/?h.sphere. The surfaces are first coarsely registered by aligning
the large scale folding patterns found in ?h.sulc and then fine tuned
using the small-scale patterns as in ?h.curv.
Calls mris_register. Creates surf/?h.sphere.reg.
Registers the orig surface to the spherical atlas through surf/?h.sphere. The surfaces are first coarsely registered by aligning the large scale folding patterns found in ?h.sulc and then fine tuned using the small-scale patterns as in ?h.curv. Calls mris_register. Creates surf/?h.sphere.reg.
Line 589: Line 455:
Same as ipsilateral but registers to the contralateral atlas.
Creates lh.rh.sphere.reg and rh.lh.sphere.reg.
Same as ipsilateral but registers to the contralateral atlas. Creates lh.rh.sphere.reg and rh.lh.sphere.reg.
Line 593: Line 458:
Resamples the average curvature from the atlas to that of the subject.
Allows the user to display activity on the surface of an individual
with the folding pattern (ie, anatomy) of a group. Calls mrisp_paint.
Creates surf/?h.avg_curv.
Resamples the average curvature from the atlas to that of the subject. Allows the user to display activity on the surface of an individual with the folding pattern (ie, anatomy) of a group. Calls mrisp_paint. Creates surf/?h.avg_curv.
Line 599: Line 461:
Assigns a neuroanatomical label to each location on the cortical surface.
Incorporates both geometric information derived from the cortical model
(sulcus and curvature), and neuroanatomical convention.
Calls mris_ca_label. -cortparc creates label/?h.aparc.annot, and
-cortparc2 creates /label/?h.aparc.a2005s.annot.
Assigns a neuroanatomical label to each location on the cortical surface. Incorporates both geometric information derived from the cortical model (sulcus and curvature), and neuroanatomical convention. Calls mris_ca_label. -cortparc creates label/?h.aparc.annot, and -cortparc2 creates /label/?h.aparc.a2005s.annot.
Line 606: Line 464:
Runs mris_anatomical_stats to create a summary table of cortical
parcellation statistics for each structure, including 1. structure
name 2. number of vertices 3. total surface area (mm^2) 4. total gray
matter volume (mm^3) 5. average cortical thickness (mm) 6. standard
error of cortical thicknessr (mm) 7. integrated rectified mean
curvature 8. integrated rectified Gaussian curvature 9. folding index
10. intrinsic curvature index.
For -parcstats, the file is saved in stats/?h.aparc.stats.
For -parcstats2, the file is saved in stats/?h.aparc.a2005s.stats.
Runs mris_anatomical_stats to create a summary table of cortical parcellation statistics for each structure, including 1. structure name 2. number of vertices 3. total surface area (mm^2) 4. total gray matter volume (mm^3) 5. average cortical thickness (mm) 6. standard error of cortical thicknessr (mm) 7. integrated rectified mean curvature 8. integrated rectified Gaussian curvature 9. folding index 10. intrinsic curvature index. For -parcstats, the file is saved in stats/?h.aparc.stats. For -parcstats2, the file is saved in stats/?h.aparc.a2005s.stats.
Line 618: Line 468:
To manually edit segmenation, run the following command (make sure
that your SUBJECTS_DIR environment variable is properly set).
To manually edit segmenation, run the following command (make sure that your SUBJECTS_DIR environment variable is properly set).
Line 623: Line 473:
The surfaces can be loaded through the menu item
File->LoadMainSurface. To enable editing, set Tools->EditVoxels. It
may also be convenient to bring up the reconstruction toolbar with
View->ToolBars->Reconstruction. Alt-C toggles between the main (wm)
and auxiliary (T1) volumes. Middle clicking will set a voxel value to
255; left clicking will set a voxel value to 0. Only edit the wm
volume. When finished, File->SaveMainVolume.

To view the inflated surface simultaneosly with the volume, run the
following command from a different shell:
The surfaces can be loaded through the menu item File->LoadMainSurface. To enable editing, set Tools->EditVoxels. It may also be convenient to bring up the reconstruction toolbar with View->ToolBars->Reconstruction. Alt-C toggles between the main (wm) and auxiliary (T1) volumes. Middle clicking will set a voxel value to 255; left clicking will set a voxel value to 0. Only edit the wm volume. When finished, File->SaveMainVolume.

To view the inflated surface simultaneosly with the volume, run the following command from a different shell:
Line 636: Line 480:
To goto a point on the surface inside the volume, click on the point
and hit SavePoint (icon looks like a floppy disk), then, in tkmedit,
hit GotoSavedPoint (icon looks like an open file).
To goto a point on the surface inside the volume, click on the point and hit SavePoint (icon looks like a floppy disk), then, in tkmedit, hit GotoSavedPoint (icon looks like an open file).
Line 646: Line 488:
MGZ format can be used by specifying the -mgz flag. The MGH format is a single-file format in which both pixel and meta data are stored. Files in this format have a .mgh extension. This can be compressed with gzip to give a compressed MGH format for which the extension is .mgz. This can provide substantial savings on disk space, but it does change the way that the data are stored. When COR format is used, an entire directory must be dedicated to the volume, and the volume is
identified by the directory name (eg, mri/brain contains the skull-stripped volume). When MGZ is used, the COR volume and directory are replaced by a single file named directory.mgz (eg, brain.mgz). When setting up the raw data in the subject directory, create MGZ files with the names RRR.mgz in the mri directory, where RRR is the 3-digit, 0-padded run number (eg, 004.mgz). Do not use numbers over 100. Note that the input runs do not have to be conformed (ie, 256^3, 1mm isotropic). The input runs will be motion corrected and averaged togther into rawavg.mgz which will then be conformed into orig.mgz.
MGZ format can be used by specifying the -mgz flag. The MGH format is a single-file format in which both pixel and meta data are stored. Files in this format have a .mgh extension. This can be compressed with gzip to give a compressed MGH format for which the extension is .mgz. This can provide substantial savings on disk space, but it does change the way that the data are stored. When COR format is used, an entire directory must be dedicated to the volume, and the volume is identified by the directory name (eg, mri/brain contains the skull-stripped volume). When MGZ is used, the COR volume and directory are replaced by a single file named directory.mgz (eg, brain.mgz). When setting up the raw data in the subject directory, create MGZ files with the names RRR.mgz in the mri directory, where RRR is the 3-digit, 0-padded run number (eg, 004.mgz). Do not use numbers over 100. Note that the input runs do not have to be conformed (ie, 256^3, 1mm isotropic). The input runs will be motion corrected and averaged togther into rawavg.mgz which will then be conformed into orig.mgz.
Line 651: Line 492:
Line 656: Line 498:
Right click before making a cut; this will clear previous points. This is needed because it will string together all the previous places you have clicked to make the cut. To make a line cut, left click on a line of points. Make the points fairly close together; if they are too far appart, the cut fails. After making your line of points, execute the cut by clicking on the Cut icon (scissors with an open triangle for a line cut or scissors with a closed triangle for a closed cut). To make
a plane cut, left click on three points to define the plane, then left click on the side to keep. Then hit the CutPlane icon. Fill the patch. Left click in the part of the surface that you want to
form your patch. Then hit the Fill Uncut Area button (icon = filled triangle). This will fill the patch with white. The non-patch area will be unaccessible through the interface. Save the patch through File->Patch->SaveAs. For whole cortex, save it to something like lh.cort.patch.3d. For occipital patches, save it to lh.occip.patch.3d.
Right click before making a cut; this will clear previous points. This is needed because it will string together all the previous places you have clicked to make the cut. To make a line cut, left click on a line of points. Make the points fairly close together; if they are too far appart, the cut fails. After making your line of points, execute the cut by clicking on the Cut icon (scissors with an open triangle for a line cut or scissors with a closed triangle for a closed cut). To make a plane cut, left click on three points to define the plane, then left click on the side to keep. Then hit the CutPlane icon. Fill the patch. Left click in the part of the surface that you want to form your patch. Then hit the Fill Uncut Area button (icon = filled triangle). This will fill the patch with white. The non-patch area will be unaccessible through the interface. Save the patch through File->Patch->SaveAs. For whole cortex, save it to something like lh.cort.patch.3d. For occipital patches, save it to lh.occip.patch.3d.
Line 661: Line 501:
Line 667: Line 508:
[1] Collins, DL, Neelin, P., Peters, TM, and Evans, AC. (1994)
Automatic 3D Inter-Subject Registration of MR Volumetric Data in
Standardized Talairach Space, Journal of Computer Assisted Tomography,
18(2) p192-205, 1994 PMID: 8126267; UI: 94172121

[2] Cortical Surface-Based Analysis I: Segmentation and Surface
Reconstruction Dale, A.M., Fischl, Bruce, Sereno, M.I.,
(1999). Cortical Surface-Based Analysis I: Segmentation and Surface
Reconstruction. NeuroImage 9(2):179-194

[3] Fischl, B.R., Sereno, M.I.,Dale, A. M. (1999) Cortical
Surface-Based Analysis II: Inflation, Flattening, and Surface-Based
Coordinate System. NeuroImage, 9, 195-207.

[4] Fischl, Bruce, Sereno, M.I., Tootell, R.B.H., and Dale, A.M.,
(1999). High-resolution inter-subject averaging and a coordinate
system for the cortical surface. Human Brain Mapping, 8(4): 272-284

[5] Fischl, Bruce, and Dale, A.M., (2000). Measuring the Thickness of
the Human Cerebral Cortex from Magnetic Resonance Images. Proceedings
of the National Academy of Sciences, 97:11044-11049.

[6] Fischl, Bruce, Liu, Arthur, and Dale, A.M., (2001). Automated
Manifold Surgery: Constructing Geometrically Accurate and
Topologically Correct Models of the Human Cerebral Cortex. IEEE
Transactions on Medical Imaging, 20(1):70-80

[7] Non-Uniform Intensity Correction.
http://www.bic.mni.mcgill.ca/software/N3/node6.html

[8] Fischl B, Salat DH, Busa E, Albert M, Dieterich M, Haselgrove C,
van der Kouwe A, Killiany R, Kennedy D, Klaveness S, Montillo A,
Makris N, Rosen B, Dale AM. Whole brain segmentation: automated
labeling of neuroanatomical structures in the human
brain. Neuron. 2002 Jan 31;33(3):341-55.

[9] Bruce Fischl, Andre van der Kouwe, Christophe Destrieux, Eric
Halgren, Florent Segonne, David H. Salat, Evelina Busa, Larry
J. Seidman, Jill Goldstein, David Kennedy, Verne Caviness, Nikos
Makris, Bruce Rosen, and Anders M. Dale. Automatically Parcellating
the Human Cerebral Cortex. Cerebral Cortex January 2004; 14:11-22.
[1] Collins, DL, Neelin, P., Peters, TM, and Evans, AC. (1994) Automatic 3D Inter-Subject Registration of MR Volumetric Data in Standardized Talairach Space, Journal of Computer Assisted Tomography, 18(2) p192-205, 1994 PMID: 8126267; UI: 94172121

[2] Cortical Surface-Based Analysis I: Segmentation and Surface Reconstruction Dale, A.M., Fischl, Bruce, Sereno, M.I., (1999). Cortical Surface-Based Analysis I: Segmentation and Surface Reconstruction. NeuroImage 9(2):179-194

[3] Fischl, B.R., Sereno, M.I.,Dale, A. M. (1999) Cortical Surface-Based Analysis II: Inflation, Flattening, and Surface-Based Coordinate System. NeuroImage, 9, 195-207.

[4] Fischl, Bruce, Sereno, M.I., Tootell, R.B.H., and Dale, A.M., (1999). High-resolution inter-subject averaging and a coordinate system for the cortical surface. Human Brain Mapping, 8(4): 272-284

[5] Fischl, Bruce, and Dale, A.M., (2000). Measuring the Thickness of the Human Cerebral Cortex from Magnetic Resonance Images. Proceedings of the National Academy of Sciences, 97:11044-11049.

[6] Fischl, Bruce, Liu, Arthur, and Dale, A.M., (2001). Automated Manifold Surgery: Constructing Geometrically Accurate and Topologically Correct Models of the Human Cerebral Cortex. IEEE Transactions on Medical Imaging, 20(1):70-80

[7] Non-Uniform Intensity Correction. http://www.bic.mni.mcgill.ca/software/N3/node6.html

[8] Fischl B, Salat DH, Busa E, Albert M, Dieterich M, Haselgrove C, van der Kouwe A, Killiany R, Kennedy D, Klaveness S, Montillo A, Makris N, Rosen B, Dale AM. Whole brain segmentation: automated labeling of neuroanatomical structures in the human brain. Neuron. 2002 Jan 31;33(3):341-55.

[9] Bruce Fischl, Andre van der Kouwe, Christophe Destrieux, Eric Halgren, Florent Segonne, David H. Salat, Evelina Busa, Larry J. Seidman, Jill Goldstein, David Kennedy, Verne Caviness, Nikos Makris, Bruce Rosen, and Anders M. Dale. Automatically Parcellating the Human Cerebral Cortex. Cerebral Cortex January 2004; 14:11-22.
Line 710: Line 527:
Report bugs to <freesurfer@nmr.mgh.harvard.edu>
See also: BugReporting
Report bugs to < freesurfer@nmr.mgh.harvard.edu > See also: BugReporting
Line 714: Line 530:
Send email to freesurfer@nmr.mgh.harvard.edu. Also see http://surfer.nmr.mgh.harvard.edu. In particular, there is both a reconstruction guide and tutorial as well as manuals for tkmedit and
tksurfer.
Send email to freesurfer@nmr.mgh.harvard.edu . Also see http://surfer.nmr.mgh.harvard.edu. In particular, there is both a reconstruction guide and tutorial as well as manuals for tkmedit and tksurfer.

recon-all (See also ReconAllDevTable, OtherUsefulFlags and ProcessVsFilesTable)

Index

Contents

  1. Name
  2. Synopsis
  3. Arguments
    1. Required Arguments
    2. Specify input
    3. Fully-Automated Directive
    4. Manual-Intervention Workflow Directives
    5. Step-wise Directives
    6. Expert Preferences
    7. Notification Files (Optional)
    8. Status and Log files (Optional)
    9. Other Arguments (Optional)
  4. Description
    1. Subject Identification String
    2. Specifying Directives
    3. Clustered Directives
    4. Step-wise Directives
    5. Expert Preferences
    6. Expert Options File
    7. Notification Files
    8. Status and Log Files
    9. Other Arguments
  5. Step Description Summaries
    1. Motion Correction (-<no>motioncor)
    2. NU Intensity Correction (-<no>nuintensitycor)
    3. Talairach (-<no>talairach)
    4. Normalization (-<no>normalization)
    5. Skull Strip (-<no>skullstrip)
    6. Automatic Subcortical Segmentation (-<no>subcortseg)
    7. EM (GCA) Registration (-<no>gcareg)
    8. CA Normalize (-<no>canorm)
    9. CA Register (-<no>careg)
    10. Remove neck (-<no>rmneck)
    11. EM Registration, with Skull (-<no>skull-lta)
    12. CA Label (-<no>calabel)
    13. ASeg Stats (-<no>segstats)
    14. Normalization2 (-<no>normalization)
    15. WM Segmentation (-<no>segmentation)
    16. Cut/Fill (-<no>fill)
    17. Tessellation (-<no>tessellate)
    18. Orig Surface Smoothing (-<no>smooth1, -<no>smooth2)
    19. Inflation (-<no>inflate1, -<no>inflate2)
    20. QSphere (-<no>qsphere)
    21. Automatic Topology Fixer (-<no>fix)
    22. Final Surfaces (-<no>finalsurfs)
    23. Cortical Ribbon Mask (-<no>cortribbon)
    24. Spherical Inflation (-<no>sphere)
    25. Ipsilateral Surface Registation (Spherical Morph) (-<no>surfreg)
    26. Contralateral Surface Registation (Spherical Morph) (-<no>contasurfreg)
    27. Average Curvature (-<no>avgcurv)
    28. Cortical Parcellation (-<no>cortparc, -<no>cortparc2)
    29. Parcellation Statistics (-<no>parcstats)
  6. Other
    1. Manual Checking and Editing of Surfaces
    2. Verification of fsaverage
    3. Using Compressed MGH Format (.mgz)
    4. Flattening
  7. References
  8. Reporting Bugs
  9. Additional Help

Name

recon-all : Performs all, or any part of, the FreeSurfer cortical reconstruction process.

Synopsis

recon-all

-subjid subjid [Directive]

Arguments

Note: arguments are described in greater detail in the Description section (further below).

Required Arguments

-subjid subjid

the subject data upon which to operate

[Directive]

one or more directives (see next)

Specify input

-i file.dcm

single DICOM file from the T1 MRI series. If you have more than one T1, then use: -i file1.dcm -i file2.dcm

-i file.nii

single NIFTI file from series

Fully-Automated Directive

-all

do everything, including subcortical segmentation

-autorecon-all

same as -all

Manual-Intervention Workflow Directives

-autorecon1

process steps 1-5 (see below)

-autorecon2

process steps 6-23

after autorecon2, check final surfaces:

a. if wm edit was required, then run -autorecon2-wm

b. if control points added, then run -autorecon2-cp

c. if edits made to correct pial, then run -autorecon2-pial

d. proceed to run -autorecon3

-autorecon2-cp

process stages 12-23 (uses -f w/ mri_normalize, -keep w/ mri_seg)

-autorecon2-wm

process stages 15-23

-autorecon2-pial

process stages 21-23

-autorecon3

process stages 24-31

-hemi ?h

just do lh or rh (default is to do both)

  • Autorecon Processing Stages (see -autorecon# flags above):
    1. Motion Correction and Conform
    2. NU (Non-Uniform intensity normalization)
    3. Talairach transform computation
    4. Intensity Normalization 1
    5. Skull Strip
    6. EM Register (linear volumetric registration)
    7. CA Intensity Normalization
    8. CA Non-linear Volumetric Registration
    9. Remove Neck
    10. LTA with Skull
    11. CA Label (Volumetric Labeling, ie Aseg) and Statistics
    12. Intensity Normalization 2 (start here for control points)
    13. White matter segmentation
    14. Edit WM With ASeg
    15. Fill (start here for wm edits)
    16. Tessellation (begins per-hemisphere operations)
    17. Smooth1
    18. Inflate1
    19. QSphere
    20. Automatic Topology Fixer
    21. Final Surfs (start here for brain edits for pial surf)
    22. Smooth2
    23. Inflate2
    24. Spherical Mapping
    25. Spherical Registration
    26. Spherical Registration, Contralateral hemisphere
    27. Map average curvature to subject
    28. Cortical Parcellation - Desikan_Killiany and Christophe (Labeling)
    29. Cortical Parcellation Statistics
    30. Cortical Ribbon Mask
    31. Cortical Parcellation mapping to Aseg

Step-wise Directives

See Description section.

Expert Preferences

-pons-crs C R S

col, row, slice of seed point for pons, used in fill

-cc-crs C R S

col, row, slice of seed point for corpus callosum, used in fill

-lh-crs C R S

col, row, slice of seed point for left hemisphere, used in fill

-rh-crs C R S

col, row, slice of seed point for right hemisphere, used in fill

-nofill

do not use the automatic subcort seg to fill

-custom-tal-atlas

allows a custom talairach atlas to be used

-watershed cmd

control skull stripping/watershed program

-wsless

decrease watershed threshold (shrinks skull surface)

-wsmore

increase watershed threshold (expands skull surface)

-wsatlas

use atlas when skull stripping

-wsthresh pct

explicity set watershed threshold

-wsseed C R S

identify an index (C, R, S) point in the skull

-nuiterations N

set number of iterations for nu intensity correction (default is 2)

-norm3diters niters

number of 3d iterations for mri_normalize

-normmaxgrad maxgrad

max grad (-g) for mri_normalize. Default is 1.

-cm

conform COR volumes to the min voxel size

-no-fix-with-ga

do not use genetic algorithm when fixing topology

-seg-wlo wlo

set wlo value for mri_segment

-seg-ghi ghi

set ghi value for mri_segment

-no-ca-align

turn off -align with mri_ca_{register,label}.

-deface

deface subject, written to orig_defaced.mgz

-expert file

read-in expert options file

Notification Files (Optional)

-waitfor file

wait for file to appear before beginning

-notify file

create this file after finishing

Status and Log files (Optional)

-log file

default is $SUBJECTS_DIR/<your_subjectid>/scripts/recon-all.log

-status file

default is $SUBJECTS_DIR/<your_subjectid>/scripts/recon-all-status.log

-noappend

start new log and status files instead of appending

Other Arguments (Optional)

-sd subjectsdir

specify subjects dir (default env SUBJECTS_DIR)

-mail username

mail user when done

-umask umask

set unix file permission mask (default 002)

-grp groupid

check that current group is alpha groupid

-debug

print out lots of info

-dontrun

do everthing but execute each command

-version

print version of this script and exit

-help

yea, like anybody's going to read this

Description

Performs all, or any part of, the FreeSurfer cortical reconstruction process. This help only gives some simple information. See also ReconAllDevTable.

Basic usages:

1. Subject dir does not exist:

  • recon-all -subject subjectname -i invol1 <-i invol2> -all

Creates analysis directory $SUBJECTS_DIR/subjectname, converts one or more input volumes to MGZ format in subjectname/mri/orig, and runs all processing steps.

2. Manual conversion into mgz:

  • mkdir -p $SUBJECTS_DIR/subjectname/mri/orig mri_convert invol1 $SUBJECTS_DIR/subjectname/mri/orig/001.mgz mri_convert invol2 $SUBJECTS_DIR/subjectname/mri/orig/002.mgz recon-all -subject subjectname -all

If no input volumes are given, then it is assumed that the subject directory has already been created and that the raw data already exists in MGZ format in subjid/mri/orig as XXX.mgz, where XXX is a 3-digit, zero-padded number.

3. Legacy Data

  • recon-all -subject subjectname -all -legacy

Subject Identification String

-s subjectname
-sid subjectname
-subjid subjectname
-subject subjectname

'subjectname' is the FreeSurfer subject identification string which doubles as the name of the reconstruction root directory for this subject. This reconstruction should be referenced by this string for all FreeSurfer commands and in the register.dat matrix (for functional interfacing).

Specifying Directives

Directives instruct recon-all which part(s) of the reconstruction stream to run. While it is possible to do everything in one shot (using the -all flag), there can be some benefits to customizing the stream. These benefits include stopping to perform manual editing as well as parallelization. Directives are either clustered or step-wise. Clustered directives are sets of steps that can be performed by specifying a single flag. A step-wise directive refers to a single step. Directives accumulate. A step can be removed from a cluster by adding -no<step> after the cluster flag. For example, specifying -all followed by -notalairach will perform all the reconstruction steps except talairaching. However, note that if -notalairach preceeded -all, talairaching would still be performed.

Clustered Directives

-all
-autorecon-all

Perform all reconstruction steps, including subcortical segmentation.

-autorecon1

Motion correction through skull strip.

-autorecon2

Subcortical segmentation through make final surfaces.

-autorecon2-cp

Normalization2 through make final surfaces.

-autorecon2-wm

Fill through make final surfaces. Used after editing wm volume after running -autorecon2.

-autorecon2-pial

Makes final surfaces. Used after editing brain volume after running -autorecon2. The brain volume may be edited to fix problems with the pial surface.

-autorecon3

Spherical morph and automatic cortical parcellation.

-hemi hemisphere

Instruct recon-all to only operate on the specified hemisphere. Legal values are lh and rh. This can be used to run the surface-related steps in parallel.

Step-wise Directives

Step-wise directives allow the user to implement a single step in the reconstruction process. See also STEP DESCRIPTION SUMMARIES below. They also allow users to include/exclude a step from a clustered DIRECTIVE. To include a step, use -step (eg, -skullstrip). To exclude a step, use -nostep (eg -noskullstrip).

Run times are approximate for an AMD Opteron 64bit 2.5GHz processor. The topology fixer processing time varies considerably depending on the complexity of the defects in need of fixing.

-<no>motioncor

< 5 min

-<no>nuintensitycor

3 min

-<no>talairach

1 min

-<no>normalization

3 min

-<no>skullstrip

1 min

-<no>gcareg

8 min

-<no>canorm

1 min

-<no>careg

10 hours

-<no>rmneck

3 min

-<no>skull-lta

9 min

-<no>calabel

30 min

-<no>normalization2

3 min

-<no>segmentation

4 min

-<no>fill

1 min

-<no>tessellate

< 1 min

per hemisphere

-<no>smooth1

< 1 min

per hemisphere

-<no>inflate1

1 min

per hemisphere

-<no>qsphere

16 min

per hemisphere

-<no>fix

1-9 hours

per hemisphere

-<no>finalsurfs

1-2 hours

per hemisphere

-<no>smooth2

< 1 min

per hemisphere

-<no>inflate2

2 min

per hemisphere

-<no>cortribbon

< 1 min

per hemisphere

-<no>sphere

1-2 hours

per hemisphere

-<no>surfreg

1 hour

per hemisphere

-<no>contrasurfreg

1 hour

per hemisphere

-<no>avgcurv

< 1 min

per hemisphere

-<no>cortparc

1 min

per hemisphere

-<no>parcstats

< 1 min

per hemisphere

-<no>cortparc2

1 min

per hemisphere

-<no>parcstats2

< 1 min

per hemisphere

-<no>aparc2aseg

1 min

-all

20-40 hours

both hemipheres

Expert Preferences

-pons-crs C R S

Specify a seed point for the pons during the fill operation. This is used to cut the brain stem from brain. By default, this point will be determined automatically. It should only be specified if there is a cut failure. To determine what this point should be, find the center of the pons in the T1 volume (in tkmedit) and record the column, row, and slice. Creates a file called scripts/seed-ponscrs.man.dat with the CRS.

-cc-crs C R S

Specify a seed point for the corpus callosum during the fill operation. This is used to help separate the hemispheres. By default, this point will be determined automatically. It should only be specified if there is a cut failure. To determine what this point should be, find the center of the CC in the T1 volume (in tkmedit) and record the column, row, and slice. Creates a file called scripts/seed-cccrs.man.dat with the CRS.

-lh-crs C R S

Specify a seed point for the left hemisphere during the fill operation. This is used to help identify the left hemisphere. By default, this point will be determined automatically. It should only be specified if there is a cut failure. To determine what this point should be, find a point in the white matter mass of the left hemisphere in the T1 volume (in tkmedit) and record the column, row, and slice. Creates a file called scripts/seed-cccrs.man.dat with the CRS. Remember that tkmedit displays the volume in radiological convention (ie, left is right).

-rh-crs C R S

Same as -lh-crs but for the right hemisphere. Creates a file called scripts/seed-rhcrs.man.dat with the CRS.

-watershed cmd

This controls how the skull stripping will be performed. Legal values are normal (the default), atlas, nowatershed, watershedonly, and watershedtemplate.

-wsmore/-wsless

Increase/decrease the preflooding height (threshold) when skull stripping. -wsmore will expand the skull surface; -wsless will shrink the skull surface. See also -wsthresh.

-wsthresh pctheight

Explicitly set the preflooding height when skull stripping.

-wsseed R C S

Supply a point in the volume that the user believes to be in the white matter. By default, this point will be determined automatically. It should only be specified if there is a strip failure. To determine what this point should be, find a point in the white matter using tkmedit and record the Volume Index values (NOT the XYZ coordinates).

-gca gcafile

Specify the full path to the gaussian classifier array (GCA) file to be used with GCA registration and automatic subcortical segmentation. Default is RB_all_2006-02-15.gca located in FREESURFER_HOME/average. This has no effect unless the GCA registration or subcortical segmentation stages are to be performed.

-gca-skull gcafile

Specify the full path to the gaussian classifier array (GCA) file to be used with registration with skull. Default is RB40_talairach_with_skull_2005-12-30.gca located in FREESURFER_HOME/average.

-nuiterations

Number of iterations in the non-uniform intensity correction. Default is 4.

-norm3diters niters

Use niters 3d normalization iterations (passes as -n to mri_normalize).

-normmaxgrad maxgrad

Passes "-g maxgrad" to mri_normalize. Max grad default is 1.

-noaseg

Skips subcortical segmentation steps (same as -nosubcortseg), and does not use aseg.mgz for inorm2, wm segmentation, or filling. Use this flag for brains that do not support usage of subcortical segmentation.

Expert Options File

While the expert preferences flags supported by recon-all cover most of the instances where special flags need to be passed to a FreeSurfer binary, to allow passing an arbitrary flag to a binary, recon-all supports the reading of a user-created file containing special options to include in the command string (in addition to, not in place of). The file should contain as the first item the name of the command, and the items following it on rest of the line will be passed as the extra options. For example, if a file called expert.opts is created containing these lines:

mri_em_register -p .5
mris_fix_topology -s 100

then the option "-p .5" will be passed to mri_em_register, and "-s 100" will be passed to mris_fix_topology. The name of the expert options file is passed to recon-all with the -expert flag, eg.

recon-all -expert <full pathname>/expert.opts

Note: the full pathname to the file must be specified.

The following FreeSurfer binaries will accept an expert option:

Notification Files

Notification files allow the user to cascade invocations to recon-all, with one invocation waiting until another one terminates. This is done by specifying a file that must exist before an invocation can precede (-waitfor) and/or specifying a file that is created when an invocation terminates (-notify). This type of interprocess communication can allow users to parallelize the stream. If this is to be done, note that each hemisphere can be run separately by specifying the -hemi flag.

Status and Log Files

By default, log and status files are created in subjid/scripts. The log file contains all the output from all the programs that have been run during the invocation to recon-all. The status file has a list of all the programs that have been run and the time at which each started. The log file is intended to be a record of what was done whereas the status file allows the user to easily see where in the stream a currently running process is. The log file should be sent with all bug reports. By default, these files are called recon-all.log and recon-all.status, but this can be changed with the -log and -status options. By default, the log and status are appended to. New log and status files can be forced with the -noappend flag.

Other Arguments

-sd subjectsdir

This allows the user to specify the root of the FreeSufer subjects directory. If unspecified, the environment variable $SUBJECTS_DIR is used.

-mail username

Send email to username when the process terminates.

Step Description Summaries

Motion Correction (-<no>motioncor)

When there are multiple source volumes, this step will correct for small motions between them and then average them together. The input are the volumes found in file(s) mri/orig/XXX.mgz. The output will be the volume mri/orig.mgz. If no runs are found, then it looks for a volume in mri/orig (or mri/orig.mgz). If that volume is there, then it is used in subsequent processes as if it was the motion corrected volume. If no volume is found, then the process exits with errors.

NU Intensity Correction (-<no>nuintensitycor)

Non-parametric Non-uniform intensity Normalization (N3), corrects for intensity non-uniformity in MR data, making relatively few assumptions about the data. This runs the MINC tool 'nu_correct'. By default, four iterations of nu_correct are run. The flag -nuiterations specification of some other number of iterations.

Talairach (-<no>talairach)

This computes the affine transform from the orig volume to the MNI305 atlas using the MINC program mritotal (see Collins, et al, 1994) through a FreeSurfer script called talairach. Several of the downstream programs use talairach coordinates as seed points. You can/should check how good the talairach registration is using tkregister2 --s subjid --fstal. tkregister2 allows you to compare the orig volume against the talairach volume resampled into the orig space. Run "tkregister2 --help" for more information. Creates the files mri/transform/talairach.auto.xfm and talairach.xfm.

Normalization (-<no>normalization)

Performs intensity normalization of the orig volume and places the result in mri/T1.mgz. Attempts to correct for fluctuations in intensity that would otherwise make intensity-based segmentation much more difficult. Intensities for all voxels are scaled so that the mean intensity of the white matter is 110. If there are problems with the normalization, users can add control points. See also Normalization2.

Skull Strip (-<no>skullstrip)

Removes the skull from mri/T1.mgz and stores the result in mri/brainmask.auto.mgz and mri/brainmask.mgz. Runs the mri_watershed program. If the strip fails, users can specify seed points (-wsseed) or change the threshold (-wsthresh, -wsmore, -wsless). The -autorecon1 stage ends here.

Automatic Subcortical Segmentation (-<no>subcortseg)

This is done in six stages. (1) CGA linear registration (-gcareg). This is an initial registration to a template. (2) Canonical Normalization (-canorm), (3) Canonical Registration (-careg). (4) Neck removal (-rmneck), (5) Registration, w/skull (-skull-lta), and (6) Subcortical labeling (-calabel). The stages are listed next.

EM (GCA) Registration (-<no>gcareg)

Computes transform to align the mri/nu.mgz volume to the default GCA atlas found in FREESURFER_HOME/average (see -gca flag for more info). Creates the file mri/transforms/talairach.lta. The -autorecon2 stage starts here.

CA Normalize (-<no>canorm)

Further normalization, based on GCA model. Creates mri/norm.mgz.

CA Register (-<no>careg)

Computes a nonlinear transform to align with GCA atlas. Creates the file mri/transform/talairach.m3z.

Remove neck (-<no>rmneck)

The neck region is removed from the NU-corrected volume mri/nu.mgz. Makes use of transform computed from prior CA Register stage. Creates the file mri/nu_noneck.mgz.

EM Registration, with Skull (-<no>skull-lta)

Computes transform to align volume mri/nu_noneck.mgz with GCA volume possessing the skull. Creates the file mri/transforms/talairach_with_skull.lta.

CA Label (-<no>calabel)

Labels subcortical structures, based in GCA model. Creates the files mri/aseg.auto.mgz and mri/aseg.mgz.

ASeg Stats (-<no>segstats)

Computes statistics on the segmented subcortical structures found in mri/aseg.mgz. Writes output to file stats/aseg.stats.

Normalization2 (-<no>normalization)

Performs a second (major) intensity correction using only the brain volume as the input (so that it has to be done after the skull strip). Intensity normalization works better when the skull has been removed. Creates a new brain.mgz volume. The -autorecon2-cp stage begins here. If -noaseg flag is used, then aseg.mgz is not used by mri_normalize.

WM Segmentation (-<no>segmentation)

Attempts to separate white matter from everything else. The input is mri/brain.mgz, and the output is mri/wm.mgz. Uses intensity, neighborhood, and smoothness constraints. This is the volume that is edited when manually fixing defects. Calls mri_segment, mri_edit_wm_with_aseg, and mri_pretess. To keep previous edits, run with -keepwmedits. If -noaseg is used, them mri_edit_wm_aseg is skipped.

Cut/Fill (-<no>fill)

This creates the subcortical mass from which the orig surface is created. The mid brain is cut from the cerebrum, and the hemispheres are cut from each other. The left hemisphere is binarized to 255. The right hemisphere is binarized to 127. The input is mri/wm.mgz and the output is mri/filled.mgz. Calls mri_fill. If the cut fails, then seed points can be supplied (see -cc-crs, -pons-crs, -lh-crs, -rh-crs). The actual points used for the cutting planes in the corpus callosum and pons can be found in scripts/ponscc.cut.log. The stage -autorecon2-wm begins here. This is the last stage of volumetric processing. If -noaseg is used, then aseg.mgz is not used by mri_fill.

Tessellation (-<no>tessellate)

This is the step where the orig surface (ie, surf/?h.orig.nofix) is created. The surface is created by covering the filled hemisphere with triangles. Runs mri_tessellate. The places where the points of the triangles meet are called vertices. Creates the file surf/?h.orig.nofix Note: the topology fixer will create the surface ?h.orig.

Orig Surface Smoothing (-<no>smooth1, -<no>smooth2)

After tesselation, the orig surface is very jagged because each triangle is on the edge of a voxel face and so are at right angles to each other. The vertex positions are adjusted slightly here to reduce the angle. This is only necessary for the inflation processes. Creates surf/?h.smoothwm(.nofix). Calls mris_smooth. Smooth1 is the step just after tessellation, and smooth2 is the step just after topology fixing.

Inflation (-<no>inflate1, -<no>inflate2)

Inflation of the surf/?h.smoothwm(.nofix) surface to create surf/?h.inflated. The inflation attempts to minimize metric distortion so that distances and areas are perserved (ie, the surface is not stretched). In this sense, it is like inflating a paper bag and not a balloon. Inflate1 is the step just after tessellation, and inflate2 is the step just after topology fixing. Calls mris_inflate. Creates ?h.inflated, ?h.sulc, ?h.curv, and ?h.area.

QSphere (-<no>qsphere)

This is the initial step of automatic topology fixing. It is a quasi-homeomorphic spherical transformation of the inflated surface designed to localize topological defects for the subsequent automatic topology fixer. Calls mris_sphere. Creates surf/?h.qsphere.nofix.

Automatic Topology Fixer (-<no>fix)

Finds topological defects (ie, holes in a filled hemisphere) using surf/?h.qsphere.nofix, and changes the orig surface (surf/?h.orig.nofix) to remove the defects. Changes the number of vertices. All the defects will be removed, but the user should check the orig surface in the volume to make sure that it looks appropriate. Calls mris_fix_topology. Creates surf/?h.orig (by iteratively fixing surf/?h.orig.nofix).

Final Surfaces (-<no>finalsurfs)

Creates the ?h.white and ?h.pial surfaces as well as the thickness file (?h.thickness) and curvature file (?h.curv). The white surface is created by "nudging" the orig surface so that it closely follows the white-gray intensity gradient as found in the T1 volume. The pial surface is created by expanding the white surface so that it closely follows the gray-CSF intensity gradient as found in the T1 volume. Calls mris_make_surfaces.

Cortical Ribbon Mask (-<no>cortribbon)

Creates binary volume masks of the cortical ribbon, ie, each voxel is either a 1 or 0 depending upon whether it falls in the ribbon or not. Saved as ?h.ribbon.mgz. Uses mgz regardless of whether the -mgz option is used. The -autorecon2 stage ends here.

Spherical Inflation (-<no>sphere)

Inflates the orig surface into a sphere while minimizing metric distortion. This step is necessary in order to register the surface to the spherical atlas. (also known as the spherical morph). Calls mris_sphere. Creates surf/?h.sphere. The -autorecon3 stage begins here.

Ipsilateral Surface Registation (Spherical Morph) (-<no>surfreg)

Registers the orig surface to the spherical atlas through surf/?h.sphere. The surfaces are first coarsely registered by aligning the large scale folding patterns found in ?h.sulc and then fine tuned using the small-scale patterns as in ?h.curv. Calls mris_register. Creates surf/?h.sphere.reg.

Contralateral Surface Registation (Spherical Morph) (-<no>contasurfreg)

Same as ipsilateral but registers to the contralateral atlas. Creates lh.rh.sphere.reg and rh.lh.sphere.reg.

Average Curvature (-<no>avgcurv)

Resamples the average curvature from the atlas to that of the subject. Allows the user to display activity on the surface of an individual with the folding pattern (ie, anatomy) of a group. Calls mrisp_paint. Creates surf/?h.avg_curv.

Cortical Parcellation (-<no>cortparc, -<no>cortparc2)

Assigns a neuroanatomical label to each location on the cortical surface. Incorporates both geometric information derived from the cortical model (sulcus and curvature), and neuroanatomical convention. Calls mris_ca_label. -cortparc creates label/?h.aparc.annot, and -cortparc2 creates /label/?h.aparc.a2005s.annot.

Parcellation Statistics (-<no>parcstats)

Runs mris_anatomical_stats to create a summary table of cortical parcellation statistics for each structure, including 1. structure name 2. number of vertices 3. total surface area (mm2) 4. total gray matter volume (mm3) 5. average cortical thickness (mm) 6. standard error of cortical thicknessr (mm) 7. integrated rectified mean curvature 8. integrated rectified Gaussian curvature 9. folding index 10. intrinsic curvature index. For -parcstats, the file is saved in stats/?h.aparc.stats. For -parcstats2, the file is saved in stats/?h.aparc.a2005s.stats.

Other

Manual Checking and Editing of Surfaces

To manually edit segmenation, run the following command (make sure that your SUBJECTS_DIR environment variable is properly set).

tkmedit subjid wm.mgz -aux T1.mgz

The surfaces can be loaded through the menu item File->LoadMainSurface. To enable editing, set Tools->EditVoxels. It may also be convenient to bring up the reconstruction toolbar with View->ToolBars->Reconstruction. Alt-C toggles between the main (wm) and auxiliary (T1) volumes. Middle clicking will set a voxel value to 255; left clicking will set a voxel value to 0. Only edit the wm volume. When finished, File->SaveMainVolume.

To view the inflated surface simultaneosly with the volume, run the following command from a different shell:

tksurfer subjid lh inflated

To goto a point on the surface inside the volume, click on the point and hit SavePoint (icon looks like a floppy disk), then, in tkmedit, hit GotoSavedPoint (icon looks like an open file).

Be sure to see the tutorials found at FsTutorial.

Verification of fsaverage

New to Freesurfer versions 5.2 and greater, recon-all will check if the fsaverage directory in SUBJECTS_DIR directory path corresponds to the 5.2 (or greater) version which contains several new files. If a previous version of fsaverage is detected which does not include these new files, then recon-all will delete the old fsaverage and create a new symlink. As a result, any files manually created by the user inside the fsaverage directory are potentially at risk of being deleted when upgrading Freesurfer versions.

Using Compressed MGH Format (.mgz)

MGZ format can be used by specifying the -mgz flag. The MGH format is a single-file format in which both pixel and meta data are stored. Files in this format have a .mgh extension. This can be compressed with gzip to give a compressed MGH format for which the extension is .mgz. This can provide substantial savings on disk space, but it does change the way that the data are stored. When COR format is used, an entire directory must be dedicated to the volume, and the volume is identified by the directory name (eg, mri/brain contains the skull-stripped volume). When MGZ is used, the COR volume and directory are replaced by a single file named directory.mgz (eg, brain.mgz). When setting up the raw data in the subject directory, create MGZ files with the names RRR.mgz in the mri directory, where RRR is the 3-digit, 0-padded run number (eg, 004.mgz). Do not use numbers over 100. Note that the input runs do not have to be conformed (ie, 256^3, 1mm isotropic). The input runs will be motion corrected and averaged togther into rawavg.mgz which will then be conformed into orig.mgz.

Flattening

Flattening is not actually done in this script. This part just documents how one would go about performing the flattening. First, load the subject surface into tksurfer:

tksurfer subjid lh inflated

Load the curvature through the File->Curvature->Load menu (load lh.curv). This should show a green/red curvature pattern. Red = sulci.

Right click before making a cut; this will clear previous points. This is needed because it will string together all the previous places you have clicked to make the cut. To make a line cut, left click on a line of points. Make the points fairly close together; if they are too far appart, the cut fails. After making your line of points, execute the cut by clicking on the Cut icon (scissors with an open triangle for a line cut or scissors with a closed triangle for a closed cut). To make a plane cut, left click on three points to define the plane, then left click on the side to keep. Then hit the CutPlane icon. Fill the patch. Left click in the part of the surface that you want to form your patch. Then hit the Fill Uncut Area button (icon = filled triangle). This will fill the patch with white. The non-patch area will be unaccessible through the interface. Save the patch through File->Patch->SaveAs. For whole cortex, save it to something like lh.cort.patch.3d. For occipital patches, save it to lh.occip.patch.3d.

Cd into the subject surf directory and run:

mris_flatten -w N -distances Size Radius lh.patch.3d lh.patch.flat

where N instructs mris_flatten to write out an intermediate surface every N interations. This is only useful for making movies; otherwise set N=0. Size is maximum number of neighbors; Radius radius (mm) in which to search for neighbors. In general, the more neighbors that are taken into account, the less the metric distortion but the more computationally intensive. Typical values are Size=12 for large patches, and Size=20 for small patches. Radius is typically 7. Note: flattening may take 12-24 hours to complete. The patch can be viewed at any time by loading the subjects inflated surface, then loading the patch through File->Patch->LoadPatch...

References

[1] Collins, DL, Neelin, P., Peters, TM, and Evans, AC. (1994) Automatic 3D Inter-Subject Registration of MR Volumetric Data in Standardized Talairach Space, Journal of Computer Assisted Tomography, 18(2) p192-205, 1994 PMID: 8126267; UI: 94172121

[2] Cortical Surface-Based Analysis I: Segmentation and Surface Reconstruction Dale, A.M., Fischl, Bruce, Sereno, M.I., (1999). Cortical Surface-Based Analysis I: Segmentation and Surface Reconstruction. NeuroImage 9(2):179-194

[3] Fischl, B.R., Sereno, M.I.,Dale, A. M. (1999) Cortical Surface-Based Analysis II: Inflation, Flattening, and Surface-Based Coordinate System. NeuroImage, 9, 195-207.

[4] Fischl, Bruce, Sereno, M.I., Tootell, R.B.H., and Dale, A.M., (1999). High-resolution inter-subject averaging and a coordinate system for the cortical surface. Human Brain Mapping, 8(4): 272-284

[5] Fischl, Bruce, and Dale, A.M., (2000). Measuring the Thickness of the Human Cerebral Cortex from Magnetic Resonance Images. Proceedings of the National Academy of Sciences, 97:11044-11049.

[6] Fischl, Bruce, Liu, Arthur, and Dale, A.M., (2001). Automated Manifold Surgery: Constructing Geometrically Accurate and Topologically Correct Models of the Human Cerebral Cortex. IEEE Transactions on Medical Imaging, 20(1):70-80

[7] Non-Uniform Intensity Correction. http://www.bic.mni.mcgill.ca/software/N3/node6.html

[8] Fischl B, Salat DH, Busa E, Albert M, Dieterich M, Haselgrove C, van der Kouwe A, Killiany R, Kennedy D, Klaveness S, Montillo A, Makris N, Rosen B, Dale AM. Whole brain segmentation: automated labeling of neuroanatomical structures in the human brain. Neuron. 2002 Jan 31;33(3):341-55.

[9] Bruce Fischl, Andre van der Kouwe, Christophe Destrieux, Eric Halgren, Florent Segonne, David H. Salat, Evelina Busa, Larry J. Seidman, Jill Goldstein, David Kennedy, Verne Caviness, Nikos Makris, Bruce Rosen, and Anders M. Dale. Automatically Parcellating the Human Cerebral Cortex. Cerebral Cortex January 2004; 14:11-22.

Reporting Bugs

Report bugs to < freesurfer@nmr.mgh.harvard.edu > See also: BugReporting

Additional Help

Send email to freesurfer@nmr.mgh.harvard.edu . Also see http://surfer.nmr.mgh.harvard.edu. In particular, there is both a reconstruction guide and tutorial as well as manuals for tkmedit and tksurfer.

recon-all (last edited 2017-12-08 18:23:09 by MorganFogarty)