SynthStrip: Skull-Stripping for Any Brain Image

Andrew Hoopes, Jocelyn S. Mora, Adrian V. Dalca, Bruce Fischl, Malte Hoffmann

Paper Cite Video Download Data Code arXiv
SynthStrip

Overview

SynthStrip is a skull-stripping tool that extracts brain signal from a landscape of image types, ranging across imaging modality, contrast, resolution, and subject population. It leverages a deep learning strategy that synthesizes arbitrary training images from segmentation maps to optimize a robust model agnostic to acquisition specifics. If you use SynthStrip in your analysis, please cite:

SynthStrip: Skull-Stripping for Any Brain Image

Andrew Hoopes, Jocelyn S. Mora, Adrian V. Dalca, Bruce Fischl, Malte Hoffmann † = equal contribution

NeuroImage 260, 2022, 119474. DOI: 10.1016/j.neuroimage.2022.119474

Installation

The SynthStrip command line tool can be be run within FreeSurfer or as standalone utility using Docker or Singularity containers.

Within FreeSurfer: As of March 16 2022, the mri_synthstrip command is available in the dev (nightly) FreeSurfer distributions and will be included in the upcoming FreeSurfer v7.3 release.

If you do not want to install an entire FreeSurfer distribution, you can run SynthStrip through a standalone script that wraps either a Docker or Singularity container. To download either of these scripts, run the commands described below. Once downloaded, please read the brief instructions in the header of the downloaded script. This is especially necessary for the Singularity script, which requires setting up a one-time configuration. The downloaded scripts can be run directly, using the same command-line syntax defined in the Usage section below.

Singularity: To download the Singularity-based wrapper script, run:

curl -O https://raw.githubusercontent.com/freesurfer/freesurfer/dev/mri_synthstrip/synthstrip-singularity && chmod +x synthstrip-singularity

Docker: To download the Docker-based wrapper script, run:

curl -O https://raw.githubusercontent.com/freesurfer/freesurfer/dev/mri_synthstrip/synthstrip-docker && chmod +x synthstrip-docker

The aim of these wrappers is to provide easy mechanisms for running SynthStrip containers, i.e. so users do not need to worry about mounting paths to input and output files, etc. For those interested, the underlying build image can be accessed from DockerHub.

Usage

Once installed, you can run SynthStrip with the following command-line syntax:

mri_synthstrip -i input -o stripped

Note: If using the Docker or Singularity wrappers, replace mri_synthstrip with the downloaded script name, e.g. synthstrip-singularity.

In this command, "input" represents the path to the input image and "stripped" is the skull-stripped output. To also save the corresponding brain mask, the -m command line flag can be used to specify the "mask" output path:

mri_synthstrip -i input -o stripped -m mask

Additionally, if you would like to compute the immediate boundary of brain matter, excluding surrounding CSF, use the --no-csf flag as shown below. It may be useful to explore the -b option here, which controls the boundary distance from the brain. This feature was added in FreeSurfer v7.2 and in SynthStrip container v1.2.

mri_synthstrip -i input -o stripped --no-csf

For additional options and command description, please use the --help flag. For the large majority of images with voxel sizes near 1mm3, SynthStrip should run in less than 1 minute on the CPU. As image size (or resolution) increases, this runtime might increase as well.

Known Issues

When loading some nifti-formatted SynthStrip outputs using ITK, you might get an error that ITK only supports orthonormal direction cosines. This issue has been fixed in SynthStrip container v1.2 and in FreeSurfer development distributions released after Aug. 6, 2022. If you do not want to update, you can also try the quick-fix suggested here.

Evaluation Dataset

In the SynthStrip publication, we gather a test collection of public datasets that span across acquisition type and subject population. We make this subset of images, with ground-truth brain mask labels, available for download as a compressed tar archive. Note that we only distribute images from datasets that we have permission for. A breakdown of the datasets is available in the README of the archive, and please be sure to cite SynthStrip and the relevant work (more details in the README) if you use any of this data in a publication.

Video

Acknowledgment

This research benefitted from computational hardware generously provided by the Massachusetts Life Sciences Center.