Dear all,
On behalf of the PyWavelets development team I am pleased to announce the release of PyWavelets 0.4.0. This release is the result of 6 months effort by the developers. There are several new features as well as performance improvements and some changes to modernize/streamline the API. Full details are included in the release notes below.
This release requires Python 2.6, 2.7 or 3.3-3.5 and Numpy 1.6.2 or greater. Sources and release notes can be found on
https://pypi.python.org/pypi/PyWavelets and
https://github.com/PyWavelets/pywt/releases.
As always, new contributors are welcome to join us at
https://github.com/PyWavelets/pywtCheers,
Greg
==============================
PyWavelets 0.4.0 Release Notes
==============================
PyWavelets 0.4.0 is the culmination of 6 months of work. In addition to
several new features, some changes and deprecations have been made to streamline
the API.
This release requires Python 2.6, 2.7 or 3.3-3.5 and NumPy 1.6.2 or greater.
Highlights of this release include:
- 1D and 2D inverse stationary wavelet transforms
- Substantially faster 2D and nD discrete wavelet transforms
- Complex number support
- nD versions of the multilevel DWT and IDWT
New features
============
1D and 2D inverse stationary wavelet transforms
-----------------------------------------------
1D (``iswt``) and 2D (``iswt2``) inverse stationary wavelet transforms were
added. These currently only support even length inputs.
Faster 2D and nD wavelet transforms
-----------------------------------
The multidimensional DWT and IDWT code was refactored and is now an order of
magnitude faster than in previous releases. The following functions benefit:
``dwt2``, ``idwt2``, ``dwtn``, ``idwtn``.
Complex floating point support
------------------------------
64 and 128-bit complex data types are now supported by all wavelet transforms.
nD implementation of the multilevel DWT and IDWT
------------------------------------------------
The existing 1D and 2D multilevel transforms were supplemented with an nD
implementation.
Wavelet transforms can be applied along a specific axis/axes
------------------------------------------------------------
All wavelet transform functions now support explicit specification of the axis
or axes upon which to perform the transform.
Example Datasets
----------------
Two additional 2D grayscale images were added (`camera`, `ascent`). The
previously existing 1D ECG data (`ecg`) and the 2D aerial image (`aero`)
used in the demos can also now be imported via functions defined in
`pywt.data` (e.g. ``camera = pywt.data.camera()``)
Deprecated features
===================
A number of functions have been renamed, the old names are deprecated and will
be removed in a future release:
- ``intwave``, renamed to ``integrate_wavelet``
- ``centrfrq``, renamed to ``central_frequency``
- ``scal2frq``, renamed to ``scale2frequency``
- ``orthfilt``, renamed to ``orthogonal_filter_bank``
Integration of general signals (i.e. not wavelets) with ``integrate_wavelet``
is deprecated.
The ``MODES`` object and its attributes are deprecated. The new name is
``Modes``, and the attribute names are expanded:
- ``zpd``, renamed to ``zero``
- ``cpd``, renamed to ``constant``
- ``sp1``, renamed to ``smooth``
- ``sym``, renamed to ``symmetric``
- ``ppd``, renamed to ``periodic``
- ``per``, renamed to ``periodization``
Backwards incompatible changes
==============================
``idwt`` no longer takes a ``correct_size`` parameter. As a consequence,
``idwt2`` inputs must match exactly in length. For multilevel transforms, where
arrays differing in size by one element may be produced, use the ``waverec``
functions from the ``multilevel`` module instead.
Bugs Fixed
==========
float32 inputs were not always respected. All transforms now return float32
outputs when called using float32 inputs.
Incorrect detail coefficients were returned by `downcoef` when `level > 1`.
Other changes
=============
Much of the API documentation is now autogenerated from the corresponding
function docstrings. The numpydoc sphinx extension is now needed to build the
documentation.
Authors
=======
* Thomas Arildsen +
* François Boulogne
* Ralf Gommers
* Gregory R. Lee
* Michael Marino +
* Aaron O'Leary +
* Daniele Tricoli +
* Kai Wohlfahrt
A total of 8 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
Issues closed in this release:
https://github.com/PyWavelets/pywt/issues?q=is%3Aissue+is%3Aclosed+milestone%3Av0.4.0Pull requests merged in this release:
https://github.com/PyWavelets/pywt/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av0.4.0