Deletions are marked like this. | Additions are marked like this. |
Line 14: | Line 14: |
||<style="text-align:left" |1>-T2 <invol> ''or'' ||<|2>invol.dcm ''or .nii or .mgz'' ||<|2>[[mri_convert]] --no_scale 1 invol.dcm orig/T2raw.mgz ||<|2>orig/T2raw.mgz || ||-FLAIR <invol> ''optional''|| |
||<style="text-align:left" |1>-T2 <invol> ''or'' ||<style="text-align:center;text-align:left" |2>invol.dcm ''or .nii or .mgz'' ||<style="text-align:center;text-align:left" |2>[[mri_convert]] --no_scale 1 invol.dcm orig/T2raw.mgz ||<style="text-align:center;text-align:left" |2>orig/T2raw.mgz || ||-FLAIR <invol> ''optional'' || |
Line 142: | Line 142: |
||<style="text-align:left;" |3>-[[cortribbon]] ||aseg.presurf.mgz ||<style="text-align:left; ;text-align:left" |3>[[mris_volmask]] --label_left_white 2 --label_left_ribbon 3 --label_right_white 41 --label_right_ribbon 42 --save_ribbon --save_distance <subjid> ||<style="text-align:left;" |2>?h.ribbon.mgz || | ||<style="text-align:left;" |3>-[[cortribbon]] ||aseg.presurf.mgz ||<style="text-align:left; ;text-align:left" |3>[[mris_volmask]] --label_left_white 2 --label_left_ribbon 3 --label_right_white 41 --label_right_ribbon 42 --save_ribbon --save_distance <subjid> ||<style="text-align:left;" |2>?h.ribbon.mgz || |
FreeSurfer Tutorial: Process Flow
This table shows the recon-all steps for the current dev version of FreeSurfer. Updated Nov 2014 NJS
See ReconAllTableStableV5.1 to see a process flow for the latest stable version of FreeSurfer.
Click here to see this information presented in a block diagram format and here for a process v. files table.
See also the OtherUsefulFlags for other recon-all options.
recon-all step |
Individual Flag |
Input |
Command Line |
Output |
recon-all -autorecon1 -subjid <subjid> |
||||
-i <invol1> |
invol1.dcm or .nii or .mgz |
mri_convert invol1.dcm orig/001.mgz |
orig/001.mgz |
|
-i <invol2> optional |
invol2.dcm or .nii or .mgz |
mri_convert invol2.dcm orig/002.mgz |
orig/002.mgz |
|
-T2 <invol> or |
invol.dcm or .nii or .mgz |
mri_convert --no_scale 1 invol.dcm orig/T2raw.mgz |
orig/T2raw.mgz |
|
-FLAIR <invol> optional |
||||
orig/001.mgz |
mri_robust_template --mov 001.mgz 002.mgz --average 1 --template rawavg.mgz --satit --inittp 1 --fixtp --noit --iscale --iscaleout --subsample 200 --lta |
rawavg.mgz |
||
orig/002.mgz |
||||
rawavg.mgz |
mri_convert rawavg.mgz orig.mgz --conform |
orig.mgz |
||
orig.mgz |
mri_add_xform_to_header -c transforms/talairach.xfm orig.mgz orig.mgz |
orig.mgz |
||
orig.mgz |
mri_nu_correct.mni --n 1 --proto-iters 1000 --distance 50 --no-rescale --i orig.mgz --o orig_nu.mgz |
orig_nu.mgz |
||
orig_nu.mgz |
talairach_avi --i orig_nu.mgz --xfm transforms/talairach.auto.xfm |
transforms/talairach.auto.xfm |
||
transforms/talairach.auto.xfm |
cp transforms/talairach.auto.xfm transforms/talairach.xfm |
transforms/talairach.xfm |
||
transforms/talairach.xfm |
talairach_afd -T 0.005 -xfm transforms/talairach.xfm |
transforms/talairach.xfm |
||
|
awk -f $FREESURFER_HOME/bin/extract_talairach_avi_QA.awk transforms/talairach_avi.log |
transforms/talairach_avi.log |
||
orig_nu.mgz |
mri_normalize -g 1 orig_nu.mgz T1.mgz |
T1.mgz |
||
orig_nu.mgz |
mri_em_register -skull orig_nu.mgz $FREESURFER_HOME/average/RB_all_withskull_2014-08-21.gca transforms/talairach_with_skull.lta |
transforms/talairach_with_skull.lta |
||
T1.mgz |
mri_watershed -T1 -brain_atlas $FREESURFER_HOME/average/RB_all_withskull_2014-08-21.gca transforms/talairach_with_skull.lta T1.mgz brainmask.auto.mgz |
brainmask.auto.mgz |
||
brainmask.auto.mgz |
cp brainmask.auto.mgz brainmask.mgz |
brainmask.mgz |
||
|
|
|
|
|
recon-all -autorecon2 -subjid <subjid> |
||||
orig.mgz |
mri_nu_correct.mni --i orig.mgz --mask brainmask.mgz --o nu.mgz --n 1 --proto-iters 1000 --uchar transforms/talairach.xfm |
nu.mgz |
||
brainmask.mgz |
||||
talairach.xfm |
||||
brainmask.mgz |
mri_em_register -uns 3 -mask brainmask.mgz nu.mgz $FREESURFER_HOME/average/RB_all_2014-08-21.gca transforms/talairach.lta |
transforms/talairach.lta |
||
nu.mgz |
||||
brainmask.mgz |
mri_ca_normalize -mask brainmask.mgz nu.mgz $FREESURFER_HOME/average/RB_all_2014-08-21.gca transforms/talairach.lta norm.mgz |
norm.mgz |
||
nu.mgz |
||||
transforms/talairach.lta |
||||
brainmask.mgz |
mri_ca_register -align-after -nobigventricles -mask brainmask.mgz -T transforms/talairach.lta norm.mgz $FREESURFER_HOME/average/RB_all_2014-08-21.gca transforms/talairach.m3z |
transforms/talairach.m3z |
||
transforms/talairach.lta |
||||
norm.mgz |
||||
transforms/talairach.m3z |
mri_ca_register -invert-and-save transforms/talairach.m3z |
transforms/talairach.m3z.inv.x.mgz |
||
transforms/talairach.m3z.inv.y.mgz |
||||
transforms/talairach.m3z.inv.z.mgz |
||||
nu.mgz |
mri_remove_neck -radius 25 nu.mgz transforms/talairach.m3z $FREESURFER_HOME/average/RB_all_2014-08-21.gca nu_noneck.mgz |
nu_noneck.mgz |
||
transforms/talairach.m3z |
||||
transforms/talairach.lta |
mri_em_register -skull -t transforms/talairach.lta nu_noneck.mgz $FREESURFER_HOME/average/RB_all_withskull_2014-08-21.gca transforms/talairach_with_skull_2.lta |
transforms/talairach_with_skull_2.lta |
||
nu_noneck.mgz |
||||
norm.mgz |
mri_ca_label -align -nobigventricles norm.mgz transforms/talairach.m3z $FREESURFER_HOME/average/RB_all_2014-08-21.gca aseg.auto_noCCseg.mgz |
aseg.auto_noCCseg.mgz |
||
transforms/talairach.m3z |
||||
aseg.auto_noCCseg.mgz |
mri_cc -aseg aseg.auto_noCCseg.mgz -o aseg.auto.mgz <subjid> |
aseg.auto.mgz |
||
aseg.auto.mgz |
cp aseg.auto.mgz aseg.presurf.mgz |
aseg.presurf.mgz |
||
brainmask.mgz |
mri_normalize -aseg aseg.presurf.mgz -mask brainmask.mgz norm.mgz brain.mgz |
brain.mgz |
||
norm.mgz |
||||
aseg.presurf.mgz |
||||
brain.mgz |
mri_mask -T 5 brain.mgz brainmask.mgz brain.finalsurfs.mgz |
brain.finalsurfs.mgz |
||
brainmask.mgz |
||||
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.presurf.mgz wm.asegedit.mgz |
wm.asegedit.mgz |
||
aseg.presurf.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 |
||||
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 |
|
||
?h.orig.nofix |
mris_smooth -nw ?h.orig.nofix ?h.smoothwm.nofix |
?h.smoothwm.nofix |
||
?h.smoothwm.nofix |
mris_inflate -no-save-sulc ?h.smoothwm.nofix ?h.inflated.nofix |
?h.inflated.nofix |
||
?h.inflated.nofix |
mris_sphere -q ?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.presurf.mgz |
mris_make_surfaces -whiteonly -noaparc -mgz -T1 brain.finalsurfs <subjid> ?h |
?h.white |
|
brain.finalsurfs.mgz |
||||
wm.mgz |
||||
filled.mgz |
||||
?h.orig |
||||
?h.curv |
||||
?h.area |
||||
?h.cortex.label |
||||
?h.white |
mris_smooth -n 3 -nw ?h.white ?h.smoothwm |
?h.smoothwm |
||
?h.smoothwm |
mris_inflate ?h.smoothwm.nofix ?h.inflated |
?h.inflated |
||
?h.sulc |
||||
-curvHK |
?h.white |
mris_curvature -w ?h.white |
?h.white.H |
|
?h.white.K |
||||
?h.inflated |
mris_curvature -thresh .999 -n -a 5 -w -distances 10 10 ?h.inflated |
?h.inflated.H |
||
?h.inflated.K |
||||
-curvstats |
?h.smoothwm |
mris_curvature_stats -m --writeCurvatureFiles -G -o ../stats/?h.curv.stats -F smoothwm <subjid> ?h curv sulc |
stats/?h.curv.stats |
|
?h.curv |
||||
?h.sulc |
||||
|
|
|
|
|
recon-all -autorecon3 -subjid <subjid> |
||||
?h.inflated |
mris_sphere ?h.inflated ?h.sphere |
?h.sphere |
||
?h.smoothwm |
||||
?h.sphere |
mris_register -curv ?h.sphere $FREESURFER_HOME/average/?h.average.curvature.filled.buckner40.tif ?h.sphere.reg |
?h.sphere.reg |
||
?h.white |
mris_jacobian ?h.white ?h.sphere.reg ?h.jacobian_white |
?h.jacobian_white |
||
?h.sphere.reg |
||||
?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 |
||
aseg.presurf.mgz |
mris_ca_label -l ../label/lh.cortex.label -aseg mri/aseg.presurf.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.cortex.label |
||||
?h.sphere.reg |
||||
-pial |
aseg.presurf.mgz |
mris_make_surfaces -white NOWRITE -mgz -T1 brain.finalsurfs <subjid> ?h |
?h.pial |
|
brain.finalsurfs.mgz |
||||
wm.mgz |
||||
filled.mgz |
||||
?h.orig |
||||
?h.curv.pial |
||||
?h.area.pial |
||||
label/?h.aparc.annot |
?h.thickness |
|||
?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 |
||||
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 |
||||
aseg.presurf.mgz |
mris_ca_label -l ../label/lh.cortex.label -aseg aseg.presurf.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 |
||||
label/?h.cortex.label |
||||
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 |
||||
aseg.presurf.mgz |
mris_ca_label ../label/lh.cortex.label -aseg aseg.presurf.mgz <subjid> ?h ?h.sphere.reg $FREESURFER_HOME/average/?h.DKTatlas40.gcs ../label/?h.aparc.DKTatlas40.annot |
label/?h.aparc.a2009s.annot |
||
?h.sphere.reg |
||||
label/?h.cortex.label |
||||
label/?h.aparc.a2009s.annot |
mris_anatomical_stats -mgz -f stats/?h.aparc.DKTatlas.stats -b -a label/?h.aparc.DKTatlas.annot -c label/aparc.annot.DKTatlas.ctab <subjid> ?h |
stats/?h.aparc.a2009s.stats |
||
stats/aparc.annot.a2009s.ctab |
||||
-pctsurfcon |
rawavg.mgz |
pctsurfcon --s <subjid> --?h-only |
?h.w-g.pct.mgh |
|
orig.mgz |
||||
?h.cortex.label |
stats/?h.w-g.pct.stats |
|||
?h.white |
||||
aseg.presurf.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 |
||
?h.white |
||||
?h.pial |
ribbon.mgz |
|||
-hyporelabel |
aseg.presurf.mgz |
mri_relabel_hypointensities aseg.presurf.mgz ../surf aseg.presurf.hypos.mgz |
aseg.presurf.hypos.mgz |
|
?h.white |
||||
aseg.presurf.hypos.mgz |
mri_aparc2aseg --s <subjid> --ribbon |
aparc+aseg.mgz |
||
?h.ribbon.mgz |
||||
label/?h.aparc.annot |
||||
ribbon.mgz |
||||
aseg.presurf.hypos.mgz |
mri_aparc2aseg --s <subjid> --ribbon --a2009s |
aparc.a2009s+aseg.mgz |
||
?h.ribbon.mgz |
||||
label/?h.aparc.a2009s.annot |
||||
ribbon.mgz |
||||
-apas2aseg |
aparc+aseg.mgz |
apas2aseg --i aparc+aseg.mgz --o aseg.mgz |
aseg.mgz |
|
aseg.mgz |
mri_segstats --seg mri/aseg.mgz --sum stats/aseg.stats --pv mri/norm.mgz --empty --brainmask mri/brainmask.mgz --brain-vol-from-seg --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 --totalgray --euler --ctab $FREESURFER_HOME/ASegStatsLUT.txt --subject <subjid> |
stats/aseg.stats |
||
norm.mgz |
||||
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 --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 |
||
?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 |
|
|