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

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

itk_elastix-0.23.0-cp311-abi3-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.11+Windows x86-64

itk_elastix-0.23.0-cp311-abi3-manylinux_2_28_x86_64.whl (21.4 MB view details)

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

itk_elastix-0.23.0-cp311-abi3-manylinux_2_28_aarch64.whl (19.5 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

itk_elastix-0.23.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.2 MB view details)

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

itk_elastix-0.23.0-cp311-abi3-macosx_11_0_arm64.whl (13.2 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

itk_elastix-0.23.0-cp310-cp310-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.10Windows x86-64

itk_elastix-0.23.0-cp310-cp310-manylinux_2_28_x86_64.whl (21.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

itk_elastix-0.23.0-cp310-cp310-manylinux_2_28_aarch64.whl (19.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

itk_elastix-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

itk_elastix-0.23.0-cp310-cp310-macosx_11_0_arm64.whl (13.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

itk_elastix-0.23.0-cp39-cp39-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.9Windows x86-64

itk_elastix-0.23.0-cp39-cp39-manylinux_2_28_x86_64.whl (21.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

itk_elastix-0.23.0-cp39-cp39-manylinux_2_28_aarch64.whl (19.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

itk_elastix-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

itk_elastix-0.23.0-cp39-cp39-macosx_11_0_arm64.whl (13.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b96120d7402e3550db2a686f3af21034bb60ea67df45185e5f6021b9491ed60d
MD5 60e0b1f50e987a6656b1551fbb6f7c9d
BLAKE2b-256 b6797937004d1a2a875bb9360280d5b6922b28af8e671904cd8d94c8e679f374

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9b1befecc1d3d8c911913a9eecf946cb977abcc9558bd2e51ae7095e636dcb0c
MD5 07832366bafd0346d9c8e3b276392092
BLAKE2b-256 c546a8aab730d8d75ccaf155be543e2e314fcf87fc6272f5abe19f1565f78a20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b37a5a767655089ae6d941ec223e39c96dfbe79a790fdfe8045f91d81cf17244
MD5 37e192b72b53da05335bd29382f22bb7
BLAKE2b-256 54195f8c9ebd49b7cb00bea7012c5469cdf885af232d37777947614a596ebdd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b529f17f8f97c22575dbe9ad5987b2bba47999bbfe8ea391dace018e351d2164
MD5 fa8e744f8049d2c8f11dc240197373f4
BLAKE2b-256 a107218fa776e4ffa6083cce8acd584c20f01e3a2acff5e0946024039b8bad44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 baaf61a1adcaf2225ccfc2a40a259b82005b37541ec7000070b9c35fdf6ccc8f
MD5 0f4a51c882966796bdd0d60d5897b96c
BLAKE2b-256 e1caf91ca4c037fac506f45270c3d09aa96ce0feffc0f6ef418cae14d8e7c366

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4f5aaac619704b3d7d1525e1e51c6d93bd1f36423e029dc0e5cbceff5ff5db26
MD5 ba71490dc145c1624c4755413aff30d5
BLAKE2b-256 362ef8b3ac04be74a2965d04e53997cefced57e9987a35f91d06c66ab574e6aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 879b24988141d4360afe9716f75e8e65b4044d42bdbc79c440cd604e8c27d60b
MD5 f509ca7209514375f2d15a67a62234fb
BLAKE2b-256 1c9f4a6ea1cf9210a5f8bfb57b8fb2a74c0d943f8451e5e3d896c32e58bb877e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 65d1c4d23ecfba42e398da20e73de330e1a778ad82c9500a8f85ff1a81ee3a02
MD5 0c5e140101df053bba437788ef84d33b
BLAKE2b-256 0f5af95950712806a88e88c2aee5312c39d8dd8a957233b38fb5d3ccba63022c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f8eb7933851abdc43304ce7b15230580df05d60200024abae679150c9529a6c
MD5 af99811fa7b3872126581bc501ad5044
BLAKE2b-256 ffcc01db44f4faea0c2a9f1aaf30b9526d7efac807aa1d417dc3fb5792642666

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dfc1ca381667a0a1ecc8ccdb8df9acd413d1d02e88ce8c0153a01fe6821396b7
MD5 c57b6e477f7c3b0e46d2343c5270ccec
BLAKE2b-256 780cad4a6e4218582bd347123c647971c617dd70752d2f3d1424fd50263074c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itk_elastix-0.23.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 7.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for itk_elastix-0.23.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 af469ba7bb7b028a53b7d775c58b8806e74b081414ad842fa45a1c036b5d8133
MD5 06eda9de9170d43dc540f4a6eeabd65e
BLAKE2b-256 97417cc37b253ffaabc9148f8b6a2fb0ef47e6fa017607197cee1db19e5f7843

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 189df25e25ea3dfe8cf13e60b0f9ece9f9035b167c60d2e3619b5bb8256d122f
MD5 d8012b431e7f418badc40da7a38f582b
BLAKE2b-256 487b74d1a11da7efd1eff5479b3d9e3633a9b1e56ff44b8c6a7924f2010a6e7e

See more details on using hashes here.

File details

Details for the file itk_elastix-0.23.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 516a0068109b35bb39f8b60c4ceb07ce80e56f9ca0722b3aca42b0687e75ea58
MD5 cbaf5ac0af0b9b6ae4d3ce1c19ee4e3a
BLAKE2b-256 976bbcb5f4fe1fbbc69f4e235d82dbd3383f06ba2c02d4bbeaed1056e873d781

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65a1f598c547a45612da2286c2e3cd1d97c2d318494f318b835cda5b27326ca7
MD5 f96fceb05cb7a2269d0587c855b33cae
BLAKE2b-256 262297a37d58c6db94c2d38758f96bf44f92e9a6604a62428bd63c42ad73cfc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.23.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7431b2f25587d5c2170bad64462b8b92cdc5c5423c2467388fa23c2285d0b4fb
MD5 6d6d8a4eb970ded57691835ff2f692e6
BLAKE2b-256 98a1d4eca8c5919758f663d951a8910b015b94b4e9356843d8284cdb9475dc84

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 Pingdom Monitoring Sentry Error logging StatusPage Status page