Dual-Tree Complex Wavelet Transform library for Python
======================================================
This library provides support for computing 1D, 2D and 3D dual-tree complex wavelet
transforms and their inverse in Python.
`Full documentation <https://dtcwt.readthedocs.org/>`_ is available online.
.. image:: https://travis-ci.org/rjw57/dtcwt.png?branch=master
:target: https://travis-ci.org/rjw57/dtcwt
.. image:: https://coveralls.io/repos/rjw57/dtcwt/badge.png?branch=master
:target: https://coveralls.io/r/rjw57/dtcwt?branch=master
:alt: Coverage
.. image:: https://pypip.in/license/dtcwt/badge.png
:target: https://pypi.python.org/pypi/dtcwt/
:alt: License
.. image:: https://pypip.in/v/dtcwt/badge.png
:target: https://pypi.python.org/pypi/dtcwt/
:alt: Latest Version
.. image:: https://pypip.in/d/dtcwt/badge.png
:target: https://pypi.python.org/pypi//dtcwt/
:alt: Downloads
.. Note: this DOI link must be updated for each release.
.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.9862.png
:target: http://dx.doi.org/10.5281/zenodo.9862
:alt: DOI: 10.5281/zenodo.9862
.. image:: https://readthedocs.org/projects/dtcwt/badge/?version=latest
:target: https://readthedocs.org/projects/dtcwt/?badge=latest
:alt: Documentation Status
Installation
````````````
Ubuntu 15.10 (wily) and later
'''''''''''''''''''''''''''''
Installation can be perfomed via ``apt-get``::
$ sudo apt-get install python-dtcwt python-dtcwt-doc
The package is also currently in Debian sid (unstable).
Other operating systems
'''''''''''''''''''''''
The easiest way to install ``dtcwt`` is via ``easy_install`` or ``pip``::
$ pip install dtcwt
If you want to check out the latest in-development version, look at
`the project's GitHub page <https://github.com/rjw57/dtcwt>`_. Once checked out,
installation is based on setuptools and follows the usual conventions for a
Python project::
$ python setup.py install
(Although the `develop` command may be more useful if you intend to perform any
significant modification to the library.) A test suite is provided so that you
may verify the code works on your system::
$ pip install -r tests/requirements.txt
$ py.test
This will also write test-coverage information to the ``cover/`` directory.
Further documentation
`````````````````````
There is `more documentation <https://dtcwt.readthedocs.org/>`_
available online and you can build your own copy via the Sphinx documentation
system::
$ python setup.py build_sphinx
Compiled documentation may be found in ``build/docs/html/``.
Provenance
``````````
Developed by Rich Wareham, Cambridge University, 2013-2018.
Based on the Dual-Tree Complex Wavelet Transform Pack for MATLAB by Nick
Kingsbury, Cambridge University. The original README can be found in
ORIGINAL_README.txt. This file outlines the conditions of use of the original
MATLAB toolbox.
Adapted for NumPy 1.20+ in 2024 by Vincent Lostanlen and Xiran Zhang, CNRS,
with permission_ from Rich Wareham.
.. _permission: https://github.com/rjw57/dtcwt/pull/144#issuecomment-1952804258
Changes
```````
0.14.0
''''''
* Add support for NumPy 2.0.
0.13.0
''''''
* Add support for NumPy 1.20+ (and thus Python 3.7+).
0.12.0
''''''
* TensorFlow backend by Fergal Cotter (@fbcotter).
0.11.0
''''''
* Use fixed random number generator seed when generating documentation.
* Replace use of Lena image with mandrill.
* Refactor test suite to use tox + py.test.
* Documentation formatting fixes.
* Fix unsafe use of inplace casting (3D transform).
* Use explicit integer division to close #123.
0.10.1
''''''
* Fix regression in dtcwt-based image registration.
* Allow levels used for dtcwt-based image registration to be customised.
0.10.0
''''''
* Add queue parameter to low-level OpenCL ``colifilt`` and ``coldfilt`` functions.
* Significantly increase speed of ``dtcwt.registration.estimatereg`` function.
* Fix bug whereby ``dtcwt.backend_name`` was not restored when using
``preserve_backend_stack``.
0.9.1
'''''
* The OpenCL 2D transform was not always using the correct queue when one was
passed explicitly.
0.9.0
'''''
* MATLAB-style functions such as ``dtwavexfm2`` have been moved into a separate
``dtcwt.compat`` module.
* Backends moved to ``dtcwt.numpy`` and ``dtcwt.opencl`` modules.
* Removed ``dtcwt.base.ReconstructedSignal`` which was a needless wrapper
around NumPy arrays.
* Rename ``TransformDomainSignal`` to ``Pyramid``.
* Allow runtime configuration of default backend via ``dtcwt.push_backend`` function.
* Verified, thanks to @timseries, the NumPy 3D transform implementation against
the MATLAB reference implementation.
0.8.0
'''''
* Verified the highpass re-sampling routines in ``dtcwt.sampling`` against the
existing MATLAB implementation.
* Added experimental image registration routines.
* Re-organised documentation.
0.7.2
'''''
* Fixed regression from 0.7 where ``backend_opencl.dtwavexfm2`` would return
``None, None, None``.
0.7.1
'''''
* Fix a memory leak in OpenCL implementation where transform results were never
de-allocated.
.. vim:sw=4:sts=4:et
Raw data
{
"_id": null,
"home_page": "https://github.com/rjw57/dtcwt",
"name": "dtcwt",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "numpy, wavelet, complex wavelet, DT-CWT",
"author": "Rich Wareham",
"author_email": "rich.dtcwt@richwareham.com",
"download_url": "https://files.pythonhosted.org/packages/a8/0b/566d4e1ae2da9c71e677a886e8fab2d7caac16703699d1a52f298811899f/dtcwt-0.14.0.tar.gz",
"platform": null,
"description": "Dual-Tree Complex Wavelet Transform library for Python\n======================================================\n\nThis library provides support for computing 1D, 2D and 3D dual-tree complex wavelet\ntransforms and their inverse in Python.\n`Full documentation <https://dtcwt.readthedocs.org/>`_ is available online.\n\n.. image:: https://travis-ci.org/rjw57/dtcwt.png?branch=master\n :target: https://travis-ci.org/rjw57/dtcwt\n\n.. image:: https://coveralls.io/repos/rjw57/dtcwt/badge.png?branch=master\n :target: https://coveralls.io/r/rjw57/dtcwt?branch=master\n :alt: Coverage\n\n.. image:: https://pypip.in/license/dtcwt/badge.png\n :target: https://pypi.python.org/pypi/dtcwt/\n :alt: License\n\n.. image:: https://pypip.in/v/dtcwt/badge.png\n :target: https://pypi.python.org/pypi/dtcwt/\n :alt: Latest Version\n\n.. image:: https://pypip.in/d/dtcwt/badge.png\n :target: https://pypi.python.org/pypi//dtcwt/\n :alt: Downloads\n\n.. Note: this DOI link must be updated for each release.\n\n.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.9862.png\n :target: http://dx.doi.org/10.5281/zenodo.9862\n :alt: DOI: 10.5281/zenodo.9862\n\n.. image:: https://readthedocs.org/projects/dtcwt/badge/?version=latest\n :target: https://readthedocs.org/projects/dtcwt/?badge=latest\n :alt: Documentation Status\n\nInstallation\n````````````\n\nUbuntu 15.10 (wily) and later\n'''''''''''''''''''''''''''''\n\nInstallation can be perfomed via ``apt-get``::\n\n $ sudo apt-get install python-dtcwt python-dtcwt-doc\n\nThe package is also currently in Debian sid (unstable).\n\nOther operating systems\n'''''''''''''''''''''''\n\nThe easiest way to install ``dtcwt`` is via ``easy_install`` or ``pip``::\n\n $ pip install dtcwt\n\nIf you want to check out the latest in-development version, look at\n`the project's GitHub page <https://github.com/rjw57/dtcwt>`_. Once checked out,\ninstallation is based on setuptools and follows the usual conventions for a\nPython project::\n\n $ python setup.py install\n\n(Although the `develop` command may be more useful if you intend to perform any\nsignificant modification to the library.) A test suite is provided so that you\nmay verify the code works on your system::\n\n $ pip install -r tests/requirements.txt\n $ py.test\n\nThis will also write test-coverage information to the ``cover/`` directory.\n\nFurther documentation\n`````````````````````\n\nThere is `more documentation <https://dtcwt.readthedocs.org/>`_\navailable online and you can build your own copy via the Sphinx documentation\nsystem::\n\n $ python setup.py build_sphinx\n\nCompiled documentation may be found in ``build/docs/html/``.\n\nProvenance\n``````````\n\nDeveloped by Rich Wareham, Cambridge University, 2013-2018.\n\nBased on the Dual-Tree Complex Wavelet Transform Pack for MATLAB by Nick\nKingsbury, Cambridge University. The original README can be found in\nORIGINAL_README.txt. This file outlines the conditions of use of the original\nMATLAB toolbox.\n\nAdapted for NumPy 1.20+ in 2024 by Vincent Lostanlen and Xiran Zhang, CNRS,\nwith permission_ from Rich Wareham.\n\n.. _permission: https://github.com/rjw57/dtcwt/pull/144#issuecomment-1952804258\n\nChanges\n```````\n\n0.14.0\n''''''\n\n* Add support for NumPy 2.0.\n\n0.13.0\n''''''\n\n* Add support for NumPy 1.20+ (and thus Python 3.7+).\n\n0.12.0\n''''''\n\n* TensorFlow backend by Fergal Cotter (@fbcotter).\n\n0.11.0\n''''''\n\n* Use fixed random number generator seed when generating documentation.\n* Replace use of Lena image with mandrill.\n* Refactor test suite to use tox + py.test.\n* Documentation formatting fixes.\n* Fix unsafe use of inplace casting (3D transform).\n* Use explicit integer division to close #123.\n\n0.10.1\n''''''\n\n* Fix regression in dtcwt-based image registration.\n* Allow levels used for dtcwt-based image registration to be customised.\n\n0.10.0\n''''''\n\n* Add queue parameter to low-level OpenCL ``colifilt`` and ``coldfilt`` functions.\n* Significantly increase speed of ``dtcwt.registration.estimatereg`` function.\n* Fix bug whereby ``dtcwt.backend_name`` was not restored when using\n ``preserve_backend_stack``.\n\n0.9.1\n'''''\n\n* The OpenCL 2D transform was not always using the correct queue when one was\n passed explicitly.\n\n0.9.0\n'''''\n\n* MATLAB-style functions such as ``dtwavexfm2`` have been moved into a separate\n ``dtcwt.compat`` module.\n* Backends moved to ``dtcwt.numpy`` and ``dtcwt.opencl`` modules.\n* Removed ``dtcwt.base.ReconstructedSignal`` which was a needless wrapper\n around NumPy arrays.\n* Rename ``TransformDomainSignal`` to ``Pyramid``.\n* Allow runtime configuration of default backend via ``dtcwt.push_backend`` function.\n* Verified, thanks to @timseries, the NumPy 3D transform implementation against\n the MATLAB reference implementation.\n\n0.8.0\n'''''\n\n* Verified the highpass re-sampling routines in ``dtcwt.sampling`` against the\n existing MATLAB implementation.\n* Added experimental image registration routines.\n* Re-organised documentation.\n\n0.7.2\n'''''\n\n* Fixed regression from 0.7 where ``backend_opencl.dtwavexfm2`` would return\n ``None, None, None``.\n\n0.7.1\n'''''\n\n* Fix a memory leak in OpenCL implementation where transform results were never\n de-allocated.\n\n.. vim:sw=4:sts=4:et\n",
"bugtrack_url": null,
"license": "Free To Use But Restricted",
"summary": "A port of the Dual-Tree Complex Wavelet Transform MATLAB toolbox.",
"version": "0.14.0",
"project_urls": {
"Homepage": "https://github.com/rjw57/dtcwt"
},
"split_keywords": [
"numpy",
" wavelet",
" complex wavelet",
" dt-cwt"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a80b566d4e1ae2da9c71e677a886e8fab2d7caac16703699d1a52f298811899f",
"md5": "7e90eb3516a6f82cb65738560f245dc2",
"sha256": "4d8c4f11794a4127bfd2c7b109ca7c52d321dc9d028e19e4a881384283c43ef9"
},
"downloads": -1,
"filename": "dtcwt-0.14.0.tar.gz",
"has_sig": false,
"md5_digest": "7e90eb3516a6f82cb65738560f245dc2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 85286,
"upload_time": "2024-06-20T13:46:29",
"upload_time_iso_8601": "2024-06-20T13:46:29.147006Z",
"url": "https://files.pythonhosted.org/packages/a8/0b/566d4e1ae2da9c71e677a886e8fab2d7caac16703699d1a52f298811899f/dtcwt-0.14.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-20 13:46:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rjw57",
"github_project": "dtcwt",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "dtcwt"
}