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.22.0-cp311-abi3-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.11+Windows x86-64

itk_elastix-0.22.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.22.0-cp311-abi3-manylinux_2_28_aarch64.whl (19.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

itk_elastix-0.22.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.1 MB view details)

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

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

itk_elastix-0.22.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.22.0-cp310-cp310-manylinux_2_28_aarch64.whl (19.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

itk_elastix-0.22.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.22.0-cp310-cp310-macosx_11_0_arm64.whl (13.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

itk_elastix-0.22.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.22.0-cp39-cp39-manylinux_2_28_aarch64.whl (19.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

itk_elastix-0.22.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.22.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.22.0-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4f01f2332ea0558f4959c70c6af4c697a930d9d16f834ccc48c1c5f9ac4548b2
MD5 a24df652060e54f09bb32fa56bf188f7
BLAKE2b-256 ce9a4ab2f38ffbb4e850043b31fd7d7cab632b2be539028488a0b7aeb34f7d90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 450540f158fc5c1d5f9dec16d622113d5e6c4424ce1024f27deb0f28b0f02b5e
MD5 fbec19315ec3786e13a45dbe0e3a8b54
BLAKE2b-256 748c783e2f247c3058a8250ec9139cf07af7fb02b0f080707894c1718d08470a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5394f66cc3345931e3e71f513bf3c5d9814eee0b7234b6016e6ee2f53b467b18
MD5 27376490c321f4bc22478c450df35953
BLAKE2b-256 a942f83681a45930825058c88c88a6860bd9d7b747d02feeca36fcd4e74f2471

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c05876a98efb9e6c202b0a106d076bc5862fcc54ea048e84a6897819c0b9787c
MD5 607f0fa82c0baab4c163dbfd5aa072cf
BLAKE2b-256 cc81f8cff56f3554775fd8c7475fe5ab50cfdfb5641806506d3fb22110eb0ef7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ba09326d078494679788fcf83054750d0689cbd7c4544bfce01633276d10c15
MD5 a4fbc3834c72d8c085b9effcb51d1ed0
BLAKE2b-256 9b6089fce5b1175eae4e67507b6ed60ce309305b7177a63eb85c1b94ba7162ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 53d1d47d3f299f233a5e3736b5b0bd1180bacef13198936607d24078c6c756d0
MD5 bc9457b57227c9812d004728030a82c3
BLAKE2b-256 0ccc55af83bbacee924b43ad5c017dbaf0fc17d37d56f0a33c769e492fb8df18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e98b5b1493894f2a9ccb90b61076a6cb26e3c54dd2b2a6223b110be17339215c
MD5 b1545ed04797308c8fa564fbb3f570d4
BLAKE2b-256 402df302297c631c5d39504a52c31126b314e106df84ea5cf9fb17c036971cf6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a2fd7e255219534b9f0d662213e77abb8ac6d10c86a0757c164bfaa43e2dda54
MD5 b95a0aeae8d40b67c5772c0f647f5d85
BLAKE2b-256 90199f0ddd0141b3323b9db5ea2976b5574982f14840a703503616b791bb3192

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd8e071907e52e457b2bb9ef4cb3e7cc0181e34ed4c9fdedf0ec4cd42792273b
MD5 aa9b54911e04d69e05d88946cf8411ba
BLAKE2b-256 510a78e38fb3cd39ae52a4db2236868b6eaa1816927efd8427c1d99191c4583a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98d93903e5b7fc71f381c098c4cfef6c45efba4676f6240ed354c5fb77066ced
MD5 024db3c0c696065a41463637c75be0f2
BLAKE2b-256 be3ff0d823431a55027e034df7a867bd055ab0ec210e6228a023c0b3463ed4a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itk_elastix-0.22.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.21

File hashes

Hashes for itk_elastix-0.22.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fae397677ec0d867fc62d6ebd0e27ac9e8d5435b97bb2c15aca9e173241303a2
MD5 46dc07f5db71ffca40ee8512cc2e57ff
BLAKE2b-256 c7c4be65bda6f9db755cec401ddc1659f86b882c6f005e6e826022da88cdb400

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5e7e2e77838375b832b466d82b20af9174e6dd02a42409b9a0150430093406ad
MD5 424d0f336a3f0feaede11070f247368d
BLAKE2b-256 fb9bce64033f865a4487be63d9da9dc0832704e79c5de2d37ab9dcbc8ab138f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d983137cfe07251b8215a2e336e056e8d5b77b3839e9482f4b913c49b81992b4
MD5 25ef163dedc382e105a58498186aafcf
BLAKE2b-256 e8449e2efa349e3dd0de1a58651a9cad29a8dde37962cfbadc378710bbbdec09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e76134f9721ca4bfe98dbe2a3e8cecbd29a48076fc38062281f3f5b345a548b2
MD5 df5338823a1ca1cff14e395f2b9dd648
BLAKE2b-256 a242b7971d38663f1e80edcbadca20ec4ab4dd74170c25b6733b74dfc8788b7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.22.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 416a34c7fe1c6577e2f21de14dead0d0b1ce44a388571920ed84fb0b7a547f62
MD5 67c951192730d894a57c0a950dbe8eb2
BLAKE2b-256 394b307cebce4d9d9edc61090624c75f8b9276efd1cbebb5b9c065805d7a9616

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