Advanced Normalization Tools (ANTs) is a C++ library available through the command line that computes high-dimensional mappings to capture the statistics of brain structure and function. It allows one to organize, visualize and statistically explore large biomedical image sets. Additionally, it integrates imaging modalities in space + time and works across species or organ systems with minimal customization.
The ANTs library is considered a state-of-the-art medical image registration and segmentation toolkit which depends on the Insight ToolKit, a widely used medical image processing library to which ANTs developers contribute. ANTs-related tools have also won several international, unbiased competitions such as MICCAI, BRATS, and STACOM.
It is possible to use ANTs in R (ANTsR) and Python (ANTsPy), with additional functionality for deep learning in R (ANTsRNet) and Python (ANTsPyNet). These libraries help integrate ANTs with the broader R / Python ecosystem.
Quick links: download binaries | build from source | docker | conda.
The easiest way to install ANTs is by downloading the latest binaries on the Releases page. Download the latest release under the "Assets" section, then unzip the archive. Next, add the ANTs library to your PATH:
export PATH=/path/to/ants/bin:$PATH
You can check that this worked by running a command to find the path to any ANTs function:
which antsRegistration
If that works, you should be able to use the full functionality of ANTs from the command line or bash. You may wish to control multi-threading by setting the environment variable ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS
.
When necessary, you can also build ANTs from the latest source code. A minimal example on Linux / Mac looks like this:
workingDir=${PWD}
git clone https://github.com/ANTsX/ANTs.git
mkdir build install
cd build
cmake \
-DCMAKE_INSTALL_PREFIX=${workingDir}/install \
../ANTs 2>&1 | tee cmake.log
make -j 4 2>&1 | tee build.log
cd ANTS-build
make install 2>&1 | tee install.log
More details and a full downloadable installation script can be found in the Linux/MacOS Guide. Building from source will generally work on Windows as well with some additional steps explained in the Windows Guide. Alternatively, it is also possible to install ANTs via Docker or Conda.
ANTs is a flexible library that can be used for a variety of applications and areas. Below is a collection of example scripts that - with a little effort - can be adapted to fit your specific needs. Some examples also include code for ANTsR or ANTsPy.
See also our pre-built ANTs templates with spatial priors available for download [General, MNI].
There are many different resources for learning about how to use ANTs functions and the methodology behind them. A selected list of useful resources is provided here.
Some commonly visited tutorials for specific ANTs functions are also presented below.
If you have a question, feature request, or bug report the best way to get help is by posting an issue on the GitHub page. Please remember that it is difficult to provide any help if you do not provide enough information to reproduce your issue or environment.
We welcome any new contributions and ideas to improve ANTs. If you want to contribute code, the best way to get started is by reading through the Wiki to get an understanding of the project or by posting an issue.
Development of ANTs is led by Brian B. Avants (Creator, Algorithm Design, Implementation), Nicholas J. Tustison (Compeller, Algorithm Design, Implementation Guru), Hans J. Johnson (Large-Scale Application, Testing, Software design), Gang Song (Originator), Philip A. Cook, Jeffrey T. Duda (DTI), Ben M. Kandel (Perfusion, multivariate analysis), and Nick Cullen (Python, R).
A large collection of journal articles have been published using ANTs software and can be found by searching Google Scholar or PubMed. Below, we provide a curated list of the most relevant articles to be used as a guide for better understanding or citing ANTs.
Symmetric diffeomorphic image registration with cross-correlation: evaluating automated labeling of elderly and neurodegenerative brain. Med Image Anal (2008). [Link]
Evaluation of 14 nonlinear deformation algorithms applied to human brain MRI registration. Neuroimage (2009). [Link]
Evaluation of registration methods on thoracic CT: the EMPIRE10 challenge. IEEE Trans Med Imaging (2011). [Link]
A reproducible evaluation of ANTs similarity metric performance in brain image registration. Neuroimage (2011). [Link]
The optimal template effect in hippocampus studies of diseased populations. Neuroimage (2010). [Link]
An open source multivariate framework for n-tissue segmentation with evaluation on public data. Neuroinformatics (2011). [Link]
Multi-atlas segmentation with joint label fusion and corrective learning—an open source implementation. Front Neuroinform (2013). [Link]
N4ITK: improved N3 bias correction. IEEE Trans Med Imaging (2010). [Link]
Registration based cortical thickness measurement. Neuroimage (2009). [Link]
Large-scale evaluation of ANTs and FreeSurfer cortical thickness measurements. Neuroimage (2014). [Link]
Regional and hemispheric variation in cortical thickness in chimpanzees. J Neurosci (2013). [Link]
Longitudinal Mapping of Cortical Thickness Measurements: An Alzheimer's Disease Neuroimaging Initiative-Based Evaluation Study. J Alzheimers Dis (2019). [Link]
Eigenanatomy improves detection power for longitudinal cortical change. Med Image Comput Comput Assist Interv (2012). [Link]
White matter imaging helps dissociate tau from TDP-43 in frontotemporal lobar degeneration. J Neurol Neurosurg Psychiatry (2013). [Link]
The ANTsX ecosystem for quantitative biological and medical imaging. Scientific Reports (2021). [Link]
ANTsX neuroimaging-derived structural phenotypes of UK Biobank. Scientific Reports (2024). [Link]
Current support comes from R01-EB031722. Previous support includes R01-EB006266-01 and K01-ES025432-01.