SynthStrip: Skull-Stripping for Any Brain Image

Paper Code arXiv


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

arXiv preprint


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 && chmod +x synthstrip-singularity

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

curl -O && 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.


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. 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.

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.