SynthMorph: learning image registration without images

Authors
Malte Hoffmann, Benjamin Billot,

Douglas N. Greve, Juan Eugenio Iglesias, Bruce Fischl, Adrian V. Dalca
IEEE International Symposium on Biomedical Imaging, pp 899-903, 2021

IEEE Transactions on Medical Imaging, 41 (3), 543-558, 2022

SPIE Medical Imaging: Image Processing, 12464, p 1246402, 2023

News

Explore our new demo on anatomy-aware affine registration with SynthMorph!

SynthMorph

Recent advances in deep learning have dramatically enhanced the accuracy and efficiency of medical image registration. Yet, such algorithms often struggle to generalize beyond the image types they see at training.

The SynthMorph learning strategy for acquisition-agnostic registration directly addresses this challenge by exposing networks to wildly variable synthetic data, which leads to unprecedented robustness across a landscape of real image types and greatly alleviates the need for retraining.

Training images

SynthMorph training data

Registration tool

SynthMorph is also a tool leveraging the synthesis strategy for rigid, affine, and deformable registration of any brain image right off the MRI scanner, without preprocessing such as skull-stripping. Choose the regularization strength at test time!

We maintain a standalone container version of SynthMorph on the Docker Hub, with a script for easy setup and use supporting any of the following container tools: Docker, Podman, Apptainer, or Singularity.

In addition, FreeSurfer ships the command-line tool mri_synthmorph. For the latest version, download a build of the FreeSurfer development branch.

Affine examples

Affine SynthMorph registration examples

Command usage

Register a moving to a fixed image using the default joint affine-deformable transformation model and save the result as moved.mgz:

mri_synthmorph -o moved.mgz moving.mgz fixed.mgz

Estimate and save an affine transform trans.lta in FreeSurfer LTA format:

mri_synthmorph -m affine -t trans.lta moving.mgz fixed.mgz

For detailed instructions and information on transforms, run:

mri_synthmorph -h

Registration accuracy

Registration accuracy in terms of Dice overlap

Demos

For those interested in training registration models, we maintain Google Colab notebooks showcasing the SynthMorph learning strategy:

Model weights

Users who wish to adapt the SynthMorph script from the Docker Hub or FreeSurfer can download the weight files independently:

Publications

Several papers describe SynthMorph registration techniques. For example, affine or rigid registration (* denotes equal contribution):

Anatomy-specific acquisition-agnostic affine registration learned from fictitious images

Hoffmann M, Hoopes A, Fischl B*, Dalca AV*

SPIE Medical Imaging: Image Processing, 12464, p 1246402, 2023

(PDF)

For joint registration or the registration tool, see:

Anatomy-aware and acquisition-agnostic joint registration with SynthMorph

Hoffmann M, Hoopes A, Greve DN, Fischl B*, Dalca AV*

arXiv:2301.11329, 2024

(arXiv)

For deformable registration and the general synthesis strategy, please cite:

SynthMorph: learning contrast-invariant registration without acquired images

Hoffmann M, Billot B, Greve DN, Iglesias JE, Fischl B, Dalca AV

IEEE Transactions on Medical Imaging (TMI), 41 (3), pp 543-558, 2022

(arXiv, PMC, PDF)

Learning MRI contrast-agnostic registration

Hoffmann M, Billot B, Iglesias JE, Fischl B, Dalca AV

IEEE International Symposium on Biomedical Imaging (ISBI), pp 899-903, 2021

(PMC, PDF)

If you use SynthMorph, please cite us (BibTex)!

Video (5 minutes)

Contact

Start a discussion, open an issue on GitHub, or reach out to the FreeSurfer list.

Acknowledgment

We thank Danielle F. Pace for help with computing surface distances. SynthMorph benefited from computational hardware generously provided by the Massachusetts Life Sciences Center.