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

Uploaded CPython 3.11+Windows x86-64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

itk_elastix-0.25.1-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.1-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.1-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cb36e931d94722b690ad896512f21deb3f63868563c8e0104470cabed346305f
MD5 bbd71a61714396c56b53859fc4b34bb9
BLAKE2b-256 54a21ca9400086ea57db5124617782e955db65db33ec8338f89bf08ca53c833d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 64e7780304b82474fb02f2820938af3e4ff9dacb299abcc136e80d0f5005936b
MD5 4ec018cd51ee16d36a6d48727f3f27a3
BLAKE2b-256 f936677da4009c67864b54a48b54d68bda4cb84b5a681c7cdf0c35e5bbf45d0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eed2a6410f14cbecba0bf821c1b504c6c38753e4aff2b153ee4a01fe8c318b7e
MD5 b54551bc6f83cd7e1668f1053cfc1a24
BLAKE2b-256 8bc0a3d3bc8a4dabbed7a3783a3117a721e0078e601f79c2897cc0f8756d9828

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9244931f92e1a2fbba0a770d36077be8b78241d7b6bfab30694e3118c2fb4e77
MD5 c65740f0b230e18f9a6d0926388e3eb0
BLAKE2b-256 a153bbfea1893c808d732ffb956facfc61c38e345d385b13ebcb42ccd8665c8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ae0820cd4d7c07a6dbb194b47784ff474ac8978187370795bee7ee222116963
MD5 9913b832f8971cbcf29630476cc88d3d
BLAKE2b-256 ab993e248f655372062cd05f67e01ace6ef1bd27fd3b52de7103a8709e4f51ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 42f543c164686dd326ca96dc283dced151c0e785d436359f2536333590c4508b
MD5 56635e3a9e0addfb72226c7de1b1db8c
BLAKE2b-256 5c421b4bb4a3976ae9ec2fabb85de09b84a0239a4a613c5c04df331ed0edd18f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f5f181ca24ffb0fc8bc8a74a0641461bfa7094ff9ef5ea1df8275ea42e33dc6c
MD5 0201452526636ac7cee06673cc7b70ff
BLAKE2b-256 a66164759380ffcbeb102f953755a76a5c8d7f0f4bb8bb864d2f73246bb3733b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0410db9d9391c8a30f5229f6d92a37ac4937592bfcb39f5fad10b863d8e13eee
MD5 4bc54f44647a9f461952c2edb8b6e9f1
BLAKE2b-256 e780e3af09c85317accf6f51373852b0e159b9c5045f01c9b6e81c6499a38e0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 20dd9baab649ddda0b1435ffcf91df83376ebb3c00bbb86aa235016970dcc972
MD5 3745be40391cfe699d33ee3692c90cc5
BLAKE2b-256 ca31dfb16819c47e0d0dd033c7144e0e8c6205a3f0347997ff376be2c0dd4fa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25646c2013692a5cb32413bd1d1dab926eb9238add1b20c80881e09f2aea4d35
MD5 91c13eff67d84aa7b913c387c1b0e781
BLAKE2b-256 205f7d3636ac572d49765d628d7f5fe61bd6a90c56514acc4b66fbc8fc93f068

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

This release

0.25.1 This release

10 files

0.25.0

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