Skip to content

Releases: InsightSoftwareConsortium/ITKElastix

ITKElastix 0.10.0

15 Jan 21:27
685f393
Compare
Choose a tag to compare
v0.10.0

ENH: Bump Python package version to 0.10.0

ITKElastix 0.9.0

22 Dec 01:40
a816d9a
Compare
Choose a tag to compare

ITKElastix

image
PyPI Version
binder
voila
License
Versioned software citation

Overview

Provides an ITK Python 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.

Installation

Install cross-platform binary Python packages with pip:

pip install itk-elastix

Experimental GPU-accelerated packages can be installed on Linux with:

pip install itk-elastix-opencl

Usage

To register two images, 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.

Changes from v0.8.0 to v0.9.0

Enhancements

  • Set package version for 0.9.0 release (1892330)
  • Add two rows to app (54bde04)
  • Add voila to Binder requirements (d739b29)
  • Add jupyter_config.json for Voila (dd26498)
  • Use view instead of Viewer for viewer initialized in registration app (0eecfbc)
  • Registration application file naming for consistency (6368120)
  • adding a general web-registration example (22bd436)

Documentation Updates

  • Add voila registration app badge (24069b1)
  • Fix Binder link -- "0" -> "01" (8ad7217)

Platform Fixes

  • Update CI for GitHub macOS runner 10.15 changes (98c54d4)

Bug Fixes

  • Move tornado_settings to .jupyter/jupyter_notebook_config.py (6585cf3)
  • Change voila tornado settings specification (3d199ef)
  • update path to config file in comment (70aebf2)
  • Move tornado_settings to .jupyter/jupyter_notebook_config.py (b5617d0)
  • Change voila tornado settings specification (ee34f9d)
  • Reduce Binder JupyterLab build memory requirements (8229483)

Acknowledgements

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:

  • S. Klein, M. Staring, K. Murphy, M.A. Viergever, J.P.W. Pluim,
    "elastix: a toolbox for intensity based medical image
    registration," IEEE Transactions on Medical Imaging, vol. 29,
    no. 1, pp. 196 - 205, January 2010.

  • 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

ITKElastix 0.8.0

18 Nov 21:01
v0.8.0
2f5987f
Compare
Choose a tag to compare

ITKElastix

image
PyPI Version
image
License
Versioned software citation

Overview

Provides an ITK Python 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.

Installation

Install cross-platform binary Python packages with pip:

pip install itk-elastix

Experimental GPU-accelerated packages can be installed on Linux with:

pip install itk-elastix-opencl

Usage

To register two images, 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.

Acknowledgements

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:

  • S. Klein, M. Staring, K. Murphy, M.A. Viergever, J.P.W. Pluim,
    "elastix: a toolbox for intensity based medical image
    registration," IEEE Transactions on Medical Imaging, vol. 29,
    no. 1, pp. 196 - 205, January 2010.

  • 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

ITKElastix 0.7.0

27 Oct 00:43
6a4dd1d
Compare
Choose a tag to compare

ITKElastix

image
PyPI Version
image
License
Versioned software citation

Overview

Provides an ITK Python 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.

Installation

Install cross-platform binary Python packages with pip:

pip install itk-elastix

Experimental GPU-accelerated packages can be installed on Linux with:

pip install itk-elastix-opencl

Usage

To register two images, 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.

Changes from v0.6.3 to v0.7.0

Enhancements

  • Bump Python package version to 0.7.0 (c731e04)
  • Build Python 3.9 packages (97d2729)
  • Support transformix_filter functional interface (34c9c28)
  • Switch to latest version of SuperElastix/elastix (using ITK 5.1.1) (2bdca95)
  • Add Treebeard example notebook CI test configuration (1e1d80c)
  • Update example notebooks for itk-elastix-0.6 (61718bd)
  • Update MyBinder requirements (7ba1dcc)

Documentation Updates

  • add a link to Kasper's GitHub profile (1784baf)

Platform Fixes

  • use ITK_ prefix in testing macros (aee748b)

Style Changes

  • Use ElastixRegistrationMethod+TransformixFilter from elastix repo (e241919)

