Skip to main content

ITKElastix

WebAssembly image PyPI Version binder voila License Versioned software citation CZI's Essential Open Source Software for Science

Overview

Provides an ITK Python, JavaScript, and WebAssembly interface to elastix, a toolbox for rigid and nonrigid registration of images.

elastix is open source software, based on the well-known Insight Toolkit (ITK). The software consists of a collection of algorithms that are commonly used to solve (medical) image registration problems. The modular design of elastix allows the user to quickly configure, test, and compare different registration methods for a specific application.

👨‍💻 Live JavaScript API Demo

Installation

Install cross-platform native binary Python packages with pip:

pip install itk-elastix

Experimental WebAssembly Python packages can be installed across platforms with:

pip install itkwasm-elastix

Note The API for the WebAssembly and native binary packages are slightly different. For the WebAssembly interface, see the package's Sphinx documentation. For the interface to the native binaries, see the examples/ directory in this repository.

JavaScript / TypesScript packages cas be installed with

npm install @itk-wasm/elastix

Usage

To register two images with the native Python binaries, traditionally called the fixed image and the moving image:

import itk

fixed_image = itk.imread('path/to/fixed_image.mha')
moving_image = itk.imread('path/to/moving_image.mha')

registered_image, params = itk.elastix_registration_method(fixed_image, moving_image)

Interactive examples and tutorial material can be found in the examples directory. Run the examples in free cloud compute containers on MyBinder or clone the repository and run the notebooks locally in Jupyter Notebook or Jupyter Lab. Try out the experimental GPU packages on Paperspace Gradient.

ITKElastix can be used with both the procedural and the object oriented method, as shown in the example notebooks. The procedural method is shorter, less explicit and currently slightly less functional than the object oriented method, however the execution time and output do not differ apart from possible differences due to the stochastic nature of the Elastix algorithm.

To find parameters that work well with specific datasets, see the elastix Model Zoo.

For a graphical user interface in a desktop application, see the napari plugin.

Additional documentation is available for the WebAssembly JavaScript bindings and WebAssembly Python bindings.

Acknowledgements

ITKElastix was developed in part with support from:

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:

  • K. Ntatsis, N. Dekker, V. Valk, T. Birdsong, D. Zukić, S. Klein, M Staring, M McCormick, "itk-elastix: Medical image registration in Python", Proceedings of the 22nd Python in Science Conference, pp. 101 - 105, 2023, https://doi.org/10.25080/gerudo-f2bc6f59-00d.

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

This ITK module is based on SimpleElastix, created by Kasper Marstal. For more information, see:

  • Kasper Marstal, Floris Berendsen, Marius Staring and Stefan Klein, "SimpleElastix: A user-friendly, multi-lingual library for medical image registration", International Workshop on Biomedical Image Registration (WBIR), Las Vegas, Nevada, USA, 2016

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

itk_elastix-0.25.4-cp311-abi3-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.11+Windows x86-64

itk_elastix-0.25.4-cp311-abi3-manylinux_2_28_x86_64.whl (21.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

itk_elastix-0.25.4-cp311-abi3-manylinux_2_28_aarch64.whl (19.8 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

itk_elastix-0.25.4-cp311-abi3-macosx_15_0_arm64.whl (11.9 MB view details)

Uploaded CPython 3.11+macOS 15.0+ ARM64

itk_elastix-0.25.4-cp310-cp310-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.10Windows x86-64

itk_elastix-0.25.4-cp310-cp310-manylinux_2_28_x86_64.whl (21.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

itk_elastix-0.25.4-cp310-cp310-manylinux_2_28_aarch64.whl (19.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

itk_elastix-0.25.4-cp310-cp310-macosx_15_0_arm64.whl (11.9 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file itk_elastix-0.25.4-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.4-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3d671f6fbaa8d3aa84d12c083f67033215b1df1acfe6f56bee43e7abe281a95b
MD5 4ea2029de0c60a89bd495eacead435a7
BLAKE2b-256 de93881347268beea2cba49df981483c51d2279d03a6b1b6eacd5622394f8a8f

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.4-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.4-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9584f9b87e536e0ba77d6a4a8ce6807b61537577957df5615b53bb9735f0acb6
MD5 2621949f82e7eff15923c228a320da9f
BLAKE2b-256 a846ae263616c078cbba28f17326f05dc01629a1c3d32ecc440f89a450e9d63f

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.4-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.4-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5e60251781f53cc447c0f606a09fa3363668f6d96074ece2971281e88d66c036
MD5 985345e891cf7340a35491c6e637054c
BLAKE2b-256 72b55b5c82169ee4c841dec22a159da53f9433b73276c9d25b0eed2d21e877bd

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.4-cp311-abi3-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.4-cp311-abi3-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 dbd05b6afeee6b25b3988bffcf92330d679a0e32195df8c430f87e231ea6ce3b
MD5 d9db52630485e270dc5d64abbee02a25
BLAKE2b-256 297bae3d0d2bc7b3c364cc8c91be2a36dda684faba77a36ceb9bdeb5bd9e3653

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 65a27d73d6d74bdc6a51726e9d955b61bcc80d1fc90ec0a2d50a85aa827723b8
MD5 628292fdd6cd71a6f64ea40530ffe4ec
BLAKE2b-256 fc3d94da8fd5c072e965fbe00e63ff1227db48ede84cebd92bfd142c88e9b049

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.4-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.4-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aab5a45ed54d6042aa6d024b7d323051031af673c73b95f15ece9a06509c7ab5
MD5 ea5900cca9e29bf28f73a024e876be6c
BLAKE2b-256 d39185c40545a8b2a31d8580301625c651822ed8a1cddc5f0d0d95648ba936b5

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.4-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.4-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 46c4352aa2931bf8aa6b0bedd5545e2552248ffb7cafdc4e643b4d18432b6b6a
MD5 121d8c1e6c08ff2986f3e2145e751f61
BLAKE2b-256 8c1eb649be2e9ff55ea2f6e22ef2a4147e6a8b3899d52b5501ae0db464d4d24b

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.4-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.4-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4cb5caa98600ff5855d5e3856d20614cf470d05925450bdd3cc52cbbaba0acf4
MD5 fd36724678f67cc934807f8b9c69cd0b
BLAKE2b-256 0c9f3d10108abf4cba3b5a8230daa7d298b96e9594699bdb9dfefe1d488966c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page