Deletions are marked like this. | Additions are marked like this. |
Line 188: | Line 188: |
||-[[BrodmannAreaMaps|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 || |
||-[[BrodmannAreaMaps|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*_exvivo.label label/?h.perirhinal_exvivo.label label/?h.entorhinal_exvivo.label|| ||-label-exvivo-ec-avg ||?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.EC_exvivo_avg.label || |
FreeSurfer Tutorial: Process Flow
This table shows the recon-all steps for the current dev version of FreeSurfer (available here). It does not document the stable, publicly released, version of Freesurfer.
Updated April 2015 NJS
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 |
|
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 |
|
||
|
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 step |
Individual Flag |
Input |
Command Line |
Output |
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 -c ctrl_pts.mgz -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 -relabel_unlikely 9 .3 -prior 0.5 -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 -lta <subjid>/mri/transforms/cc_up.lta -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 -aseg ../mri/aseg.presurf -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 ?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 step |
Individual Flag |
Input |
Command Line |
Output |
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 -orig_white white -orig_pial white -fix_mtl -aseg ../mri/aseg.presurf -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 |
|||
-T2pial or |
orig/T2raw.mgz |
bbregister --s <subjid> --mov mri/orig/T2raw.mgz --lta mri/transforms/T2raw.lta --init-fsl --T2 |
transforms/T2raw.lta |
|
orig/T2raw.mgz |
mri_convert -odt short -at mri/transforms/T2raw.lta -rt cubic -ns 1 -rl mri/orig.mgz mri/orig/T2raw.mgz mri/T2.prenorm.mgz |
T2.prenorm.mgz |
||
transforms/T2raw.lta |
||||
aseg.presurf.mgz |
mri_normalize -sigma 0.5 -nonmax_suppress 0 -min_dist 1 -aseg mri/aseg.presurf.mgz -surface surf/rh.white identity.nofile -surface surf/lh.white identity.nofile mri/T2.prenorm.mgz mri/T2.mgz |
T2.mgz |
||
?h.white |
||||
T2.prenorm.mgz |
||||
?h.pial |
cp -v surf/?h.pial surf/?h.woT2.pial |
?h.woT2.pial |
||
aseg.presurf.mgz |
mris_make_surfaces -orig_white white -orig_pial woT2.pial -aseg ../mri/aseg.presurf -nowhite -mgz -T1 brain.finalsurfs -T2 ../mri/T2 -nsigma_above 2 -nsigma_below 5 <subjid> ?h |
?h.pial |
||
brain.finalsurfs.mgz |
||||
wm.mgz |
||||
filled.mgz |
?h.curv.pial |
|||
?h.white |
||||
label/?h.aparc.annot |
?h.area.pial |
|||
T2.mgz |
?h.thickness |
|||
?h.woT2.pial |
||||
?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 |
||||
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 |
|||
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 |
||
wm.mgz, ribbon.mgz |
label/aparc.annot.ctab |
|||
?h.white |
||||
?h.pial |
||||
?h.thickness |
||||
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 |
||
wm.mgz, ribbon.mgz |
label/aparc.annot.a2009s.ctab |
|||
?h.white |
||||
?h.pial |
||||
?h.thickness |
||||
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.DKTatlas40.annot |
||
?h.sphere.reg |
||||
label/?h.cortex.label |
||||
label/?h.aparc.DKTatlas40.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.DKTatlas40.stats |
||
wm.mgz, ribbon.mgz |
label/aparc.annot.DKTatlas40.ctab |
|||
?h.white |
||||
?h.pial |
||||
?h.thickness |
||||
-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 |
||||
-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 |
|
brainmask.mgz, norm.mgz, aseg.mgz, aseg.presurf.mgz, ribbon.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 |
||
?h.orig.nofix, ?h.white, ?h.pial |
||||
aparc+aseg.mgz |
mri_aparc2aseg --s <subjid> --labelwm --hypo-as-wm --rip-unknown --ribbon --o mri/wmparc.mgz --ctxseg aparc+aseg.mgz |
wmparc.mgz |
||
talairach.xfm, brainmask.mgz, norm.mgz, ribbon.mgz, wmparc.mgz, aseg.presurf.mgz, ?h.white, ?h.pial |
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*_exvivo.label label/?h.perirhinal_exvivo.label label/?h.entorhinal_exvivo.label |
||
-label-exvivo-ec-avg |
?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.EC_exvivo_avg.label |