Acknowledgements

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:

  • S. Klein, M. Staring, K. Murphy, M.A. Viergever, J.P.W. Pluim,
    "elastix: a toolbox for intensity based medical image
    registration," IEEE Transactions on Medical Imaging, vol. 29,
    no. 1, pp. 196 - 205, January 2010.

  • 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

ITKElastix 0.6.3

11 Aug 18:18
b51cda9
Compare
Choose a tag to compare
Merge pull request #53 from InsightSoftwareConsortium/itk-5.1.1

BUG: Build against itk-5.1.1

ITKElastix 0.6.2

17 Jun 02:06
bbaed2a
Compare
Choose a tag to compare
Merge pull request #47 from InsightSoftwareConsortium/post3

ENH: Bump Python builds for v5.1.0.post3

ITKElastix 0.6.0

15 May 22:05
v0.6.0
7c2bbf1
Compare
Choose a tag to compare

ITKElastix

image

PyPI Version

image

License

Versioned software citation

Overview

Provides an ITK Python 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.

Installation

Install cross-platform binary Python packages with:

pip install itk-elastix

Experimental GPU-accelerated packages can be installed on Linux with:

pip install itk-elastix-opencl

Usage

To register two images, 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 = 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. Try out the experimental GPU packages on Paperspace Gradient.

Acknowledgements

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:

  • S. Klein, M. Staring, K. Murphy, M.A. Viergever, J.P.W. Pluim,
    "elastix: a toolbox for intensity based medical image
    registration," IEEE Transactions on Medical Imaging, vol. 29,
    no. 1, pp. 196 - 205, January 2010.

  • 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

Changes from v0.5.1 to v0.6.0

Enhancements

  • Add GitHub Actions configuration for OpenCL PyPI upload (ab995fe)
  • Add OpenCL wheel build support to GitHub Actions CI (72fe48b)
  • Add --output-on-failure flag to GitHub Actions ctest (81505f5)
  • Also build / run elastix tests (db8b576)
  • Add Build, test, package, GitHub Action (d4ff994)
  • Bump Python package version to 0.6.0 (95053e7)
  • Update OpenCL Linux Python package scripts for ITK 5.1.0 (43506ed)
  • CI builds against ITK 5.1.0 (61c83f4)
  • Update CI Virtual Machine images (46d0c3a)
  • CI builds against ITK 5.1 RC 3 (4bd5b2a)
  • CI builds against ITK 5.1 RC 2 (4b29f86)
  • Make TransformParameterObject an indexed output (fb42536)

Documentation Updates

  • Update Copyright assignment to NumFOCUS (e34ca88)
  • Add Masks notebook (043a7f0)
  • Add notebook links to the README (34616b2)
  • Link to elastix manual and elastix parameter file database (8987e97)
  • Use compare widget in notebooks (c3520b7)
  • Notebook content for serializing ParameterObject's (b44ffc0)
  • Require itkwidgets>=0.25.1 (af693a2)
  • Require itk-elastix>=0.5.1 on Binder (0e5a954)
  • Add registration parameters notebook (712b379)

Platform Fixes

  • Suppress itkHexahedronCell aggressive loop optimization warnings (2fd3533)
  • Do net run setup.py cleanup on Windows builds (92ae6f4)
  • GetOutput return type const-ness (b38d8db)
  • Address OpenCL TimeStampFormat ITK 5.1 typed enum compile error (facd9b5)
  • Elastix build error with GCC 4.8 (d0b6c25)
  • Update elastix commit for ITK 5.1.0 (c31d82d)
  • Update elastix commit for ITK 5.1 RC 3 (1e1daec)

Bug Fixes

  • Remove Azure Pipelines configuration (aafa365)
  • Only include module tests on Windows CI (420b67a)
  • Reduce Windows Python package build path (438bcd0)
  • Exclude elastix_run* tests from elastix in CI (51dedcc)
  • Reduce external project path for Windows Python builds (4df5028)
  • Set ELASTIX_BUILD_EXECUTABLE non-cache variable (88510af)
  • Set default parameter for FixedInternalImagePixelType (b2d6d8b)
  • Call elx (18d0680)
  • Define GetOutput() for Python wrapping (fd5530b)
  • Fix .GetClassName() for ParameterObject (56c65e7)
  • Update Python test for indexed transform output (4ecc909)
  • Require ipympl-0.4.1 in MyBinder build (944aa40)

