A single T1-weighted MRI of my head, segmented end-to-end with
FreeSurfer
recon-all. Every number, chart, and table below was computed
from that segmentation — and the Explore section lets you browse
the scan itself, with the parcellation layered over the anatomy.
Synchronized axial, sagittal, and coronal views in
FreeBrowse, the FreeSurfer
project's web viewer (vendored here, fully offline). The colored overlay is the
aparc+aseg segmentation — 104 labeled structures — togglable and
adjustable from FreeBrowse's layers panel. The same scene also carries the
parcellated white/pial surface meshes recon-all fitted (hidden by default):
use the tabs in the panel at the right to switch between the volume layers
and the surface meshes, and the eye icons to toggle individual layers. Or use
the Region picker below the viewer to light up a single cortical
region against the rest of the surface — e.g. Frontalpole.
t1-upright.nii.gz) +
aparc+aseg-upright.nii.gz rendered with NiiVue's
freesurfer colormap. Both are resampled into FreeSurfer's
Talairach (atlas) space with make_upright.py — my scan was
acquired at a ~2–3° tilt, and the upright copy makes the A/P/S slice
views anatomical. Surfaces (off by default — enable in the mesh tab of
the layers panel): lh/rh.pial-upright.mz3 and
lh/rh.white-upright.mz3, the FreeSurfer surface meshes
moved into the same space (same vertices, so region colors from
aparc.annot and the parcellation in
data/{lh,rh}.labels.json.gz apply unchanged; see
convert_surfaces.py and region-picker.js).
The region picker recolors the meshes per-vertex; selected view is
reflected in the URL fragment, shareable as a link.
All volumes in this section come from the volumetric segmentation
(aseg.stats, brainvol.stats) and surface-based
parcellation (*.aparc.stats) produced by recon-all.
Approximate partition of the segmentation volume without ventricles (≈1.19 L)
Centile bands from population reference charts (Bethlehem et al., Nature 2022 — 123,858 scans, 101,457 subjects), stratified for a 41-year-old male. Volumes in cm³. The shaded band is the 2.5th–97.5th centile of the population; the darker inner band is 25th–75th; the line is the population median. The dot is me.
Caveats: these reference charts were fitted on FreeSurfer 5.7/6-era segmentations harmonized to FreeSurfer 6, so the values fed into the models come from a re-processing of this same scan with FreeSurfer 6.0 (not the 8.2 headline numbers elsewhere on the page; see How this was made). The charts also model age and sex only — percentile positions near the middle of the band mean little, and this is not a clinical assessment.
Volume in cm³, grouped by hemisphere. Where percentile badges appear (right edge), they place each hemisphere's volume against the per-hemisphere population distribution for a 41-year-old male (Bethlehem et al., 2022).
Volume in cm³, same reference charts as above, but per hemisphere: the bands show the 2.5th–97.5th (outer) and 25th–75th (inner) centiles of the population distribution for one hemisphere of a 41-year-old male; the line is the population median. The dots are my left (blue) and right (orange) hemispheres at age 41. A note on what each structure does appears under its panel.
Same caveats as above: percentile inputs come from the FreeSurfer 6.0 re-processing of this scan to match the reference pipeline, the models pool both hemispheres into one distribution (left/right labels distinguish my two dots), and this is not a clinical assessment.
Mean thickness (mm) across the 34 Desikan atlas regions, with the left (blue) and right (orange) hemispheres side by side for direct comparison. Where percentile badges appear (right edge), they place each hemisphere's thickness against the per-hemisphere population distribution for a 41-year-old male.
A short "what it does" note for each region appears on hover and in the table under the next figure.
The same 34 regions against the same reference charts (Bethlehem et al., 2022): each row is one region with the 2.5th–97.5th (outer) and 25th–75th (inner) centile band and the population median for a 41-year-old male. The dots are my left (blue) and right (orange) hemispheres; badges on the right give each hemisphere's percentile. Hover a row for the population numbers and a note on what that region does.
Caveats as above: percentile inputs come from the FreeSurfer 6.0 re-processing to match the reference pipeline, and the models pool the hemispheres into one distribution (left/right labels distinguish my two dots). That re-processing also measured the pipeline-version effect directly on this scan: moving 8.2 → 6.0 shifts the whole-cortex offset only from −0.20 mm to −0.17 mm, so the uniformly low thickness is not a version artifact. The most likely remainder is trait anatomy: mean cortical thickness is ~80% heritable and largely global (Panizzon et al. 2009), so a uniform few-tenths offset with normal volumes and no focal pattern reads as individual variation — plus a possible site effect, since the reference charts pool many scanners whose protocols differ by a similar margin. This is not a clinical assessment.
One-line summaries of the region's primary role and the conditions its thickness has been linked to in population studies — associations are small and rarely diagnostic on their own.
A few numbers put in human units.
recon-all -all (FreeSurfer 8.2.0, official Docker image) on the defaced
T1, 16 CPU threads on a home server. The pipeline skull-strips (SynthStrip), segments
(SynthSeg), fits white/pial surfaces, parcellates the cortex into the 34-region
Desikan atlas per hemisphere, and measures volumes, thickness, and surface areas.
The viewer also carries those fitted meshes after conversion to the web-friendly
MZ3 format by convert_surfaces.py (parcellation colors baked in).
This page is a static file: the charts above are drawn in the browser from
data/brain-data.js, generated by
analyze_freesurfer.py from the raw stats/ tables —
no server, no tracking, fully reproducible.
Raw stats files are in the repository
(analysis ran on freesurfer-subjects/output/brain/stats).
The population comparison (How my composition compares and the percentile
badges) is computed from the lifespan
brain-charts GAMLSS models (Bethlehem et al. 2022): centile curves and exact
centiles were evaluated with the authors' fitted model objects
(data/brain-norms.js, generated by analyze_norms.R).
Because those models were fitted on FreeSurfer 6-era segmentations, the
scan was re-processed with FreeSurfer 6.0 (recon-all -s brain-fs6)
and it is those values that are placed into the models — the descriptive charts keep
the full FreeSurfer 8.2 measurements. compare_norms.py places both
runs side by side against the same bands; on this scan, switching pipeline version
accounts for the subcortical percentile differences but shifts mean cortical thickness
by only ~0.04 mm.