Skip to main content

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

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

Uploaded CPython 3.11+Windows x86-64

itk_elastix-0.25.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.25.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.25.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.25.0-cp311-abi3-macosx_11_0_arm64.whl (11.8 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

itk_elastix-0.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

itk_elastix-0.25.0-cp310-cp310-macosx_11_0_arm64.whl (11.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 aef41dbd5d90259a706ec248db7028bcf7dfcec361799333df8c30f2b37efc03
MD5 e6e3d3b97a80ccdcc0fea13bf14bf138
BLAKE2b-256 aa6c2e9b06be67d2fd1614de3635b4fab548decf3a2fb1ce246bfbf6a413aea2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8d63608c14f4534e60ec4bb5364ec8a58d7852abd0d69d1123e421eedfb3ce6e
MD5 532ac9ff7c4fa2bb52c18a3091a97f3e
BLAKE2b-256 4af5bdfad3efc319b67534f93088cbccde03bc488a3d13232e767fb0f8d223c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4ca673585f795a52d368a7c0246832cb6b26dfc676b28002cf47181bf29d6d62
MD5 c6eb78ba70adff55fce9568f2eff7f18
BLAKE2b-256 2c6b16e014b77c1d1881f1bf0f843aada4515392b54d95f148579576b08f1a9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4708c632413f4191f3a4adab971fb895f0a810f443cb0074dfdadc568a805070
MD5 45ce83506f0c17307c6fee25d901d505
BLAKE2b-256 7f79cd5b0ce90e29a6ce3fc2565ee55c7879276a1200d9c8c3a830f366749df6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afa17f1067324572661a7744329b7881e8b60b81aa1a38be1f938542c8c51fd3
MD5 db54f0bfb3d8324cd4338a5e5190c848
BLAKE2b-256 e19c61667694ebdd0b9f912d6f7e7cf426c4c1e10392250a5dac1fb8c39692c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cfba11dbc15a6acee334f51a2810ceae3fa4933157e66b0966c0cfea4ca96164
MD5 ff9f7ecbac6945b9e69705f493b4e0bf
BLAKE2b-256 9f8f093f194ad9b9ae71f91754133a5d0b6bfc2f008691211b051b3c2652611f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1ca1b8aaceb14eb00e0a32bb4143f61b1ce8dcc861319756c4d20204f649a290
MD5 2efe917ec28c758728032b5a754561b0
BLAKE2b-256 0e3d7e9e0b8b6c93edec9e45fe49d0e90e511dfb804d8c68419a28beda4a9689

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 70346e0b2cebe718616611fe7bfda811d367267b3b9305d37eca352da1705f34
MD5 5d77fd624cb88061d499e342b0783380
BLAKE2b-256 b99c92b71a51498591be59fd5a871ff43d5474ac883ee2f680626221ba538a87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb26d97c039171ffcffa40070edc14b422f3a1a3fb06bef043d5add4b3392e34
MD5 e56b7976ab32f33336697a2cf7a20463
BLAKE2b-256 0f3054d6642425550220cdbfc393e948be20ef142b45d5e30ac2d36faa642666

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9a1bacc70b441b509de17d273a4410af38cc0e9f946b3d3a222328b6f8962699
MD5 33ae4d1cd3d58fdf8835738551fa6286
BLAKE2b-256 b91e6eb6a4cf64434e2212e3d7e87f99921eebcc548f3dd2d527dbc58a2a58cc

See more details on using hashes here.

Release history Release notifications | RSS feed

0.25.4

8 files

0.25.3

8 files

0.25.2

10 files

0.25.1

10 files

This release

0.25.0 This release

10 files

0.24.0

10 files

0.23.0

15 files

0.22.0

15 files

0.21.0

23 files

0.20.0

23 files

0.19.2

23 files

0.19.1

16 files

0.19.0

19 files

0.18.1

16 files

0.18.0

16 files

0.17.3

19 files

0.17.2

16 files

0.17.1

20 files

0.17.0

8 files

0.16.0

28 files

0.15.0

20 files

0.14.4

20 files

0.14.3

16 files

0.14.2

14 files

0.14.1

12 files

0.14.0

12 files

0.13.0

12 files

0.12.0

12 files

0.11.1

11 files

0.11.0

11 files

0.10.0

12 files

0.9.0

12 files

0.8.0

12 files

0.7.0

12 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page