ITKElastix 0.5.1

19 Jan 05:13
39e9fe3
Compare
Choose a tag to compare

Changes:

  • 39e9fe3 Merge pull request #28 from InsightSoftwareConsortium/wrap-parameter-map-file-name-vector
  • df4e240 BUG: Add wrapping for the parameter map filename vector type
  • 2b103fa Merge pull request #26 from InsightSoftwareConsortium/rm-jupyter-matplotlib
  • 8931df6 BUG: Workaround jupyter-matplotlib MyBinder versioning
  • f9c4548 Merge pull request #25 from InsightSoftwareConsortium/binder-versions
  • f26e70c DOC: Use specific matplotlib versions on Binder
  • 8c6ae2c Merge pull request #24 from InsightSoftwareConsortium/numpy-array-example
  • 41b025d DOC: Add NumPy array example
  • d32f96f Merge pull request #23 from InsightSoftwareConsortium/binder-badge
  • e52de25 DOC: Set expectation for Binder 3D registration time
See More
  • 0a7b109 DOC: Add MyBinder badge
  • f90d408 BUG: Specify Binder itk version
  • e329321 BUG: Update jupyterlab version in Binder
  • c987067 Merge pull request #22 from InsightSoftwareConsortium/zenodo-badge
  • 1ed202c DOC: Add Zenodo badge to the README
  • eb691d2 Merge pull request #21 from InsightSoftwareConsortium/hello-notebook
  • 56caa00 DOC: Add 0_HelloRegistrationWorld notebook
  • a62e406 ENH: Add configuration for MyBinder

This list of changes was auto generated.

ITKElastix 0.5.0

13 Jan 21:54
2b552f7
Compare
Choose a tag to compare

Changes:

  • 2b552f7 Merge pull request #20 from InsightSoftwareConsortium/itk-package-version
  • 71283e5 BUG: Python package depends on itk 5.1rc1
  • c2015d5 Merge pull request #19 from InsightSoftwareConsortium/result-primary-output
  • 1da371e BUG: Do not use "ResultImage" for primary output
  • 847b878 Merge pull request #17 from InsightSoftwareConsortium/python-version
  • 30fd0cf COMP: Add workarounds for ITK 5.1 RC 1 build issues
  • 628d242 STYLE: Re-enable KWStyle test [ #7 ]
  • ed4ba9b Merge pull request #18 from InsightSoftwareConsortium/style-checks
  • d39b9a0 ENH: Add GitHub Actions style checks
  • ea41c96 STYLE: Apply clang-format
See More
  • 7e62823 STYLE: Add ITK .clang-format style configuration file
  • 72ffb21 STYLE: Add .gitattributes style attributes
  • 031b6cd ENH: Bump Python package version to 0.5.0
  • ed7ef4b ENH: Build against ITK 5.1 RC 1

This list of changes was auto generated.

ITKElastix 0.4.0

05 Dec 22:14
5783d94
Compare
Choose a tag to compare

Changes:

  • 5783d94 Merge pull request #16 from InsightSoftwareConsortium/macos-opencl-python-packages
  • a43d64e ENH: Build macOS OpenCL wheels
  • 5d699a7 Merge pull request #15 from InsightSoftwareConsortium/opencl-support
  • c094f1f STYLE: Remove commented code
  • 0cc73bd ENH: Add .gitignore
  • 97d2a7e BUG: Only find OpenCL when ELASTIX_USE_OPENCL is enabled
  • ea1aaf5 ENH: Move dockcross scripts to the wrapping directory
  • d01d08d Merge pull request #14 from InsightSoftwareConsortium/ANN-KNN-metric-optional
  • fea4563 ENH: Allow setting USE_KNNGraphAlphaMutualInformationMetric
  • 1357850 BUG: SetTransformParameterObject with a raw pointer
See More
  • 8ab4368 ENH: Add OpenCL build support
  • bd1aa93 Merge pull request #13 from InsightSoftwareConsortium/dynamic-work-units
  • 4998f1b DOC: Add installation and basic usage instructions
  • 203d4b6 ENH: Improve support for dynamic work units

This list of changes was auto generated.