Skip to content

PyWavelets v0.4.0

Compare
Choose a tag to compare
@grlee77 grlee77 released this 28 Dec 23:15
· 1194 commits to main since this release

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: see here

Pull requests merged in this release: see here