Differences between revisions 120 and 121
Deletions are marked like this. Additions are marked like this.
Line 32: Line 32:
||<bgcolor='#FFFFE0'>'''-no-wsgcaatlas'''||<-5(bgcolor='#E0E0FF'>use this flag when you have reason to believe that certain anatomy could be an outlier, and is responsible for causing the skullstripping step to fail or produce poor skullstripping|| ||<bgcolor='#FFFFE0'>'''-no-wsgcaatlas'''||<-5(bgcolor='#E0E0FF'>use this flag when you have reason to believe that certain anatomy could be an outlier, and is responsible for causing the skullstripping step to fail or produce poor skullstripping (wsgcaatlas = with skull gaussian classifier array atlas)||

FreeSurfer Tutorial: Useful recon-all flags.

This page extends ReconAllDevTable. The following flags can be used in conjunction with individual steps or the entire process:

-autorecon-all

either of these flags will work to run the entire recon-all process.

-all

-clean-tal

trashes any manual edits to the talairach, makes talairach.xfm and talairach.auto.xfm the same and runs using the automatically generated talairach.xfm

-clean-seed

trashes all saved seed point for the cutting planes and uses the automatically set cutting planes.

-clean-cp

trashes control points and runs the normalization without control points.

-clean-bm

trashes any manual edits to the brainmask.mgz volume, makes brainmask.mgz and brainmask.auto.mgz the same and runs using the automatically generated brainmask.mgz

-clean-wm

trashes any manual edits to the wm.mgz volume and runs using the automatically generated wm.mgz.

-clean-aseg

trashes any manual edits to the aseg.mgz and runs using the automatically generated aseg.mgz

-clean-cpwm

combination of -clean-cp and -clean-wm.

-clean-xopts

delete pre-existing expert options file

-clean-cw256

-clean-lta

moves *.lta files to trash

-clean-pfh

trashes preflood height volumes (skullstrip)

-clean-bfse

trashes edits to brain.finalsurfs.manedit.mgz

-clean

use this flag to clear all of your manual edits and run it completely fresh.

-deface

removes the face from the orig volume to anonymize it.

-dontrun

useful for debugging. just prints the commands that will run (does not execute them).

-gcut

use this flag when skull strip leaves a little bit of dura behind. In this case, adjusting the watershed parameters won't be as useful and manual edits will take too long.
INFO: Care must be taken to thoroughly inspect your data when using -gcut. In particular, inpsect the edges of gm and cerebellum for over-aggressive cutting. Add -segmentation brainmask.gcuts.mgz to tkmedit to view the voxels which gcut has removed.

-mprage

changes some of the assumptions about CNR and SNR, and will use a higher threshold to allow the control points to grow more liberally than in general.

-multistrip

use this flag on a subject when you would like to get skullstrip results using several different watershed preflood heights simultaneously. Output will be nu, orig, and T1 volumes stripped at these heights: 5, 10, 20, 30. You can change which preflood heights are used by setting this variable first: setenv WATERSHED_PREFLOOD_HEIGHTS '20 30 40 50'. Be sure to use -clean-bm with this flag.

-noaseg

use this flag on subjects that either cannot use an aseg (i.e., baby brains or non-human primates) or for those for which you will never want an aseg. It skips the subcortical segmentation and will not try and use it (aseg.mgz) in any of the subsequent steps.

-norandomness

use this flag on a subject when it is necessary to ensure that results are exactly the same from run to run. it seeds the random number generator used by some algorithms with the same number, removing any variability.

-notal-check

use this flag when running a subject after receiving an error about Tailarach Failure Detection and the tailarach transform looks fine after checking it with this command line: tkregister2 --mgz --s <subjid> --fstal

-no-wsgcaatlas

use this flag when you have reason to believe that certain anatomy could be an outlier, and is responsible for causing the skullstripping step to fail or produce poor skullstripping (wsgcaatlas = with skull gaussian classifier array atlas)

-surfsegedit

this flag fixes the gm and a few other areas in the aseg using info from the surfaces. Run after the surfaces are done.

-vno_match_check

Confirms that the surface data is out of sync in case an error indicates that there is a size mismatch. Then run from whatever stage that is out of sync.

recon-all flag

Used with step

Description

-no-ca-align

-careg

this flag should be used if the data to be processed comes from the same scanner platform and pulse sequence as the atlas. With the FreeSurfer RB40 atlas this means MPRAGE on a 1.5T Siemens scanner.

-calabel

-subcortseg

-gcareg

runs the subcortical segmentation and associated statistics

-canorm

-careg

-rmneck

-skull-lta

-calabel

-segstats

-cc-xyz <X Y Z>

-fill

manually sets the corpus callosum seed point

-pons-xyz <X Y Z>

-fill

manually sets the pons seed point

-rh-xyz <X Y Z>

-fill

manually sets the right hemisphere seed point

-lh-xyz <X Y Z>

-fill

manually sets the left hemisphere seed point

-jacobian_dist0

Computes how much an individual surface must be distorted in order to perfectly match the atlas (ie, distance contraints are turned off).

-old-atlas

-gcareg

Use this flag in conjunction with other steps of recon-all and it will default to the old set of atlases. Uses talairach_mixed.gca for the subcortical segmentation, ?h.average.tif for the surface morph, and ?h.atlas2002_simple.gcs for the cortical parcellations.

-canorm

-careg

-calabel

-surfreg

-contrasurfreg

-avgcurv

-cortparc

The following flags can be used after certain manual intervention to regenerate accurate volumes and surfaces (if a data set has or needs spherical morphing, add the -autorecon3 flag):

recon-all step

Individual Flag

Input

Command Line

Output

recon-all -autorecon2-wm -subjid subj (use this after doing manual wm edits. This flag will regenerate all necessary volumes and surfaces)

-fill

wm.mgz

mri_fill -a ../scripts/ponscc.cut.log -xform transforms/talairach.lta -segmentation aseg.auto_noCCseg.mgz wm.mgz filled.mgz

filled.mgz

aseg.auto_noCCseg.mgz

../scripts/ponscc.cut.log

transforms/talairach.lta

-tessellate

filled.mgz

mri_pretess filled.mgz 255 norm.mgz filled-pretess255.mgz

filled-pretess255.mgz

norm.mgz

filled-pretess255.mgz

mri_tessellate filled-pretess255.mgz 255 lh.orig.nofix

lh.orig.nofix

filled.mgz

mri_pretess filled.mgz 127 norm.mgz filled-pretess127.mgz

filled-pretess127.mgz

norm.mgz

filled-pretess127.mgz

mri_tessellate filled-pretess127.mgz 127 rh.orig.nofix

rh.orig.nofix

?h.orig.nofix

mris_extract_main_component ?h.orig.nofix ?h.orig.nofix

?h.orig.nofix

rm -f filled-pretess255.mgz filled-pretess127.mgz

-smooth1

?h.orig.nofix

mris_smooth -nw ?h.orig.nofix ?h.smoothwm.nofix

?h.smoothwm.nofix

-inflate1

?h.smoothwm.nofix

mris_inflate -no-save-sulc ?h.smoothwm.nofix ?h.inflated.nofix

?h.inflated.nofix

-qsphere

?h.inflated.nofix

mris_sphere -q -0 ?h.inflated.nofix ?h.inflated.nofix ?h.qsphere.nofix

?h.qsphere.nofix

-fix

?h.orig.nofix

cp ?h.orig.nofix ?h.orig

?h.orig

?h.inflated.nofix

cp ?h.inflated.nofix ?h.inflated

?h.inflated

?h.qsphere.nofix

mris_fix_topology -mgz -sphere qsphere.nofix -ga <subjid> ?h

?h.orig

?h.orig

mris_euler_number ?h.orig

?h.orig

?h.orig

mris_remove_intersection ?h.orig ?h.orig

?h.orig

rm ?h.inflated

-white

aseg.mgz, brain.finalsurfs.mgz, wm.mgz, filled.mgz

mris_make_surfaces -whiteonly -noaparc -mgz -T1 brain.finalsurfs <subjid> ?h

?h.white

?h.orig

?h.curv

?h.area

?h.cortex.label

-smooth2

?h.white

mris_smooth -n 3 -nw ?h.white ?h.smoothwm

?h.smoothwm

-inflate2

?h.smoothwm

mris_inflate ?h.smoothwm ?h.inflated

?h.inflated

?h.sulc

?h.inflated

mris_curvature -thresh .999 -n -a 5 -w -distances 10 10 ?h.inflated

?h.inflated.H

?h.inflated.K

recon-all step

Individual Flag

Input

Command Line

Output

recon-all -autorecon2-noaseg -subjid subj (use this after doing manual edits to the aseg. This flag will regenerate all final surfaces)

-normalization2

brainmask.mgz

mri_normalize -aseg aseg.mgz -mask brainmask.mgz norm.mgz brain.mgz

brain.mgz

norm.mgz

aseg.mgz

-maskbfs

brain.mgz

mri_mask -T 5 brain.mgz brainmask.mgz brain.finalsurfs.mgz

brain.finalsurfs.mgz

brainmask.mgz

-segmentation

brain.mgz

mri_segment brain.mgz wm.seg.mgz

wm.seg.mgz

wm.seg.mgz

mri_edit_wm_with_aseg wm.seg.mgz brain.mgz aseg.mgz wm.asegedit.mgz

wm.asegedit.mgz

aseg.mgz

brain.mgz

wm.asegedit.mgz

mri_pretess wm.asegedit.mgz wm norm.mgz wm.mgz

wm.mgz

norm.mgz

-fill

wm.mgz

mri_fill -a ../scripts/ponscc.cut.log -xform transforms/talairach.lta -segmentation aseg.auto_noCCseg.mgz wm.mgz filled.mgz

filled.mgz

aseg.auto_noCCseg.mgz

../scripts/ponscc.cut.log

transforms/talairach.lta

-tessellate

filled.mgz

mri_pretess filled.mgz 255 norm.mgz filled-pretess255.mgz

filled-pretess255.mgz

norm.mgz

filled-pretess255.mgz

mri_tessellate filled-pretess255.mgz 255 lh.orig.nofix

lh.orig.nofix

filled.mgz

mri_pretess filled.mgz 127 norm.mgz filled-pretess127.mgz

filled-pretess127.mgz

norm.mgz

filled-pretess127.mgz

mri_tessellate filled-pretess127.mgz 127 rh.orig.nofix

rh.orig.nofix

?h.orig.nofix

mris_extract_main_component ?h.orig.nofix ?h.orig.nofix

?h.orig.nofix

rm -f filled-pretess255.mgz filled-pretess127.mgz

-smooth1

?h.orig.nofix

mris_smooth -nw ?h.orig.nofix ?h.smoothwm.nofix

?h.smoothwm.nofix

-inflate1

?h.smoothwm.nofix

mris_inflate -no-save-sulc ?h.smoothwm.nofix ?h.inflated.nofix

?h.inflated.nofix

-qsphere

?h.inflated.nofix

mris_sphere -q -0 ?h.inflated.nofix ?h.inflated.nofix ?h.qsphere.nofix

?h.qsphere.nofix

-fix

?h.orig.nofix

cp ?h.orig.nofix ?h.orig

?h.orig

?h.inflated.nofix

cp ?h.inflated.nofix ?h.inflated

?h.inflated

?h.qsphere.nofix

mris_fix_topology -mgz -sphere qsphere.nofix -ga <subjid> ?h

?h.orig

?h.orig

mris_euler_number ?h.orig

?h.orig

?h.orig

mris_remove_intersection ?h.orig ?h.orig

?h.orig

rm ?h.inflated

-white

aseg.mgz, brain.finalsurfs.mgz, wm.mgz, filled.mgz

mris_make_surfaces -whiteonly -noaparc -mgz -T1 brain.finalsurfs <subjid> ?h

?h.white

?h.orig

?h.curv

?h.area

?h.cortex.label

-smooth2

?h.white

mris_smooth -n 3 -nw ?h.white ?h.smoothwm

?h.smoothwm

-inflate2

?h.smoothwm

mris_inflate ?h.smoothwm ?h.inflated

?h.inflated

?h.sulc

?h.inflated

mris_curvature -thresh .999 -n -a 5 -w -distances 10 10 ?h.inflated

?h.inflated.H

?h.inflated.K

recon-all step

Individual Flag

Input

Command Line

Output

recon-all -autorecon-pial -subjid subj (use this after editing brainmask.mgz or brain.finalsurfs.mgz to alter pial surface. This flag will regenerate all final surfaces)

**note** this flag includes all the steps in -autorecon3 therefore it is not necessary to pass the -autorecon3 flag after this

-maskbfs

brain.mgz

mri_mask -T 5 brain.mgz brainmask.mgz brain.finalsurfs.mgz

brain.finalsurfs.mgz

brainmask.mgz

-white

aseg.mgz, brain.finalsurfs.mgz, wm.mgz, filled.mgz

mris_make_surfaces -whiteonly -noaparc -mgz -T1 brain.finalsurfs <subjid> ?h

?h.white

?h.orig

?h.curv

?h.area

?h.cortex.label

-smooth2

?h.white

mris_smooth -n 3 -nw ?h.white ?h.smoothwm

?h.smoothwm

-inflate2

?h.smoothwm

mris_inflate ?h.smoothwm ?h.inflated

?h.inflated

?h.sulc

?h.inflated

mris_curvature -thresh .999 -n -a 5 -w -distances 10 10 ?h.inflated

?h.inflated.H

?h.inflated.K

-sphere

?h.inflated,?h.smoothwm

mris_sphere ?h.inflated ?h.sphere

?h.sphere

-surfreg

?h.sphere

mris_register -curv ?h.sphere $FREESURFER_HOME/average/?h.average.curvature.filled.buckner40.tif ?h.sphere.reg

?h.sphere.reg

-jacobian_white

?h.white

mris_jacobian ?h.white ?h.sphere.reg ?h.jacobian_white

?h.jacobian_white

?h.sphere.reg

-avgcurv

?h.sphere.reg

mrisp_paint -a 5 $FREESURFER_HOME/average/?h.average.curvature.filled.buckner40.tif#6 ?h.sphere.reg ?h.avg_curv

?h.avg_curv

-cortparc

aseg.mgz, ?h.cortex.label

mris_ca_label -l ../label/lh.cortex.label -aseg mri/aseg.mgz <subjid> ?h ?h.sphere.reg $FREESURFER_HOME/average/?h.curvature.buckner40.filled.desikan_killiany.2007-06-20gcs ?h.aparc.annot

label/?h.aparc.annot

?h.sphere.reg

-pial

aseg.mgz, brain.finalsurfs.mgz, wm.mgz, filled.mgz

mris_make_surfaces -white NOWRITE -mgz -T1 brain.finalsurfs <subjid> ?h

?h.pial

?h.orig, label/?h.aparc.annot

?h.curv.pial, ?h.area.pial

?h.thickness

-surfvolume

?h.area

mris_calc -o ?h.area.mid ?h.area add ?h.area.pial

?h.area.mid

?h.area.pial

?h.area.mid

mris_calc -o ?h.area.mid ?h.area.mid div 2

?h.area.mid

?h.area.mid

mris_calc -o ?h.volume ?h.area.mid mul ?h.thickness

?h.volume

?h.thickness

-parcstats

label/?h.aparc.annot

mris_anatomical_stats -mgz -f stats/?h.aparc.stats -b -a label/?h.aparc.annot -c label/aparc.annot.ctab <subjid> ?h

stats/?h.aparc.stats label/aparc.annot.ctab

-cortparc2

aseg.mgz, ?h.cortex.label

mris_ca_label -l ../label/lh.cortex.label -aseg aseg.mgz <subjid> ?h ?h.sphere.reg $FREESURFER_HOME/average/?h.destrieux.simple.2009-07-29.gcs label/?h.aparc.a2009s.annot

label/?h.aparc.a2009s.annot

?h.sphere.reg

-parcstats2

label/?h.aparc.a2009s.annot

mris_anatomical_stats -mgz -f stats/?h.aparc.a2009s.stats -b -a label/?h.aparc.a2009s.annot -c label/aparc.annot.a2009s.ctab <subjid> ?h

stats/?h.aparc.a2009s.stats stats/aparc.annot.a2009s.ctab

-cortribbon

aseg.mgz

mris_volmask --label_left_white 2 --label_left_ribbon 3 --label_right_white 41 --label_right_ribbon 42 --save_ribbon --save_distance <subjid>

?h.ribbon.mgz, ribbon.mgz

?h.white

?h.pial

-segstats

aseg.mgz

mri_segstats --seg mri/aseg.mgz --sum stats/aseg.stats --pv mri/norm.mgz --empty --excludeid 0 --excl-ctxgmwm --supratent --subcortgray --totalgray --in mri/norm.mgz --in-intensity-name norm --in-intensity-units MR --etiv --surf-wm-vol --surf-ctx-vol --ctab $FREESURFER_HOME/ASegStatsLUT.txt --subject <subjid>

stats/aseg.stats

-aparc2aseg

aseg.mgz

mri_aparc2aseg --s <subjid> --ribbon

aparc+aseg.mgz

?h.ribbon.mgz

label/?h.aparc.annot

aseg.mgz

mri_aparc2aseg --s <subjid> --ribbon --a2009s

aparc.a2009s+aseg.mgz

?h.ribbon.mgz

label/?h.aparc.a2009s.annot

-wmparc

aparc+aseg.mgz

mri_aparc2aseg --s <subjid> --labelwm --hypo-as-wm --rip-unknown --ribbon --o mri/wmparc.mgz --ctxseg aparc+aseg.mgz

wmparc.mgz

wmparc.mgz

mri_segstats --seg mri/wmparc.mgz --sum stats/wmparc.stats --pv mri/norm.mgz --excludeid 0 --brain-vol-from-seg --brainmask mri/brainmask.mgz --in mri/norm.mgz --in-intensity-name norm --in-intensity-units MR --etiv --subject <subjid> --surf-wm-vol --ctab $FREESURFER_HOME/FreeSurferColorLUT.txt

stats/wmparc.stats

-balabels

?h.sphere.reg

mri_label2label --srcsubject fsaverage --srclabel fsaverage/label/?h.BA*.label --trgsubject <subjid> --trglabel ?h.BA*.label --hemi ?h --regmethod surface

label/?h.BA*.label

-label-exvivo-ec

?h.sphere.reg

mris_spherical_average -erode 1 -orig white -t 0.4 -o <subjid> label ?h.entorhinal ?h sphere.reg ?h.EC_average ?h.entorhinal_exvivo.label

label/?h.entorhinal_exvivo.label

recon-all step

Individual Flag

Input

Command Line

Output

recon-all -autorecon2-perhemi -subjid subj (use this to run only the steps that are run per-hemisphere, in conjunction with the '-hemi' flag. This is useful if one hemisphere failed and you need to run them separately)

-tessellate

filled.mgz

mri_tessellate filled.mgz 255 ../surf/lh.orig.nofix

lh.orig.nofix

mri_tessellate filled.mgz 127 ../surf/rh.orig.nofix

rh.orig.nofix

-smooth1

?h.orig.nofix

mris_smooth -nw ?h.orig.nofix ?h.smoothwm.nofix

?h.smoothwm.nofix

-inflate1

?h.smoothwm.nofix

mris_inflate -no-save-sulc ?h.smoothwm.nofix ?h.inflated.nofix

?h.inflated.nofix

-qsphere

?h.inflated.nofix

mris_sphere -q -0 ?h.inflated.nofix ?h.inflated.nofix ?h.qsphere.nofix

?h.qsphere.nofix

-fix

?h.orig.nofix

cp ?h.orig.nofix ?h.orig

?h.orig

?h.inflated.nofix

cp ?h.inflated.nofix ?h.inflated

?h.inflated

?h.qsphere.nofix

mris_fix_topology -errors -mgz -sphere qsphere.nofix -ga <subjid> ?h

?h.orig

-smooth2

?h.white

mris_smooth ?h.white ?h.smoothwm

?h.smoothwm

-inflate2

?h.white

mris_inflate ?h.white ?h.inflated

?h.inflated

?h.sulc

-white

aseg.mgz, brain.finalsurfs.mgz, wm.mgz, filled.mgz

mris_make_surfaces -whiteonly -noaparc -mgz -T1 brain.finalsurfs <subjid> ?h

?h.white

?h.orig

?h.curv

?h.area

?h.cortex.label

OtherUsefulFlags (last edited 2017-04-25 13:53:01 by AndrewHoopes)