Overview

PyWavelets is a free Open Source wavelet transform software for Python programming language. It is written in Python, Pyrex/Cython and C for a mix of easy and powerful high-level interface and the best performance.

PyWavelets is very easy to start with and use. Just install the package, open the Python interactive shell and type:

>>> import pywt
>>> cA, cD = pywt.dwt([1, 2, 3, 4], 'db1')

Voilà! Computing wavelet transforms never before has been so simple :)

Main features

The main features of PyWavelets are:

  • 1D and 2D Forward and Inverse Discrete Wavelet Transform (DWT and IDWT)
  • 1D and 2D Stationary Wavelet Transform (Undecimated Wavelet Transform)
  • 1D and 2D Wavelet Packet decomposition and reconstruction
  • Approximating wavelet and scaling functions
  • Over seventy built-in wavelet filters and custom wavelets supported
  • Single and double precision calculations supported
  • Results compatibility with Matlab Wavelet Toolbox™

Requirements

PyWavelets is a Python programming language package and requires Python 2.5-2.7 installed. The only external requirement is a recent version of NumPy numeric array module.

Download

The most recent development version can be found in Git and Hg repositories at:

Latest release (not always up-to-date), including source and binary package for Windows, is available for download from the Python Package Index at http://pypi.python.org/pypi/PyWavelets/.

Note

The old SVN repository at http://wavelets.scipy.org/svn/multiresolution/pywt/trunk is not updated anymore and you should switch to one of the new ones.

Install

In order to build PyWavelets from source, a working C compiler and a recent version of Cython and Numpy is required.

After completing the build environment, open the shell prompt, go to the PyWavelets source code directory and type:

python setup.py install

See also

Development notes section contains more information on building from source code.

For Windows users there is a standard binary installer available for download from the Python Package Index. Just execute it to install the package on your computer.

Binary packages for several Linux distributors are maintained by Open Source community contributors. Query your favourite package manager tool for python-wavelets, python-pywt or similar package name.

To verify the installation process try running tests and examples from the tests and demo directories included in the source distribution. Note that most of the examples relies on the matplotlib plotting package.

Note

You can also try to use easy_insall or pip Python package manager to install PyWavelets, however this not always works in conjunction with setup scripts using Cython:

easy_install -U PyWavelets
pip install -U PyWavelets

License

PyWavelets is a free Open Source software available under the MIT license terms.

Contact

Post your suggestions and guestions to PyWavelets discussions group (pywavelets@googlegroups.com).

Comments, bug reports and fixes are welcome through Github and Bitbucket project sites.

You can try to reach me directly at en@ig.ma but I can’t promise I will get back to you in a reasonable time.