Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC: Various README updates #250

Merged
merged 1 commit into from
Oct 9, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 31 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
ITKElastix
==========

[![WebAssembly](https://github.com/InsightSoftwareConsortium/ITKElastix/actions/workflows/wasm.yml/badge.svg)](https://github.com/InsightSoftwareConsortium/ITKElastix/actions/workflows/wasm.yml)
![image](https://github.com/InsightSoftwareConsortium/ITKElastix/workflows/Build,%20test,%20package/badge.svg)
[![PyPI Version](https://img.shields.io/pypi/v/itk-elastix.svg)](https://pypi.python.org/pypi/itk-elastix)
[![binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/InsightSoftwareConsortium/ITKElastix/main?urlpath=lab/tree/examples%2FITK_Example01_SimpleRegistration.ipynb)
Expand All @@ -11,25 +12,41 @@ ITKElastix
Overview
--------

Provides an [ITK](https://www.itk.org) Python interface to [elastix](https://elastix.lumc.nl/), a toolbox for rigid and nonrigid registration of images.
Provides an [ITK](https://www.itk.org) Python, JavaScript, and WebAssembly interface to [elastix](https://elastix.lumc.nl/), a toolbox for rigid and nonrigid registration of images.

elastix is open source software, based on the well-known [Insight Toolkit (ITK)](https://discourse.itk.org). 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** ✨](https://itk-wasm-elastix-app-js.on.fleek.co/ ':include :type=iframe width=100% height=800px')
tbirdso marked this conversation as resolved.
Show resolved Hide resolved

Installation
------------

Install cross-platform binary Python packages with [pip](https://pypi.org/project/pip/):
Install cross-platform native binary Python packages with [pip](https://pypi.org/project/pip/):

```sh
pip install itk-elastix
```

*Experimental* WebAssembly Python packages can be installed across platforms with:

```sh
pip install itkwasm-elastix
```

pip install itk-elastix
> **Note**
The API for the WebAssembly and native binary packages are slightly different. For the WebAssembly interface, see [the package's Sphinx documentation](https://py.docs.elastix.wasm.itk.eth.limo/). For the interface to the native binaries, see the *examples/* directory in this repository.

*Experimental* GPU-accelerated packages can be installed on Linux with:
JavaScript / TypesScript packages cas be installed with

```sh
npm install @itk-wasm/elastix
```

pip install itk-elastix-opencl

Usage
-----

To register two images, traditionally called the fixed image and the moving image:
To register two images with the native Python binaries, traditionally called the fixed image and the moving image:
tbirdso marked this conversation as resolved.
Show resolved Hide resolved

import itk

Expand All @@ -46,6 +63,9 @@ To find parameters that work well with specific datasets, see the [elastix Model

For a graphical user interface in a desktop application, see the [napari plugin](https://github.com/SuperElastix/elastix_napari).

Additional [documentation is available for the WebAssembly JavaScript bindings](https://js.docs.elastix.wasm.itk.eth.limo/) and [WebAssembly Python bindings](https://py.docs.elastix.wasm.itk.eth.limo/).


Acknowledgements
----------------

Expand All @@ -62,10 +82,10 @@ 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.
- K. Ntatsis, N. Dekker, V. Valk, T. Birdsong, D. Zukić, S. Klein, M Staring, M McCormick,
[\"itk-elastix: Medical image registration in Python\"](https://conference.scipy.org/proceedings/scipy2023/konstantinos_ntatsis.html),
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
Expand All @@ -74,7 +94,7 @@ If you use this software anywhere we would appreciate if you cite the following

This ITK module is based on [SimpleElastix](https://simpleelastix.github.io/), created by [Kasper Marstal](https://github.com/kaspermarstal). For more information, see:

- Kasper Marstal, Floris Berendsen, Marius Staring and Stefan Klein,
- 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