[[FsTutorial|top]] | [[FsTutorial|previous]] | [[FsTutorial|next]] = FreeSurfer Tutorial: Volumetric Group Analysis = * If you are taking one of the formally organized courses, the tutorial data is already installed on the computer provided to you. If not, then to follow this exercise exactly be sure you've downloaded the [[FsTutorial/Data|tutorial data set]] before you begin. If you choose not to download the data set you can follow these instructions on your own data, but you will have to substitute your own specific paths and subject names. If you are using the tutorial data please set the environmental variable {{{TUTORIAL_DATA}}} to the location that you have downloaded the data to (for the course laptops, it is setup already, to /media/disk). If you are using the tutorial data you will need to set your {{{SUBJECTS_DIR}}} to the directory with the group analysis data in it: {{{ setenv SUBJECTS_DIR $TUTORIAL_DATA/buckner_data/tutorial_subjs/group_analysis_tutorial cd $SUBJECTS_DIR }}} == Volumetric Group Analysis == During the normal FreeSurfer processing stream, via the recon-all script, [[http://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial|(a freesurfer tutorial is available.)]] some statistical output files are generated. They are kept in each subjects {{{stats/}}} subdirectory, and are a result of the subcortical segmentation, aseg, and the cortical parcellation, aparc. These tables include information on each labeled region for the individual subject. === aseg.stats === The statistical output from the subcortical segmentation, called {{{aseg.stats}}}, is a regular text file and will contain the volumes of specific structures. At the head of the text file there will be information about the command that was run, the version used, the user who ran it and a time stamp. Following this there is information about the volume of the entire brain: {{{ # Title Segmentation Statistics # # generating_program mri_segstats # cvs_version $Id: mri_segstats.c,v 1.11.2.5 2006/04/13 18:57:07 nicks Exp $ # cmdline mri_segstats --seg mri/aseg.mgz --sum stats/aseg.stats --pv mri/norm.mgz --ctab-default --excludeid 0 --brain-vol-from-seg --brainmask mri/brainmask.mgz --in mri/norm.mgz --in-intensity-name norm --in-intensity-units MR --etiv --subject 004 # sysname Linux # hostname node0350 # machine x86_64 # user FS-user # anatomy_type volume # # SUBJECTS_DIR /buckner_data/group_study # subjectname 004 # BrainMaskFile mri/brainmask.mgz # BrainMaskFileTimeStamp 2006/24/03 13:47:46 # Measure BrainMask, BrainMaskNVox, Number of Brain Mask Voxels, 1744896, unitless # Measure BrainMask, BrainMaskVol, Brain Mask Volume, 1744896.000000, mm^3 # Measure BrainSeg, BrainSegNVox, Number of Brain Segmentation Voxels, 1255291, unitless # Measure BrainSeg, BrainSegVol, Brain Segmentation Volume, 1255291.000000, mm^3# Measure IntraCranialVol, ICV, Intracranial Volume, 1679242.759627, mm^3 # SegVolFile mri/aseg.mgz # SegVolFileTimeStamp 2006/24/03 21:52:14 # ColorTable /space/freesurfer/centos4.0_x86_64/stable/FreeSurferColorLUT.txt # ColorTableTimeStamp 2006/22/03 05:48:11 # InVolFile mri/norm.mgz # InVolFileTimeStamp 2006/24/03 13:55:16 # InVolFrame 0 # PVVolFile mri/norm.mgz # PVVolFileTimeStamp 2006/24/03 13:55:16 # ExcludeSegId 0 # VoxelVolume_mm3 1 }}} This shows the number of voxels in the brainmask {{{(BrainMaskNVox)}}}, the volume of the brainmask {{{(BrainMaskVol)}}}, the number of voxels in the brainseg {{{(BrainSegNVox)}}}, the volume of the brainseg {{{(BrainSegVol)}}}, and the intracranial volume {{{(ICV)}}}. This part of the file also tells us that the brainmask.mgz volume is being used as !BrainMask {{{(BrainMaskFile mri/brainmask.mgz)}}} and the aseg.mgz segmentation is being used as the !SegVol {{{(SegVolFile mri/aseg.mgz)}}}. The number of voxels and the volumes should be the same for this subject, since this part of the file also tells us that the voxel volume is 1 mm^3^ {{{(VoxelVolume_mm3 1)}}} - and volume is measured in mm^3^. <
> The next section of this file defines the column headers, field name, and units for the rest of the table: {{{ # TableCol 1 ColHeader Index # TableCol 1 FieldName Index # TableCol 1 Units NA # TableCol 2 ColHeader SegId # TableCol 2 FieldName Segmentation Id # TableCol 2 Units NA # TableCol 3 ColHeader NVoxels # TableCol 3 FieldName Number of Voxels # TableCol 3 Units unitless # TableCol 4 ColHeader Volume_mm3 # TableCol 4 FieldName Volume # TableCol 4 Units mm^3 # TableCol 5 ColHeader StructName # TableCol 5 FieldName Structure Name # TableCol 5 Units NA # TableCol 6 ColHeader normMean # TableCol 6 FieldName Intensity normMean # TableCol 6 Units MR # TableCol 7 ColHeader normStdDev # TableCol 7 FieldName Itensity normStdDev # TableCol 7 Units MR # TableCol 8 ColHeader normMin # TableCol 8 FieldName Intensity normMin # TableCol 8 Units MR # TableCol 9 ColHeader normMax # TableCol 9 FieldName Intensity normMax # TableCol 9 Units MR # TableCol 10 ColHeader normRange # TableCol 10 FieldName Intensity normRange # TableCol 10 Units MR # NRows 403 # NTableCols 10 }}} We can expect to see the ''Segmentation Id'', ''Number of Voxels'', ''Volume'', ''Structure Name'', ''Intensity normMean'', ''Itensity normStdDev'', ''Intensity normMin'', ''Intensity normMax'', and ''Intensity normRange'' for each entry in the table.<
> The remainder of the table shows this information for all the structures that are labeled in the aseg: {{{ # ColHeaders Index SegId NVoxels Volume_mm3 StructName normMean normStdDev normMin normMax normRange 2 2 237201 237201.0 Left-Cerebral-White-Matter 107.5612 11.3261 31.0000 188.0000 157.0000 3 3 249096 249096.0 Left-Cerebral-Cortex 69.8956 11.0623 0.0000 139.0000 139.0000 4 4 31329 31329.0 Left-Lateral-Ventricle 23.0385 11.1648 7.0000 91.0000 84.0000 5 5 1735 1735.0 Left-Inf-Lat-Vent 42.2160 15.5492 14.0000 94.0000 80.0000 7 7 13767 13767.0 Left-Cerebellum-White-Matter 87.6124 7.8224 43.0000 116.0000 73.0000 8 8 48245 48245.0 Left-Cerebellum-Cortex 60.1777 9.4993 25.0000 94.0000 69.0000 10 10 7025 7025.0 Left-Thalamus-Proper 89.5336 11.9082 19.0000 126.0000 107.0000 11 11 5252 5252.0 Left-Caudate 77.3650 11.3959 45.0000 105.0000 60.0000 12 12 7993 7993.0 Left-Putamen 81.3400 9.7069 28.0000 115.0000 87.0000 13 13 2144 2144.0 Left-Pallidum 97.6942 11.7513 36.0000 121.0000 85.0000 . . . . }}} You can use the data in this table to perform group stats on the volumes of certain structures that may be of interest to your study. There is a way to combine this data, for your entire group, into one table that will be easily read into a spreadsheet program, by using [[asegstats2table]]. You can do this for the tutorial set of subjects with this sample command line: ---- {{{ asegstats2table --subjects 004 008 017 021 032 039 040 045 049 067 \ 073 074 080 084 091 092 093 095 097 099 102 103 106 108 111 114 123 \ 124 128 129 130 131 133 136 138 140 141 144 145 149 \ --meas vol --t asegstats.txt }}} ---- This will combine the volumes from all of your subjects {{{asegs.stats}}} files into one table, {{{asegstats.txt}}}. This table can now be imported into any spreadsheet program for statistical analysis. === aparc.stats === The statistical output from the cortical parcellation, called {{{lh.aparc.stats}}} and {{{rh.aparc.stats}}}, is a regular text file and will contain the thickness of specific structures. At the head of the text file there will be information about the command that was run, the version used, the user who ran it and a time stamp. Following this there is information about the volume of the entire brain: {{{ # Table of FreeSurfer cortical parcellation anatomical statistics # # CreationTime 2006/04/25-09:31:20-GMT # generating_program mris_anatomical_stats # cvs_version $Id: mris_anatomical_stats.c,v 1.35.2.1 2006/04/21 19:45:19 nicks Exp $ # mrisurf.c-cvs_version $Id: mrisurf.c,v 1.441.2.3 2006/04/12 02:03:02 nicks Exp $ # cmdline mris_anatomical_stats -mgz -f ../stats/lh.aparc.stats -b -a ../label/l h.aparc.annot -c ../stats/aparc.annot.ctab 004 lh # sysname Linux # hostname node0350 # machine x86_64 # user FS-user # # SUBJECTS_DIR /buckner_data/group_study # anatomy_type surface # subjectname 004 # hemi lh # AnnotationFile ../label/lh.aparc.annot # AnnotationFileTimeStamp 2006/25/03 05:31:10 # TotalWhiteMatterVolume 634178 mm^3 # Measure Cortex, NumVert, Number of Vertices, 150889, unitless # Measure Cortex, SurfArea, Surface Area, 102409, mm^2 }}} This shows the total white matter volume {{{(TotalWhiteMatterVolume)}}}, the number of vertices in the cortex {{{(NumVert)}}}, and the surface area of the cortex {{{(SurfArea)}}}. This part of the file also tells us that the lh.aparc.annot is being used as the annotation file {{{(AnnotationFile ../label/lh.aparc.annot)}}}.<
> The next section of this file defines the column headers, field name, and units for the rest of the table: {{{ # NTableCols 10 # TableCol 1 ColHeader StructName # TableCol 1 FieldName Structure Name # TableCol 1 Units NA # TableCol 2 ColHeader NumVert # TableCol 2 FieldName Number of Vertices # TableCol 2 Units unitless # TableCol 3 ColHeader SurfArea # TableCol 3 FieldName Surface Area # TableCol 3 Units mm^2 # TableCol 4 ColHeader GrayVol # TableCol 4 FieldName Gray Matter Volume # TableCol 4 Units mm^3 # TableCol 5 ColHeader ThickAvg # TableCol 5 FieldName Average Thickness # TableCol 5 Units mm # TableCol 6 ColHeader ThickStd # TableCol 6 FieldName Thickness StdDev # TableCol 6 Units mm # TableCol 7 ColHeader MeanCurv # TableCol 7 FieldName Integrated Rectified Mean Curvature # TableCol 7 Units mm^-1 # TableCol 8 ColHeader GausCurv # TableCol 8 FieldName Integrated Rectified Gaussian Curvature # TableCol 8 Units mm^-2 # TableCol 9 ColHeader FoldInd # TableCol 9 FieldName Folding Index # TableCol 9 Units unitless # TableCol 10 ColHeader CurvInd # TableCol 10 FieldName Intrinsic Curvature Index # TableCol 10 Units unitless }}} We can expect to see the ''Structure Name'', ''Number of Vertices'', ''Surface Area'', ''Gray Matter Volume'', ''Average Thickness'', ''Thickness !StDev'', ''Integrated Rectified Mean Curvature'', ''Integrated Rectified Gaussian Curvature'', ''Folding Index'' and ''Intrinsic Curvature Index'' for each entry in the table.<
> The remainder of the table shows this information for all the structures that are labeled in the aseg: {{{ # ColHeaders StructName NumVert SurfArea GrayVol ThickAvg ThickStd MeanCurv GausCurv FoldInd CurvInd unknown 15085 10384 21630 2.006 1.096 0.123 0.038 168.313 26.766 bankssts 1126 770 1563 2.132 0.462 0.103 0.024 7.056 1.004 caudalanteriorcingulate 931 636 2125 2.721 0.675 0.127 0.031 15.801 0.991 caudalmiddlefrontal 3577 2403 6575 2.447 0.535 0.120 0.028 34.901 3.674 corpuscallosum 1035 680 1215 2.123 0.902 0.136 0.023 17.731 0.799 cuneus 2966 1958 3769 1.740 0.473 0.140 0.033 37.320 3.630 entorhinal 683 419 1620 2.819 0.632 0.090 0.021 5.349 0.429 fusiform 6622 4607 11486 2.190 0.634 0.130 0.032 77.276 7.884 . . . . }}} You can use the data in this table to perform group stats on the thickness, area, volume, etc. of certain structures that may be of interest to your study. There is a way to combine this data, for your entire group, into one table that will be easily read into a spreadsheet program, by using [[aparcstats2table]]. You can do this for the tutorial set of subjects with this sample command line: ---- {{{ aparcstats2table --subjects 004 008 017 021 032 039 040 045 049 067 \ 073 074 080 084 091 092 093 095 097 099 102 103 106 108 111 114 123 \ 124 128 129 130 131 133 136 138 140 141 144 145 149 \ --hemi lh --meas area --t aparcstatsAREA.txt }}} ---- This will combine the areas from all of your subjects {{{lh.aparc.stats}}} files into one table, {{{aparcstatsAREA.txt}}}. This table can now be imported into any spreadsheet program for statistical analysis. You can change your command to run on the other hemisphere, or on a different measure (volume, thickness).