Skip to main content

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

Project description

ITKElastix

WebAssembly image PyPI Version binder voila License Versioned software citation

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 Stefajkn Klein, "SimpleElastix: A user-friendly, multi-lingual library for medical image registration", International Workshop on Biomedical Image Registration (WBIR), Las Vegas, Nevada, USA, 2016

Project details


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

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

Uploaded CPython 3.11+ Windows x86-64

itk_elastix-0.20.0-cp311-abi3-manylinux_2_28_x86_64.whl (21.5 MB view details)

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

itk_elastix-0.20.0-cp311-abi3-manylinux_2_17_x86_64.whl (19.7 MB view details)

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

itk_elastix-0.20.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.3 MB view details)

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

itk_elastix-0.20.0-cp311-abi3-macosx_11_0_arm64.whl (13.3 MB view details)

Uploaded CPython 3.11+ macOS 11.0+ ARM64

itk_elastix-0.20.0-cp311-abi3-macosx_10_9_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.11+ macOS 10.9+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

itk_elastix-0.20.0-cp310-cp310-manylinux_2_28_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

itk_elastix-0.20.0-cp310-cp310-manylinux_2_17_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

itk_elastix-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

itk_elastix-0.20.0-cp310-cp310-macosx_11_0_arm64.whl (13.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

itk_elastix-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

itk_elastix-0.20.0-cp39-cp39-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

itk_elastix-0.20.0-cp39-cp39-manylinux_2_28_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

itk_elastix-0.20.0-cp39-cp39-manylinux_2_17_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

itk_elastix-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

itk_elastix-0.20.0-cp39-cp39-macosx_11_0_arm64.whl (13.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

itk_elastix-0.20.0-cp39-cp39-macosx_10_9_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

itk_elastix-0.20.0-cp38-cp38-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

itk_elastix-0.20.0-cp38-cp38-manylinux_2_28_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

itk_elastix-0.20.0-cp38-cp38-manylinux_2_17_x86_64.whl (19.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

itk_elastix-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

itk_elastix-0.20.0-cp38-cp38-macosx_10_9_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 67b5c9a53136abf6385353f3f1f4cb65b1755507bec28db3ba4293dbc36f1e44
MD5 bba8a9214eae52e40cf52071f68e6a38
BLAKE2b-256 88875c79b2b32ef141d39c50f9164e182695d851e448fcb925e08d4bb6036882

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4884f0dc27596e94c4e05ae6385c70c355ca3d6c7443700d95bbee58ae56741a
MD5 2183ca9690a9df669ea0d624edf01ff0
BLAKE2b-256 579de8e16a1163cec308764125324bc561831f6ef7fcbc2eb846544df753cda1

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp311-abi3-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp311-abi3-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6d0165bbefcb42c5e88b45f8cc768bd29be102932eb69567d277898f500306ea
MD5 237963bcabaafeaf02e11ad32dcb933f
BLAKE2b-256 e779bde25229139497f73b0c7e8edcd353853e5e6668b050e7dd522d5859d291

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 45278d0cdccfbbcaa08a66c07bf1dcc62211790fb43023907f13849879fd42e0
MD5 3f2d2f17016fb15280feb085510e1f88
BLAKE2b-256 9063838338ccac5fc9a09e45a45718274ce2672f27b662fede564f695fbab89d

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac6e14de7fc870139a0a5f7d5a142bdd6f1810611f01fa06c9daa0d8e3e4dd30
MD5 6cba79f08484df910e9af7b3e33e8cdf
BLAKE2b-256 3763f57ecf562e009279354679cb18b4c7b2144d47521371f5d0f86a39b25903

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp311-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp311-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a041c021321e5734fcb86e6e669092573325bb298f4a95676d31c60c09412a0b
MD5 ba501e64168e027d04c68a223541eb4a
BLAKE2b-256 a74b6390c48ba3714d8318e6dc68e42739c2c1333c7c1641dd7fcae647c63641

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 53b39a6eb5b36c5b407ebc6078a7a0dc2c174d97d69351023bfd5859e8c9fa34
MD5 e2e95bd85808bebeb456cb7a7e7542ef
BLAKE2b-256 7e5da3c64560cd5ed82d2e1f2a2789caa673e76b2605ee0b7463b53c0b518b4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aa2fcf94aee477c8918f5b871a61611ba55fb4e04d9fbee466bf69abaa7c12bb
MD5 45e42335626d81a64180621ed62c103d
BLAKE2b-256 27cfb1735d115e2800fe300e7d0f4a1c8ebf603c5d4dac6722b24dc57d3c5ab8

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp310-cp310-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ad35d80507111ad2a0352c4c8e4ad0bb3c5ccfdcc92712bcd5c003778b23f77e
MD5 e04d63ea1650673f4b444cf9731ab526
BLAKE2b-256 aa15e2603d38bf7f390fa2453d79f77553da60c60794973470d264381cba71df

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0bb3dd5058d5fb187c2c81d50da92d5dcbfe20fa3d4b19c746afe054b0e459c
MD5 50e11e3ac43a467ea0e631b0568952ed
BLAKE2b-256 2d813806afc16e4d40ef679eb3f2bdc060e7e6c6bfac8e562c45511ec1100363

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67c3bac852e6b28cc31993475164f22e39436a5d65d26d2cba7438d0430f84be
MD5 6454cbf4baceeded4261c37b7da7c64a
BLAKE2b-256 f6e8956a5500bd0885fd00640fc285d7f26e6f840af429e20438248d64a99b8c

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 de7390d0e0ad07b94438419ac4c679e813e17d6282e3d0731521d93aedcbed8c
MD5 4e500a4df7caf14087cf2c6a6ac3451f
BLAKE2b-256 fccb50140bbd05c178320f1a50a7db3ed05c04813ad944c0c5396a196ad2cfb4

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 06ad6c47336c50c304a2e748736aca27e25dd93c3b1cc48d3538c7316af6df2b
MD5 713093aa79fc6de6174ea7ed3bcf6610
BLAKE2b-256 318193bac569a06262d0523a1aa081db3a0453946673d523b6fd6a0ba72bb39d

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b63259b84d88e0026d1f8f50a3ef303b1ea619810219bb9c8415634fad44b3ba
MD5 ce9b8529bfcfc784e6acd374eb6911dc
BLAKE2b-256 4422413671361ec34a7add1f7e767d4991abbf8b7539952405207b08dbcdadba

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp39-cp39-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e5a32135f3e0d630218b37698c62395532765f96727a922c6b0cc9174ab76af4
MD5 fbeca27d8eb3a9d6809a90e200b7090c
BLAKE2b-256 4f86394c69f48ba0d3e4a978b95dc79f035a5c51998536d5ab4649e5aae8cc50

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b770a13c5b2920423bbef1ac8fcebe4103743e9fe1499deff958aab778fb22da
MD5 4cd899adc80e57e315f1b602a0932624
BLAKE2b-256 4803d5a5d2112b9169711a4da2e95db4c84938b1ff44576a0f48b1e3b20d71a8

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cba0de25246406a114548872013d5319768a4f2001cb7551ad6684e20a02fb9
MD5 79f1b3af1748287ca5863f29e7d59897
BLAKE2b-256 ac8677d2ac7868332cba8cabbc050148f7adddb71022f4e3de3922a9f6267be9

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 42b8994225d4ae9bda931a62c50d5f70dde0567e34338473fb56085939da6fb9
MD5 9e10d7863aa365818c001c4d41ce066c
BLAKE2b-256 04d63c1c37c8caa29ba8192955bcb35e7123a07ba16b128a06ecae6ef469a338

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b3843e123bb3a5f19909ec5068faed4b34a01274afd7ad83cd58322f0127ffd0
MD5 f0ac7fce043ce6029362227e4ce7b759
BLAKE2b-256 3f0ed1ee6283e91ccb56409a8594fc8c6ceee7a55791d69b6b8ba9e4420d3f28

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 246226321c37f8c05477efd03e0c0af565d521c41c78ac185d3edb6be183b897
MD5 a0c13141dcf01e31451f6ef08db253cb
BLAKE2b-256 20e5f15ab53ab0b3dcff0d4852a6e46a3aa116ad46cedb82d385f0a9beacf7bc

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp38-cp38-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 637a5db9956cc5768f265cdfa9bb06026864c78704571bf9ca3ac022cdd7b19a
MD5 998bc26ccea0f2ffa658d0298161e5ad
BLAKE2b-256 d84adbb21526922efc47b2d41c20421a1040b630c551def75a6a40806da50a79

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f4e95da71d571bc71169a42d11a778058bc7252a8fc3ce2e048e1f2fe1900664
MD5 772b9ae81b73aff18f78e506cff5b364
BLAKE2b-256 6ba486f6b63c2e23ed96f4dc63559988342be98cd10e16d092708e67ad03504e

See more details on using hashes here.

File details

Details for the file itk_elastix-0.20.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.20.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 417a74f45c0227597b5543a8c876c32cf4f41be7de6775932cb1c75647efe12b
MD5 f300aa06df60a956f50033c77aa66e5c
BLAKE2b-256 bd147f81d1cbaa3de5a41b4543e9787bc467426f6beead19285f27253c84ecf9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page