#################################
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` method may have different requirements.
The common factor is that `FSL` methods 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.
ITK-Elastix
-----------
The popular `Elastix` GUI is based on the C++ `ITK` image registration routines.
Like the `FSL` methods, there are numerous `Elastix` methods available, all with
different requirements.
The `itk-elastix`
(https://github.com/InsightSoftwareConsortium/ITKElastix)
Python library is one particular interface to the `Elastix/ITK` routines.
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.
ITK-Elastix
-------------
`ITK-Elastix` is installed automatically as a dependency for this package.
Installation
############
.. code-block::
pip install imagedata-registration
Examples
########
`NPreg examples <docs/NPreg.rst>`_
`FSL examples <docs/FSL.rst>`_
`ITK-Elastix examples <docs/ITKElastix.rst>`_
.. |Docs Badge| image:: https://readthedocs.org/projects/imagedata_registration/badge/
:alt: Documentation Status
: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
Raw data
{
"_id": null,
"home_page": null,
"name": "imagedata-registration",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.9",
"maintainer_email": "Erling Andersen <Erling.Andersen@Helse-Bergen.NO>",
"keywords": "python, medical, imaging, image registration",
"author": null,
"author_email": "Erling Andersen <Erling.Andersen@Helse-Bergen.NO>, Erlend Hodneland <Erlend.Hodneland@uib.no>",
"download_url": null,
"platform": null,
"description": "#################################\nImage registration with imagedata\n#################################\n\n|Docs Badge| |buildstatus| |coverage| |pypi|\n\n\nHelper modules to do\nimage registration for `Imagedata` **Series** objects.\n\nAvailable modules\n#################\n\nNPreg\n-----\n\n`NPreg` by Erlend Hodneland is implemented in Python,\nand available as a self-supported PyPi package.\nThere are three implementations of `NPreg`:\n\n* Pure Python/NumPy code. Source code will run on any Python platform.\n* Cython code. Binary code compiled for supported platforms.\n* CuPy/CUDA code. Source code which will run on platforms with a working `CuPy` and CUDA Toolkit.\n\nFSL\n---\n\n`FSL`\n(https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FSL)\nhas several methods for image registration.\nUsing `FSL` image registration from Python requires the `FSL` interface from\nnipype, as well as a the `FSL` executables.\nEach `FSL` method may have different requirements.\nThe common factor is that `FSL` methods will read and write NIfTI image files.\n\nA function `register_fsl` is provided here.\nThis function will register a moving Series to a fixed Series.\nThe default registration method is fsl.MCFLIRT.\nThe function will accept other registration methods.\n\nITK-Elastix\n-----------\n\nThe popular `Elastix` GUI is based on the C++ `ITK` image registration routines.\nLike the `FSL` methods, there are numerous `Elastix` methods available, all with\ndifferent requirements.\nThe `itk-elastix`\n(https://github.com/InsightSoftwareConsortium/ITKElastix)\nPython library is one particular interface to the `Elastix/ITK` routines.\n\nPrerequisites\n#############\n\nNPreg on CUDA GPU\n-----------------\n\nimagedata-registration will benefit from a CUDA GPU. If this is available,\ninstall `CuPy` (https://docs.cupy.dev).\n\n* First, install the `CUDA Toolkit`: see https://developer.nvidia.com/cuda-toolkit.\n\n* There are different options for installing `CuPy`. See:\n https://docs.cupy.dev/en/stable/install.html\n\nFSL\n---\n\nThe imagedata-registration FSL module is a wrapper around the official FSL tools.\nA native FSL installation is required on the host computer.\n\nITK-Elastix\n-------------\n\n`ITK-Elastix` is installed automatically as a dependency for this package.\n\nInstallation\n############\n\n.. code-block::\n\n pip install imagedata-registration\n\nExamples\n########\n\n`NPreg examples <docs/NPreg.rst>`_\n\n`FSL examples <docs/FSL.rst>`_\n\n`ITK-Elastix examples <docs/ITKElastix.rst>`_\n\n\n.. |Docs Badge| image:: https://readthedocs.org/projects/imagedata_registration/badge/\n :alt: Documentation Status\n :target: https://imagedata_registration.readthedocs.io\n\n.. |buildstatus| image:: https://github.com/erling6232/imagedata_registration/actions/workflows/build_wheels.yml/badge.svg\n :target: https://github.com/erling6232/imagedata_registration/actions?query=branch%3Amain\n :alt: Build Status\n\n.. _buildstatus: https://github.com/erling6232/imagedata_registration/actions\n\n.. |coverage| image:: https://codecov.io/gh/erling6232/imagedata_registration/branch/main/graph/badge.svg?token=1OPGNXJ8Z3\n :alt: Coverage\n :target: https://codecov.io/gh/erling6232/imagedata_registration\n\n.. |pypi| image:: https://img.shields.io/pypi/v/imagedata-registration.svg\n :target: https://pypi.python.org/pypi/imagedata-registration\n :alt: PyPI Version\n\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Image registration routines for Imagedata",
"version": "0.3.0",
"project_urls": {
"Changelog": "https://github.com/erling6232/imagedata_registration/CHANGELOG.rst",
"Documentation": "https://imagedata_registration.readthedocs.io",
"SourceCode": "https://github.com/erling6232/imagedata_registration"
},
"split_keywords": [
"python",
" medical",
" imaging",
" image registration"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e0d044b10e343b0aab213d3911ef79f8276d99df61f4cb200e2a794a28eb0d9c",
"md5": "3eda89523fd3e4d18d4083b67f999371",
"sha256": "86e52a5ffbe5dbb73e2e8b1bb3dfd0b9a88bd4ee1cbd9b5769c3500f2fd75ca4"
},
"downloads": -1,
"filename": "imagedata_registration-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "3eda89523fd3e4d18d4083b67f999371",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<3.13,>=3.9",
"size": 285292,
"upload_time": "2024-10-09T16:27:58",
"upload_time_iso_8601": "2024-10-09T16:27:58.244992Z",
"url": "https://files.pythonhosted.org/packages/e0/d0/44b10e343b0aab213d3911ef79f8276d99df61f4cb200e2a794a28eb0d9c/imagedata_registration-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "89c9767e329fb942983fc5d1938b3b3506ab9682ce03ff614d79df9739785d18",
"md5": "b97e97a6e655dce87db1cba5c7a4d130",
"sha256": "42555f642f1970d7fda510b79cc9eee65f9c56888621e5e154583ca7a6662e2c"
},
"downloads": -1,
"filename": "imagedata_registration-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "b97e97a6e655dce87db1cba5c7a4d130",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<3.13,>=3.9",
"size": 1188564,
"upload_time": "2024-10-09T16:27:59",
"upload_time_iso_8601": "2024-10-09T16:27:59.499925Z",
"url": "https://files.pythonhosted.org/packages/89/c9/767e329fb942983fc5d1938b3b3506ab9682ce03ff614d79df9739785d18/imagedata_registration-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0202d6b383ae18e5435274a12dacecb77492df297f7bf9b71bf8b33f058ac54f",
"md5": "b1ba789976c402ab9507d43ba9f953bb",
"sha256": "74a3216a0707b0bded3323dd19b120967832b7cf59cb20537e16e1c659cb73ae"
},
"downloads": -1,
"filename": "imagedata_registration-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "b1ba789976c402ab9507d43ba9f953bb",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<3.13,>=3.9",
"size": 283991,
"upload_time": "2024-10-09T16:28:00",
"upload_time_iso_8601": "2024-10-09T16:28:00.757103Z",
"url": "https://files.pythonhosted.org/packages/02/02/d6b383ae18e5435274a12dacecb77492df297f7bf9b71bf8b33f058ac54f/imagedata_registration-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0ba90c0913345467900c2f1a0f05ef371ade9e84c4e973aaf1100b7f256259f6",
"md5": "ccd0cf88356d432a1ff1c9b3dac9c5de",
"sha256": "fa202bb993c75593d35513aaaed762c9584cfa24e3336e952088c04d67d63ef1"
},
"downloads": -1,
"filename": "imagedata_registration-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ccd0cf88356d432a1ff1c9b3dac9c5de",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<3.13,>=3.9",
"size": 1309059,
"upload_time": "2024-10-09T16:28:01",
"upload_time_iso_8601": "2024-10-09T16:28:01.960583Z",
"url": "https://files.pythonhosted.org/packages/0b/a9/0c0913345467900c2f1a0f05ef371ade9e84c4e973aaf1100b7f256259f6/imagedata_registration-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fb69fbbb361f0c8e5987c7ddfbeae54cb5ddc48e06641e232aaa19ce35cc1e99",
"md5": "1a34e087c85933157ee5815232b5ea8c",
"sha256": "eef6237ce1a987fed07b3cc4a3cba351540dae5b26286dae005f96a577cb4254"
},
"downloads": -1,
"filename": "imagedata_registration-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "1a34e087c85933157ee5815232b5ea8c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.13,>=3.9",
"size": 276203,
"upload_time": "2024-10-09T16:28:03",
"upload_time_iso_8601": "2024-10-09T16:28:03.092416Z",
"url": "https://files.pythonhosted.org/packages/fb/69/fbbb361f0c8e5987c7ddfbeae54cb5ddc48e06641e232aaa19ce35cc1e99/imagedata_registration-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "77b62a62f9b2bd1f6a055b6d91619d979ea9564f430c674dec0e23bf2c3a3c76",
"md5": "5a1dff3e16fca576648fa473f81c05b3",
"sha256": "01deba50aae0b0db85880d0921cd6d4d2e13435046bdb691c7f1e6d81e4c41d9"
},
"downloads": -1,
"filename": "imagedata_registration-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "5a1dff3e16fca576648fa473f81c05b3",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.13,>=3.9",
"size": 1378435,
"upload_time": "2024-10-09T16:28:04",
"upload_time_iso_8601": "2024-10-09T16:28:04.233195Z",
"url": "https://files.pythonhosted.org/packages/77/b6/2a62f9b2bd1f6a055b6d91619d979ea9564f430c674dec0e23bf2c3a3c76/imagedata_registration-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48f59340bba69ca2d53b84e9c79e0d98a53091cb500bcaf32a00a3348f87db20",
"md5": "f02b7b2f68056740aae8781f33592b50",
"sha256": "b7b298dd912dae1527bd137986ac25281a2484419bba53321429d172bd5a6469"
},
"downloads": -1,
"filename": "imagedata_registration-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "f02b7b2f68056740aae8781f33592b50",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<3.13,>=3.9",
"size": 285996,
"upload_time": "2024-10-09T16:28:05",
"upload_time_iso_8601": "2024-10-09T16:28:05.524496Z",
"url": "https://files.pythonhosted.org/packages/48/f5/9340bba69ca2d53b84e9c79e0d98a53091cb500bcaf32a00a3348f87db20/imagedata_registration-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c46f7b979cdc09390580bb892d8b76b89fc6d43d32f58c780bcaa73b72fbcfe9",
"md5": "1a05e9e7af1f4c5570af99a51e6094e5",
"sha256": "60a8b8542c3711ac91538c0e0ad58cff96fdf114662219ab98ecac5c3177cbc9"
},
"downloads": -1,
"filename": "imagedata_registration-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1a05e9e7af1f4c5570af99a51e6094e5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<3.13,>=3.9",
"size": 1192805,
"upload_time": "2024-10-09T16:28:07",
"upload_time_iso_8601": "2024-10-09T16:28:07.683058Z",
"url": "https://files.pythonhosted.org/packages/c4/6f/7b979cdc09390580bb892d8b76b89fc6d43d32f58c780bcaa73b72fbcfe9/imagedata_registration-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-09 16:27:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "erling6232",
"github_project": "imagedata_registration",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "imagedata-registration"
}