Skip to main content

Image registration routines for Imagedata

Project description

#################################
Image registration with imagedata
#################################

|Docs Badge| |buildstatus| |coverage| |pypi|


Helper modules to do
image registration for `Imagedata` **Series** objects.

Available modules
#################

NPreg
-----

`NPreg` by Erlend Hodneland is implemented in Python,
and available as a self-supported PyPi package.
There are three implementations of `NPreg`:

* Pure Python/NumPy code. Source code will run on any Python platform.
* Cython code. Binary code compiled for supported platforms.
* CuPy/CUDA code. Source code which will run on platforms with a working `CuPy` and CUDA Toolkit.

FSL
---

`FSL`
(https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FSL)
has several methods for image registration.
Using `FSL` image registration from Python requires the `FSL` interface from
nipype, as well as a the `FSL` executables.
Each `FSL` may have different requirements.
The common factor is that `FSL` will read and write NIfTI image files.

A function `register_fsl` is provided here.
This function will register a moving Series to a fixed Series.
The default registration method is fsl.MCFLIRT.
The function will accept other registration methods.

Rather than providing an interface between `Imagedata`and `FSL`,
a skeleton for a program is suggested.

ITK Elastix
-----------

The popular `Elastix` GUI is based on the C++ `ITK` image registration routines.
Like the `FSL` methods, there are numerous `ITK` methods available, all with
different requirements.
The `SimpleElastix`
(https://simpleelastix.readthedocs.io/index.html)
Python library is one particular interface to the `Elastix/ITK` routines.

Rather than providing an interface between `Imagedata`and `SimpleElastix`,
a skeleton for a program is suggested.

Prerequisites
#############

NPreg on CUDA GPU
-----------------

imagedata-registration will benefit from a CUDA GPU. If this is available,
install `CuPy` (https://docs.cupy.dev).

First, install the `CUDA Toolkit`: see https://developer.nvidia.com/cuda-toolkit.

There are different options for installing `CuPy`. See:
https://docs.cupy.dev/en/stable/install.html

FSL
---

The imagedata-registration FSL module is a wrapper around the official FSL tools.
A native FSL installation is required on the host computer.

Installation
############

.. code-block::

pip install imagedata-registration

Examples
########

`NPreg examples <docs/NPreg.rst>`_

`FSL examples <docs/FSL.rst>`_

`SimpleElastix examples <docs/SimpleElastix.rst>`_


.. |Docs Badge| image:: https://readthedocs.org/projects/imagedata_registration/badge/
:alt: Documentation Status
:scale: 100%
:target: https://imagedata_registration.readthedocs.io

.. |buildstatus| image:: https://github.com/erling6232/imagedata_registration/actions/workflows/build_wheels.yml/badge.svg
:target: https://github.com/erling6232/imagedata_registration/actions?query=branch%3Amain
:alt: Build Status

.. _buildstatus: https://github.com/erling6232/imagedata_registration/actions

.. |coverage| image:: https://codecov.io/gh/erling6232/imagedata_registration/branch/main/graph/badge.svg?token=1OPGNXJ8Z3
:alt: Coverage
:target: https://codecov.io/gh/erling6232/imagedata_registration

.. |pypi| image:: https://img.shields.io/pypi/v/imagedata-registration.svg
:target: https://pypi.python.org/pypi/imagedata-registration
:alt: PyPI Version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imagedata-registration-0.2.0.dev1.tar.gz (281.7 kB view details)

Uploaded Source

Built Distributions

imagedata_registration-0.2.0.dev1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

imagedata_registration-0.2.0.dev1-cp311-cp311-macosx_10_9_x86_64.whl (511.3 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

imagedata_registration-0.2.0.dev1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

imagedata_registration-0.2.0.dev1-cp310-cp310-macosx_10_9_x86_64.whl (919.2 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

imagedata_registration-0.2.0.dev1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

imagedata_registration-0.2.0.dev1-cp39-cp39-macosx_10_9_x86_64.whl (919.8 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

imagedata_registration-0.2.0.dev1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

imagedata_registration-0.2.0.dev1-cp38-cp38-macosx_10_9_x86_64.whl (919.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file imagedata-registration-0.2.0.dev1.tar.gz.

File metadata

File hashes

Hashes for imagedata-registration-0.2.0.dev1.tar.gz
Algorithm Hash digest
SHA256 9be1a4e307d6c9b08bc62bd5fcd7495bfa1efb8bc1df92aa403624118ca3e782
MD5 7a04ebf9e6c666078e84276b1e25dfc8
BLAKE2b-256 edcbe6e70c341d5468580f5b42f4bb8022b752933af78f6a810f8c635070c306

See more details on using hashes here.

File details

Details for the file imagedata_registration-0.2.0.dev1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imagedata_registration-0.2.0.dev1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4362ea2608b599485ca155dad770e4be4a0f4e64957968fb282d36919b90d701
MD5 f16075169715ac61fd7da424da76a06c
BLAKE2b-256 356f2780d8b613484a901265a03961ddfa68eaf65f95d323e41eac10ef3f5267

See more details on using hashes here.

File details

Details for the file imagedata_registration-0.2.0.dev1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imagedata_registration-0.2.0.dev1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2572219820a2144292ba5a59713b6716e4fb040fc0c1066f898e79e4f6e28f19
MD5 ff3d5d607568730180035e06a2814e26
BLAKE2b-256 b2b828b49b1638db5d7ff08e7b0b8e50ddd1a9c1ed0dfcea5d21babfa3add46e

See more details on using hashes here.

File details

Details for the file imagedata_registration-0.2.0.dev1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imagedata_registration-0.2.0.dev1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9fdfb53eba3f87ec79694f462062688f41dbd128f4851595d5a208edaccfad33
MD5 920a64cd84a3d66486fe9f522d38d215
BLAKE2b-256 efd59bcaf400e55357b37774c4aa5b1b7943729302b20090f95cd7ca96860529

See more details on using hashes here.

File details

Details for the file imagedata_registration-0.2.0.dev1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imagedata_registration-0.2.0.dev1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 59e2b46cfb3430ebc4ac9a76e22e48e401e08bde187f71c7d979009004000dd6
MD5 4af8a575c5e5a743164d63ae5caed01a
BLAKE2b-256 4f530241de83d14e4b78d34dfe827e3e99c724c58424080f71cd46cd143ce1d3

See more details on using hashes here.

File details

Details for the file imagedata_registration-0.2.0.dev1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imagedata_registration-0.2.0.dev1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1bba7329696dc2c6274da08a47dde7d67fd2fb14a0b0cd915158251c3c25b78b
MD5 30b7fae2e0a759769d14fb5869d16f1f
BLAKE2b-256 a00fc65108a672732612fd64866bdfd5fff12653f4f15eb28bc0180a24acd14c

See more details on using hashes here.

File details

Details for the file imagedata_registration-0.2.0.dev1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imagedata_registration-0.2.0.dev1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f95cefdc9e017034d9bd60eb7ca69ea8949b8f9f0d2074d49b12af1952d01f6f
MD5 43fd164095f81d27d552ea7fec6fbe22
BLAKE2b-256 dc7b32e8e1ab65323b81318dbeb99e252119063e628339872b0f76ffaeb16bfd

See more details on using hashes here.

File details

Details for the file imagedata_registration-0.2.0.dev1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imagedata_registration-0.2.0.dev1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71e55c86dd61b7ae60f43bd5d24e9ec1ab5c6e2a77115b031931060b73726910
MD5 9cca4a51e4dcd45ba3515bed43262352
BLAKE2b-256 852f55024961f5d97327088b19f2b70338061d3e06214bbbf2b2bb9f81070fe3

See more details on using hashes here.

File details

Details for the file imagedata_registration-0.2.0.dev1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imagedata_registration-0.2.0.dev1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3c1039bd0a9999fe5f9fbb2b136d84516e7e1dbd45f37773187888a86f01660f
MD5 03ca6790fb8d6d67647402c1c0b99265
BLAKE2b-256 fd4d05948ccd4999da11ddfc9da7e1024d234e61d87d1a0a48f1bfb4b043c798

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page