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 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

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

Uploaded CPython 3.11+Windows x86-64

itk_elastix-0.25.3-cp311-abi3-manylinux_2_28_x86_64.whl (21.6 MB view details)

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

itk_elastix-0.25.3-cp311-abi3-manylinux_2_28_aarch64.whl (19.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

itk_elastix-0.25.3-cp311-abi3-macosx_15_0_arm64.whl (12.0 MB view details)

Uploaded CPython 3.11+macOS 15.0+ ARM64

itk_elastix-0.25.3-cp310-cp310-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.10Windows x86-64

itk_elastix-0.25.3-cp310-cp310-manylinux_2_28_x86_64.whl (21.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

itk_elastix-0.25.3-cp310-cp310-manylinux_2_28_aarch64.whl (19.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

itk_elastix-0.25.3-cp310-cp310-macosx_15_0_arm64.whl (11.9 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.3-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 722b1b473680f43efedb14b5d992a8e9e03a0b6b3b26f85fd07377303dfb5844
MD5 66815ebd0aa260ea18f6418de8d2b557
BLAKE2b-256 fe3981ea659911172953d9c7ddfe10ba342bfc33524b1c389ca2a0e1d002b293

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.3-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 608cb722b980197002015b4cffd6e62ed81942b1023c15f73be4b3298a694f84
MD5 27d7741efc57ee46b272ef5421592676
BLAKE2b-256 0e2982ad11534282335e6b571b0c6f4edac9e8a636cd3c18496bd90831cac83f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.3-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8e8301a60050de03defb48aa22c601cb87740a93c71d944ac3846b80e1d6e726
MD5 1fe0abecadc37e91862db50b77beca25
BLAKE2b-256 27e6368a563a1e67f207e7ea7b39970f1efaf2dadcfee2ae1994f2b8ed0db327

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.3-cp311-abi3-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.3-cp311-abi3-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 590dbcd9017cb3db6d0bc36ebde14acc03798168ba426dd2ecd3105be6c6c4f7
MD5 aafcb586ac53c95030c1bdbee3463386
BLAKE2b-256 5ffb8be6a13e22402d6fe34f3b11418e577ce642b1eec991b9ce555edb12679d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b74c6318a1864a924726d43625badd8fad706053c95790d71f30e4a3646cf20f
MD5 24fb3b27ada0d36b7ac0216cc285af08
BLAKE2b-256 c3984efab5503987f228e20b5dbf83baf557988354c4a5adfcd135dabb453488

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b25419f7316402cb7104e24c41681ffa2f127755e8c7a29618ec481c567a208b
MD5 d2aed5bcb24cee491d0cb21857903ee8
BLAKE2b-256 47378d7c138ef2c7a81faa87c07e8492ae56fec9ad4ad4cf848e357a9bc25f3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_elastix-0.25.3-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3b86385b4043cbb31d006d60a516e0693c2f9a0c571c91c3677a50fdf3a22e81
MD5 ddbe89618ae14200d4e6e5f6200a119b
BLAKE2b-256 b1d6171e8bf2845da5b12ef92dea09bc1999265aa3e45e5fd46e114797518710

See more details on using hashes here.

File details

Details for the file itk_elastix-0.25.3-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for itk_elastix-0.25.3-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 e0a80a5dad210809bebda8fccb5053dbb0c85b06581cbe2bba5988fa24a83e36
MD5 efb8c22d8b9964bbf87887faa1e979be
BLAKE2b-256 4d6623ab25116dd39eb1f00f6d1f83856815dc6946f9487ae2c99a8d57bf2ac9

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