Subregion Segmentation (currently a BETA version)

Cross-sectional and longitudinal segmentation for the following structures: thalamus, brainstem, hippo-amygdala. This single python program will supercede the individual matlab-based programs for each structure. The results will be very close but not identical to the matlab-based routines. This is currently a beta version, meaning that we have thoroughly tested it but it has not been used externally yet.

Also, please note that the current version cannot take advantage of images other than T1 scans. If you want to use eg higher resolution T2 scans for hippocampal subfield sedimentation, please use the Matlab code.

This functionality is available in FreeSurfer 7.3+.

If you use these tools in your analysis, please cite:

See also: HippocampalSubfields, LongitudinalHippocampalSubfields, HippocampalSubfieldsAndNucleiOfAmygdala, BrainstemSubstructures, ThalamicNuclei

1. Motivation and General Description

This tool is a single-program python reimplementation of our cross-sectional and longitudinal subregion segmentation tools for the thalamus, hippo-amygdala, and brainstem regions and ports their implementation (was implemented in Matlab). This subregion segmentation tool accomplishes the following:

(a) This tool produces a segmentation of the thalamus into 25 different nuclei, using a probabilistic atlas built with histological data. The segmentation is based on structural MRI, either the main T1 scan processed through recon-all, or an additional scan of a different modality, which potentially shows better contrast between the nuclei.

(b) The tool uses a probabilistic atlas built with ultra-high resolution ex vivo MRI data (~0.1 mm isotropic) to produce an automated segmentation of the hippocampal substructures and the nuclei of the amygdala. The tool can use high-resolution images when available (typically, but not necessarily, T2 weighted).

(c) This tool generates an automated segmentation of four different brainstem structures from the input T1 scan: medulla oblongata, pons, midbrain and superior cerebellar peduncle (SCP). We use a Bayesian segmentation algorithm that relies on a probabilistic atlas of the brainstem (and neighboring brain structures) built upon manual delineations of the structures on interest in 49 scans (10 for the brainstem structures, 39 for the surrounding structures).

2. Usage

This software requires that a whole brain T1 scan of the subject has been analyzed with the main FreeSurfer stream ("recon-all"), i.e., we will assume that the command similar to this has already been run:

recon-all -all -s bert

where bert is the name of the subject. Bear in mind that, if this T1 scan has a voxel size smaller than 1 mm, it is possible to exploit this higher resolution by using the flag -cm in recon-all. Otherwise, both recon-all and this tool will work with a resampled version of the T1 volume at 1mm isotropic resolution. If we want to use the longitudinal version of this tool described in (Iglesias et al., Neuroimage, 2017), then it is also a requirement that the data have been processed with the longitudinal stream of FreeSurfer (LongitudinalProcessing).

In FreeSurfer 7.3+, this module is called independently from recon-all. To analyze your subject "bert", you would simply type:

segment_subregions [STRUCTURE]  [SUBJ]

The required arguments [STRUCTURE] has 3 possible options: thalamus, hippo-amygdala, and brainstem, while [SUBJ] would be your subject name, in this case $SUBJECT_DIR/bert.

To segment the thalamic nuclei for subject bert, for example, in a cross-sectional analysis:

segment_subregions thalamus --cross bert

Similarly, for a longitudinal analysis, run:

segment_subregions thalamus --long-base base

Subject timepoints will be automatically inferred from the base subject's base-tps file. Output segmentations and computed structure volumes will be saved to the subject's mri/ subdirectory.

3. Command Arguments

Required Positional


Structure to segment: can be thalamus, hippo-amygdala, or brainstem.

Mutually Exclusive

--cross SUBJ

Subject to segment in cross-sectional analysis.

--long-base SUBJ

Base subject for longitudinal analysis. Time-points are inferred automatically.

Optional Arguments

--sd SD

Specify subjects directory (will override SUBJECTS_DIR env variable).

--suffix SUFFIX

Optional output file suffix.

--out-dir DIR

Use alternative output directory (only for cross-sectional). Default is the subject's mri directory.


Write intermediate debugging outputs.

--temp-dir DIR

Use alternative temporary directory for debugging (but this will get deleted unless --debug is enabled).

--threads THREADS

Number of threads to use. Defaults to 1.

-h, --help

Show this help message and exit.

4. Gathering / merging results from several subjects

Please see ConcatenateSubregionsResults

SubregionSegmentation (last edited 2023-11-20 13:23:42 by JuanIglesias)