Differences between revisions 6 and 7
Deletions are marked like this. Additions are marked like this.
Line 32: Line 32:
<<BR>> {{samples.png}} <<BR>><<BR>> <<BR>> {{samples2.png}} <<BR>><<BR>>

Brainstem Substructures

This functionality is present in FreeSurfer 6.0 and later

Author: Juan Eugenio Iglesias

E-mail: iglesias [at] nmr.mgh.harvard.edu

Rather than directly contacting the author, please post your questions on this module to the FreeSurfer mailing list at freesurfer [at] nmr.mgh.harvard.edu

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

Contents

  1. Motivation and General Description
  2. Installation
  3. Usage
  4. Frequently asked questions

1. Motivation and General Description

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). The delineation protocol for the brainstem was designed by Dr. Adam Boxer and his team at the UCSF Memory and Aging Center, and is described in the paper.

Here is a sample segmentation produced by the algorithm.


samples2.png

2. Installation

The brainstem module requires the Matlab R2012 runtime; the runtime is free, and therefore NO MATLAB LICENSES ARE REQUIRED TO USE THIS SOFTWARE. Please note that, if you have already installed the runtime for the hippocampal subfield module, you do not need to install it again. Instructions for the installation of the runtime can be found here:

https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime

3. Usage

To use this software, you simply need to add the flag -brainstem-structures to your recon-all command. For example, to analyze subject "bert", you would type:

recon-all -all -s bert -brainstem-structures 

Or, if Bert has already undergone the FreeSurfer pipeline (recon-all -all), you can just run:

recon-all -s bert -brainstem-structures 

The output will be in the following directory:

$SUBJECTS_DIR/bert/mri/brainstemAnalysis_v1.0

In this directory, you will find two files:

discreteLabels.mgz: the volume with the segmentation .

volumesHippo.txt: a text file with the volumes of the brainstem structures and of the whole brainstem, in cubic mm.

4. Frequently asked questions (FAQ)

  • Are you sure that this software does not require Matlab licenses? Why does it require the Matlab runtime, then?

The software uses compiled Matlab code that requires the free runtime, but no licenses. So, if you have a computer cluster, you can run hundred of segmentations in parallel without having to worry about Matlab licenses. And yes, this is all perfectly legal ;-)

  • The sum of the number of voxels of a given structure multiplied by the volume of a voxel is not equal to the volume reported in volumesBrainstem.txt.

This is because the volumes are computed upon a soft segmentation, rather than the discrete segmentation in discreteLabels.mgz. This is the same that happens with the main recon-all stream: if you compute volumes by counting voxels in aseg.mgz, you don't get the values reported in aseg.stats.

  • The size of the image volume of discreteLabels.mgz (in voxels) is not the same as that of norm.mgz or the additional input scan.

The segmentation discreteLabels.mgz covers only a patch around the brainstem, at a higher resolution than the input image. The segmentation and the image are defined in the same physical coordinates, so you can visualize them simultaneously with:

cd $SUBJECTS_DIR/<subject_name>/mri/

freeview -v nu.mgz -v brainstemAnalysis_v1.0/discreteLabels.mgz:colormap=lut  

If you want to resample the segmentation to the 1 mm FreeSurfer voxel space, you can run the command:

mri_convert  brainstemAnalysis_v1.0/discreteLabels.mgz  brainstemAnalysis_v1.0/discreteLabelsResampledT1.mgz -rt nearest -rl nu.mgz -odt float
  • This module is CPU hungry

Indeed! The deformation of the atlas towards the input scan(s) is parallelized. If you want to limit the number of cores that the software is allowed to use, you simply need to set the environment variable ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS. For example, to limit the number of used cores to 2 in tcsh or csh:

setenv ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS 2

Or, in bash:

export ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS=2
  • The volume of the whole brainstem obtained with this module is not equal to the value reported by the main FreeSurfer pipeline in $SUBJECTS_DIR/<subject_name>/stats/aseg.stats.

Yes! There are two reasons for this. First, the volumes correspond to two different analyses. And second: the anatomical definitions of the brainstem are (particularly in the midbrain) are different in the original FreeSurfer protocol and the UCSF protocol used by this module.

BrainstemSubstructures (last edited 2023-11-20 13:18:20 by JuanIglesias)