The dtcwt library

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 library also includes an OpenCL-based implementation of the wavelet transform which can accelerate computation even on CPU-only devices.

Features of note

The features of the dtcwt library are:

  • 1D, 2D and 3D forward and inverse Dual-tree Complex Wavelet Transform implementations.
  • API similarity with the DTCWT MATLAB toolbox.
  • Automatic selection of single versus double precision calculation.
  • Built-in support for the most common complex wavelet families.


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.

Read the Docs v: 0.7
On Read the Docs
Project Home

Free document hosting provided by Read the Docs.