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

Uploaded CPython 3.11+ Windows x86-64

itk_elastix-0.21.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.21.0-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.21.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.21.0-cp311-abi3-macosx_11_0_arm64.whl (13.2 MB view details)

Uploaded CPython 3.11+ macOS 11.0+ ARM64

itk_elastix-0.21.0-cp311-abi3-macosx_10_9_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.11+ macOS 10.9+ x86-64

itk_elastix-0.21.0-cp310-cp310-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

itk_elastix-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

itk_elastix-0.21.0-cp39-cp39-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

itk_elastix-0.21.0-cp39-cp39-manylinux_2_28_x86_64.whl (21.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

itk_elastix-0.21.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.21.0-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.21.0-cp39-cp39-macosx_11_0_arm64.whl (13.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

itk_elastix-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

itk_elastix-0.21.0-cp38-cp38-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.8 Windows x86-64

itk_elastix-0.21.0-cp38-cp38-manylinux_2_28_x86_64.whl (21.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

itk_elastix-0.21.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.21.0-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.21.0-cp38-cp38-macosx_10_9_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 de902ce386c0e18bfba318b328bd3d3ff7ad1bdbbb643d3edf51930b65b89df0
MD5 497ef99e14c8b611155e03915c44a134
BLAKE2b-256 ec9a7685b01712e1dcc2a383db9f371423309fb85afc20e8b859b84843f9fb72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a7c0b4a0028dbd3a4e6b9dd0e3341e74a311323b1de3e8132293f7883fc6161
MD5 10c850bd93fe8ab4336e13a1fa6a4739
BLAKE2b-256 aed31fe0bf2c960e0d1c482fe4145976f345d4c5f25cd24cab5d6bde6103fbdb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp311-abi3-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 29cb2a5d2fb7481156eca24408f5be95c939123a184c620f4d0eecfa67ac5aa9
MD5 df7f11649c85ab79c1bce86de85c9821
BLAKE2b-256 628dce12d994e6dd7a70c70141ac82d8563ef669d241f737e37c54d9a7daff78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24ffbb1696dc0b63212006baa0f3ad2d15498335b5fa66feac1ea34fa081e017
MD5 283b2b8f539cb63b47c8c4c671aa139d
BLAKE2b-256 356a09a262306f438788fce8d3206e55b2ca93cf77ee7761ce17fa6434533882

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17ba6869a11c0bcdb28b80075a09ec1c4221ec57a5672d541af720571c967e27
MD5 58bff2231bd4630fa3905fe20ec88dd6
BLAKE2b-256 7f5870a9db63ea8e0270c429fd4263330f2c087d2ad90f7ad1be7a58b131042d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp311-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4d49df502af3f2234ca4ee2fa449f1b45ae8c15bfd34318ca956f9e612037163
MD5 b0b6eb8a75aabc97b4329063a050b772
BLAKE2b-256 e5f7dc3420e4402d60e0e63790a2bbd74a660a56677bff3854bbba2640d3fb97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f47574656196b02f9760cd183f0dcf4686b5afb33782a03212b0e7efa5921e27
MD5 69baed11b49d328644972392dcdd4f7a
BLAKE2b-256 82f35cac76ff3c876ba837311fd1502bb0b702ccdf1de00661c9cb57c525c075

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e441268525162766a7caf6f7a0364fc966eff26ca3ed7fcb91d074f727ab58b1
MD5 a875dcf543e9fd4bd27ab37fb4af3a40
BLAKE2b-256 8d09e8f6e46f3957d4b6db2befad30f4cf6ca2e21c652681a19de123d3466238

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8fec2862da4a4db8e0107fcb47c8b7d42469000ff3fec13b1cd7397f4e8ded0d
MD5 71e5a81e75b278e90d3aaf88204fbff5
BLAKE2b-256 2a98c628db2bc1d25c6f00c059233dc538892ba81f22462cd363fd1f32b4da89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e26e2aac81252c8ec921479fc9ca100cc84839c5f08f5fbdaba5b89b96f36b67
MD5 81f66e1d88457b7d21fb3ea70fd94dff
BLAKE2b-256 7432a964894e45e8e6ebc697a461ec9fc08e36db52ee182f54656a5c56ab67e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71b8eae46a052bd71695106ade182849ed8a4d849fa20481719f77db1f00923a
MD5 70192e529a17a709ad22e2f416a1e152
BLAKE2b-256 7f690011346557e0594329c59f5dc549caff45803d890b22bb7f05b7815b407c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4666850b80cf8741e1d7228f96c3a8ad7cb84779c0563e8b585ce0cec2e954b3
MD5 579f597fb2734b1c6e488a583770ebcc
BLAKE2b-256 b1e56acab29aa79e3b146e5de560901a08c748f61bb6c36ab896cff4923bc220

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c15f5317a42e4c9c8854b8551096bc70a63a971fab30ac3cad9ce219fdb1c87a
MD5 3fe3f2be1b416721aaca33f4bcb4618a
BLAKE2b-256 e830d725f908e164272583287ab2345e854786832923f01fec4817200b78b8ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f9b3417147bb78303e3d1eefccdde7fa553e90f75b3ef1b56e8df103d491e30
MD5 f4e2c2e12fb844cb524fd1f65efdd161
BLAKE2b-256 48590a1e6d9c46c3f1b464ed9c7c79c9c9e97c8285f2b1ef2885d9d26f0653f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ff5446c6c803f7173d5eb22b2dea5f66025197898ea494b5b116a23e47f36de3
MD5 80fd9329b5a0a285087a9e6147dd01ca
BLAKE2b-256 bdb82f733d98346398bf419108d3d3a240aad2fa91544d48f17fda833fd66cc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8dc46b7b285003bc6c0b3eff0799c2e8ee751affef583fa0a6b06e8330a6d9e
MD5 acf21017937f804fe85d34495808f162
BLAKE2b-256 24c900dd9fe6ee0772dfb2663770e9e937d8473fe53abd694883973e75a7b802

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 716fc97f9002d97059425f422ebc82a15116385d899d8f961858f9125153c1a9
MD5 e6a8329b9d30bdc87d9858ddb935fcb2
BLAKE2b-256 593e02a7277422e9aab449a8525ff09f63de763db52b5d2da9df5f91117e2ac2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fb51eb4d3ee49388ddfcda5ca03bd6b88f76cd4d0213df0ae8d1e8b643719af6
MD5 0df2888ba40f81cbfe63339011d13cb9
BLAKE2b-256 1c4153708438c71da0d216a9147e48643e89f57465855e08d2aacc96b0891ee9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 13c18fe25a4404da8e59c9890a2223032c0c96f5aa494ea7219da0dfd9e1b95e
MD5 d6e2d355414a384ff69cba2d28a62ec5
BLAKE2b-256 2525b384a132ef73fb5ed08bc959d46b04f7e64fe1d82c3a547319d8a60b706b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af8e47aa9a09d3a99d9e6ca0b9ac95f695e5d2829dc2e271114f6758e1d3b62d
MD5 9ef64b7e5ccb065a17dd8469511bbf48
BLAKE2b-256 63eb63c05e15c548937726250975fdc7e280e176f0e109059c740cf838cabfc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 efd6e78a6a365aad6cb756c63b62519bd37b62668250fc6445ba0bdd5f7a644a
MD5 bbdd406689159de3f6f8fd05a721e0d0
BLAKE2b-256 fc4a258a242ef4866c5c11947eecb78c93bf3a581716c697ef066f0090e1c3e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f2efe8313ef44ec4ccb6bf6b51088eadd10ea3d7a4db78cc4d1fea5bc88e875
MD5 efb4e5e43db5db96aceaca32c6766ff6
BLAKE2b-256 9ab41a097424de71aeedf815a364ec967a7978d58a24a6f75dbd9816999836f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.21.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 12dbcc237ae67f9af0b0552b5b499ccbc320d5523448aa35af6790533611aeb4
MD5 7e221d56edc71a0f883fb23aedb7971b
BLAKE2b-256 44ec02d1ec9ff4145af8e72a21872d93dec43fed3759c3b9356949780ccb1db9

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