This library provides support for computing 1D, 2D and 3D dual-tree complex wavelet transforms and their inverse in Python. The interface is simple and easy to use. As a quick example, a 1D DT-CWT can be performed from the Python console in a single line:
>>> import dtcwt >>> Yl, Yh = dtcwt.dtwavexfm([1,2,3,4], nlevels=3) # 3 levels, default wavelets
The interface is intentionally similar to the existing MATLAB dual-tree complex wavelet transform toolbox provided by Prof. Nick Kingsbury. This library is intended to ease the porting of algorithms written using the original MATLAB toolbox to Python.
The features of the dtcwt library are:
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. 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:
$ python setup.py nosetests
This will also write test-coverage information to the cover/ directory.
There is more documentation 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/.
The original toolbox is copyrighted and there are some restrictions on use which are outlined in the file ORIGINAL_README.txt. Aside from portions directly derived from the original MATLAB toolbox, any additions in this library and this documentation are licensed under the 2-clause BSD licence as documented in the file COPYING.txt.