ITKElastix 0.16.0 has been released!
Tags: python, jupyter, opensource, datascience
Published: 2023-02-21 17:32:07

###### By: Matt McCormick, Niels Dekker, Konstantinos Ntatsis, Marius Staring

We are exceedingly pleased to announce the release of [ITKElastix 0.16.0](https://github.com/InsightSoftwareConsortium/ITKElastix/releases/tag/v0.16.0), an [ITK](https://itk.org) module that provides Python and C++ interfaces to [elastix](https://elastix.lumc.nl/), a toolbox for rigid and nonrigid registration of N-dimensional images. :tada: 🗺️🧠🙌

Registration is the task of finding a spatial transformation that aligns one image to another by optimizing relevant image similarity metrics.

For more information on how to register scientific images, see the [itk-elastix jupyter notebooks](https://mybinder.org/v2/gh/InsightSoftwareConsortium/ITKElastix/main?urlpath=lab/tree/examples%2FITK_Example01_SimpleRegistration.ipynb) and the [elastix manual](https://github.com/SuperElastix/elastix/releases/download/5.1.0/elastix-5.1.0-manual.pdf).

![monai-elastix hand registration](https://i.imgur.com/AS6xJ7L.png)

*MONAI deep learning registration with elastix pre-alignment [(jupyter notebook)](https://github.com/InsightSoftwareConsortium/ITKElastix/blob/main/examples/ITK_Example17_MONAIWithPreregistration.ipynb).*


💾 Download
---------------------

To install the binary Python packages:

```
pip install itk-elastix
```

✨ Highlights
-------------------------

ITKElastix 0.16.0 is released in conjunction with [elastix 5.1.0](https://github.com/SuperElastix/elastix/releases/tag/5.1.0). Features added include:

- 🐍 Cross-platform binary Python packages are now 80% smaller
- 💪 macOS, Linux ARM Python packages
- 🗣️ Updated example notebook on [MONAI deep learning registration with affine pre-alignment using itk-elastix](https://github.com/InsightSoftwareConsortium/ITKElastix/blob/main/examples/ITK_Example17_MONAIWithPreregistration.ipynb)
- 🚀 Major performance improvements in the calculation of metrics; accelerates registration for some cases by 40% or more
- C++14 modernization
- Upgraded to [ITK 5.3.0](https://github.com/InsightSoftwareConsortium/ITK/releases/tag/v5.3.0)
- Support ITK Transform types: Translation, Affine, Euler (2D and 3D), Similarity (2D and 3D), and BSpline
- Add _GetCombinationTransform()_, _GetNumberOfTransforms()_, _GetNthTransform(n)_, _ConvertToItkTransform(transform)_ to `itk::ElastixRegistrationMethod`
- Add _SetCombinationTransform(transform)_ to `itk::TransformixFilter`, for access and use of transform objects through the library interface

For more details, see the full [elastix 5.1.0 release notes](https://github.com/SuperElastix/elastix/releases/tag/5.1.0) and [ITKElastix 0.16.0 release notes](https://github.com/InsightSoftwareConsortium/ITKElastix/releases/tag/v0.16.0).


🗣️ What's Next
-----------------------------------

In the next release, we will publish additional notebooks on how to support medical image deep learning artificial intelligence (AI) with [Project MONAI](https://monai.io/). These improvement are made in collaboration with the MONAI community as `itk` Python package spatial metadata improvements in `monai` harden and extend MONAI's medical image registration capabilities. We will update the current [elastix_napari](https://github.com/SuperElastix/elastix_napari) for [napari](https://github.com/napari/napari) integration. Also, [WebAssembly](https://webassembly.org/) builds will be created via [itk-wasm](https://wasm.itk.org).

🙏 Acknowledgments
--------------------

ITKElastix was developed in part with support from:

- [NIH NIMH BRAIN Initiative](https://braininitiative.nih.gov/) under award 1RF1MH126732.
- Chan Zuckerberg Initiative (CZI) Essential Open Source Software for Science award for [Open Source Image Registration: The elastix Toolbox](https://chanzuckerberg.com/eoss/proposals/open-source-image-registration-the-elastix-toolbox/).

**Enjoy ITK and elastix!**