Welcome to elastix: a toolbox for rigid and nonrigid registration of images.
elastix is open source software, based on the well-known Insight Segmentation and Registration Toolkit (ITK). The software consists of a collection of algorithms that are commonly used to perform (medical) image registration: the task of finding a spatial transformation, mapping one image (the fixed image) to another (the moving image), by optimizing relevant image similarity metrics. The modular design of elastix allows the user to quickly configure, test, and compare different registration methods for a specific application. A command-line interface enables automated processing of large numbers of data sets, by means of scripting. Nowadays elastix is accompanied by ITKElastix making it available in Python (on Pypi) and by SimpleElastix, making it available in languages like C++, Python, Java, R, Ruby, C# and Lua. A docker image of the latest elastix build is available as well on dockerhub. Several plugins exist for those who wish to use the functionality of elastix in a graphical user interface, among others a napari and a 3Dslicer plugin.
The lead developers of elastix are Stefan Klein and Marius Staring. This software was initially developed at the Image Sciences Institute, under supervision of Josien P.W. Pluim. Today, many have contributed to elastix.
If you use this software anywhere we would appreciate if you cite the following articles:
- S. Klein, M. Staring, K. Murphy, M.A. Viergever, J.P.W. Pluim, "elastix: a toolbox for intensity based medical image registration," IEEE Transactions on Medical Imaging, vol. 29, no. 1, pp. 196 - 205, January 2010. download doi
- D.P. Shamonin, E.E. Bron, B.P.F. Lelieveldt, M. Smits, S. Klein and M. Staring, "Fast Parallel Image Registration on CPU and GPU for Diagnostic Classification of Alzheimer’s Disease", Frontiers in Neuroinformatics, vol. 7, no. 50, pp. 1-15, January 2014. download doi
Specific components of elastix are made by many; The relevant citation can be found here. In addition, you can use the elastix DOI identifiers from Zenodo to refer to specific software releases: https://zenodo.org/doi/10.5281/zenodo.13366181
More information, including an extensive manual and model zoo, can be found on the wiki
Interactive tutorials are available in Jupyter notebooks.
You can also subscribe to the mailing list for questions. Information on contributing to elastix
can be found here.