PyWavelets 1.2.0 Release Notes¶
Contents
We are very pleased to announce the release of PyWavelets 1.2.
This release has new discrete wavelet transforms features incleading a series of multiresolution analysis functions (details below).
PyWavelets has dropped support for Python 3.5 and 3.6 and now supports Python 3.7-3.10.
We also now provide aarch64 linux wheels as well as universal2 and arm64 wheels that are compatible with Apple’s M1 processors.
New features¶
- There is a new series of multilevel stationary wavelet transforms (
mra
,mra2
andmran
) suited for multiresolution analysis of 1D, 2D or nD signals, respectively. This MRA analysis is also known as the additive wavelet decomposition because the corresponding inverse functions (imra
,imra2
orimran
) reconstruct the original signal by simple addition of the components. These are a good alternative to the use of the existing SWT functions when it is important to have features aligned across wavelet scales (see the new demo indemo/mra_vs_swt.py
). - There is now an n-dimensional implementation available for the wavelet packet transforms (see class WaveletPacketND).
Backwards incompatible changes¶
- The image returned by
pywt.data.camera
has been replaced by a similar, CC0-licensed image because the original image was determined to only be licensed for non-commercial use. Any users who still need the prior camera image for non-commercial use can find it many places online by performing a web search for “cameraman test image”.
Bugs Fixed¶
- Add input length check in dwt_single for reflect modes.
- Demos were updated for compatibility with recent Matplotlib versions.
- Removed deprecated import from
imp
.
Other changes¶
- PyWavelets has dropped support for Python 3.5 and 3.6 in this release.
Authors¶
- ElConno +
- Ralf Gommers
- Gregory R. Lee
- Jakub Mandula +
- nperraud +
- ossdev07 +
A total of 6 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.
Pull requests for v1.2¶
- #393: Wavelet packets: extend to nD and support subsets of the axes
- #525: WIP: test against Python 3.8
- #527: Multiresolution Analysis
- #540: remove unused distutils import from __init__.py
- #546: ENH: make Wavelet, WaveletPacket, WaveletPacket2D and ContinuousWavelet…
- #547: ContinuousWavelet: add tests for dtype and remove unused **kwargs
- #552: Cython 3.0 compatibility: explicitly call import_array()
- #559: MAINT: bump minimum Python version to 3.7
- #567: Documentation about trim_approx in swt2 is wrong
- #571: improve documentation of padding in coeffs_to_array
- #572: Replace camera image with a CC0-licensed equivalent
- #573: switch from terrify to multibuild for OS X setup on Travis
- #578: Add Python 3.9 to CI and classifiers
- #584: MAINT: remove use of deprecated np.int/float aliases
- #598: Add input length check in dwt_single for reflect modes
- #601: Add wheel building and deployment via GitHub Actions and cibuildwheel
- #604: MAINT: update pyproject.toml and setup.py for Python 3.10
- #608: BLD: update Cython build dependency to recent release and <3.0
- #609: MAINT: fix `origin=’image’` calls that Matplotlib no longer…
- #610: Update GitHub Actions workflow to build Python 3.10 wheels
- #611: MAINT: fix doc build issues