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

Uploaded CPython 3.11+ Windows x86-64

itk_elastix-0.19.2-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.19.2-cp311-abi3-manylinux_2_17_x86_64.whl (19.6 MB view details)

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

itk_elastix-0.19.2-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.19.2-cp311-abi3-macosx_11_0_arm64.whl (13.3 MB view details)

Uploaded CPython 3.11+ macOS 11.0+ ARM64

itk_elastix-0.19.2-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.19.2-cp310-cp310-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

itk_elastix-0.19.2-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.19.2-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.19.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

itk_elastix-0.19.2-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.19.2-cp39-cp39-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

itk_elastix-0.19.2-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.19.2-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.19.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

itk_elastix-0.19.2-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.19.2-cp38-cp38-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

itk_elastix-0.19.2-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.19.2-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.19.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

itk_elastix-0.19.2-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.19.2-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c883700ec565cc9e3292511854113d6d6bae442de67a93d409952c7df9ed3b0a
MD5 a8766e9184245592e5adf70e3f35d3bb
BLAKE2b-256 1050b9c1579c9b04d7006fce8f25454349d73cfb4c884b0d91f9112383b36ade

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b17797639e2393d16005aac899078369e91c56e5f4d0b70257ce547af816891f
MD5 05b84c25559257026c9f70dc6cfe018a
BLAKE2b-256 81f464dd91e6d2abddbe9ef0a061e19d57cca62b524055cba7637e33467733ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp311-abi3-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 57b7ff8a4f253a740a58efb75f5f42a350a3aced5611aa0ce41952b5bacd5bc0
MD5 f1da155dde2a6efed1d3b8b8cdf64f68
BLAKE2b-256 14812e0e9216183584345a2d7d3e0cc5d600470b0f0e7517b29ce07351048b26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98039affaea9abd1ea11d2716e692512f00314153db05617494d10f95b9a1c50
MD5 a5337be650e42965a475833451251a33
BLAKE2b-256 a8a1dcaec8682e2df87f65a32d52121355e2cc922bcf417c6c0f3db7afa17a8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80d6bcf47696e9a03c26f55d1c467868f1740e4a3c3522b614ea43ed54c97d7e
MD5 e5b01ca75518021c60e60d167cbbeaa5
BLAKE2b-256 4c89f5a4b8ae6234d7aade54b46105b7fe39a1742f6d98b32e90ec4f150788e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp311-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e80d0d6aec14239e4c2af3bd1cd0361a2d59488f23f2ff077695d33c07e68d23
MD5 c90c0b68d14e34dae4549a78521b7b59
BLAKE2b-256 ad4e27e7f1022cc136aa36b79e631269225040f9c9547ad91a372a2f789d40fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8a3e7ac428dcd77c7e6220ad2e9ff25276e3a2b7bf2d55b3aba3bbecff66ccbb
MD5 9ae2b29752902b4f53a0dd660df93ea1
BLAKE2b-256 471d5e3052a7650111b8674c8e5b8e2119c1a71a03d2c49652ce4b18c2c36589

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0533087c678950e63c1e58ca327e0be6bebc657c18d749960727296f565329f2
MD5 bcbd2f7ed28a1dbbb0587f88b437e71a
BLAKE2b-256 8d8d7b0866e85d34fbbb947ebb9cfc686a10ac48769181afa5e528d70151d3d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 601b3c454576659e58d1118aee3e18c06c08d1fe17ef5b261995d1414afc1ce1
MD5 ecf49e1e0821d6ff86df989d915c2911
BLAKE2b-256 a13ff8e50365a0b4fe5d4daf92c49716a7763c80b3bbf7451f4136d61e9fb02a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 540354b03b22f75204b8c01e6ba133e6af05b9002ba5af07837a6234cd9152c2
MD5 4bc664eaa3c64fb24f85d8f66a3b9492
BLAKE2b-256 57a46e6510ab871bd4a0aa2f0b5b24a535a35950ffe21ab8c543d80c35fbec10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f976cd4cebb270ae462c569272c995e31747b8f361c06255cf0a2434e2130df
MD5 a8c2f19dac034a9826255669a1832188
BLAKE2b-256 497162f54387da23c4ad7d93f12bf06c26d9d23ae590e6bb5ddb7c405053a130

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ba2d9f3d7f32212effb395f8322b8ef8c917a4a3db2079d08f0d849e2dbb121a
MD5 5e673f1c9decbb390f92a326b741b2b3
BLAKE2b-256 350742a09fc73996793981a1fbd2a6c0b10c5b887f1c50ca3c7be964453890e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9f8310931c1f0d4c089d60eb8d5767ebb7dac29b8e822788273ba525d75605d5
MD5 d59aa476009f4140e337e5bf61415127
BLAKE2b-256 6defb0a837e7a4fd95ba45facff5a7fbb1d58491e00cb0941d8b49e4bb1d53fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 934c7e22fcbd15318c376431c9d084117fdb01afa562622dcd566d84cfb2e303
MD5 93e2dc505a351671d70e89fd14f02f70
BLAKE2b-256 b664718ae7b1f7027b8e54cf6909f59f40e831bc20d5feab9bedc4d506cef55a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 75fab06ee3d9449ec1b50008fd732f54c6fc9f989b91d610b74535bd1ff2877a
MD5 c5c5265f00ef24023f5d362c0544c9ca
BLAKE2b-256 9f7a2a8d80a4c9c29916cc44588249b000869cff93125fe8214a1ef5c5fbfae7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcfaaafa4019ba2d52dc784d6d42c885fe5223b8dc00069a85da3135c3d7d461
MD5 6f548f3ccaf246e375d8fcaf073285e5
BLAKE2b-256 b06f4f473c51af874ca9f238b492c4838a2e62a78894f9af3bd070657b9f2127

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10d54ece63a3d1833321aad890831bf504179dd0d699d7d6f56293fc288bb9a5
MD5 7d03761cab2e8d4eb329da735b8f4c3a
BLAKE2b-256 ba80df72fb1e648e7368c13c0bb2ca457f3b04ab51b259e4828cd9f9d4d8ee6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3b1c83a0476781171f12710d7492bbe0cf1220abc5052af9315075104308c27d
MD5 bd027f7db93c004034f36463c01a9348
BLAKE2b-256 dd3dffa3c6d0cc7a876dd5b8149836645fde54509155f286fad89be2c5e4c06d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7a869757f5c5726dcc73d8a51b54ab4d4d27145ac477d79948b07c08658be6c8
MD5 ae7f67f21df53591a3f09b91f1cada30
BLAKE2b-256 16771e2c04ab65462e451633e78f6587c4e6063ef1f41a9732ce5b9394b64d1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 337758601932fe9fae14deb4610d1a9b3959a4e2813e1cb7acdec395a406391b
MD5 9dc7e5a18258ad05d579260c6eeeb317
BLAKE2b-256 cd220ea25f91a2ec7c8404ea42cb46b88a15a66849e25f7bfd90ddcfae9ff9f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b7c8a55d6c45c5fffc4f1a72379315daf14f5f509c887d763b890fe440cfd1e5
MD5 894ff3fe45af0dc9379697db0d73d27c
BLAKE2b-256 44aed5e667c2680dc15a3e52e2b29bf68c9d004283a2102f9c9cea6c0a5665a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ba51b87d325e49fbf3af2e75e4da8590f0ed6ef50c3bdb134b190a98fcaff11
MD5 a0b8a3836faab81fc0ec92e065ac5266
BLAKE2b-256 302f83feb6f087bfb8e7ef04e58ad0536644550873e344e650b005e636b1de33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.19.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ce8b38e96aa11ba9bec366c8ccff5add1aae2f65aced0ce8dfa954c7028bba98
MD5 8ba50ca76b053d38bf59886af6618bb4
BLAKE2b-256 099d7ac913234d0823762e2c2a8c3b2a163a843f04bc4d6569f994db50f84f8d

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