PyWavelets documentation has moved to pywavelets.readthedocs.io. You will be automatically redirected there in 10 seconds.
nD Forward and Inverse Discrete Wavelet Transform¶
Single level - dwtn
¶
-
pywt.
dwtn
(data, wavelet, mode='symmetric', axes=None)¶ Single-level n-dimensional Discrete Wavelet Transform.
Parameters: data : ndarray
n-dimensional array with input data.
wavelet : Wavelet object or name string
Wavelet to use.
mode : str, optional
Signal extension mode, see Modes. Default is ‘symmetric’.
axes : sequence of ints, optional
Axes over which to compute the DWT. Repeated elements mean the DWT will be performed multiple times along these axes. A value of None (the default) selects all axes.
Axes may be repeated, but information about the original size may be lost if it is not divisible by 2 ** nrepeats. The reconstruction will be larger, with additional values derived according to the mode parameter. pywt.wavedecn should be used for multilevel decomposition.
Returns: coeffs : dict
Results are arranged in a dictionary, where key specifies the transform type on each dimension and value is a n-dimensional coefficients array.
For example, for a 2D case the result will look something like this:
{'aa': <coeffs> # A(LL) - approx. on 1st dim, approx. on 2nd dim 'ad': <coeffs> # V(LH) - approx. on 1st dim, det. on 2nd dim 'da': <coeffs> # H(HL) - det. on 1st dim, approx. on 2nd dim 'dd': <coeffs> # D(HH) - det. on 1st dim, det. on 2nd dim }
Single level - idwtn
¶
-
pywt.
idwtn
(coeffs, wavelet, mode='symmetric', axes=None)¶ Single-level n-dimensional Inverse Discrete Wavelet Transform.
Parameters: coeffs: dict
Dictionary as in output of dwtn. Missing or None items will be treated as zeroes.
wavelet : Wavelet object or name string
Wavelet to use
mode : str, optional
Signal extension mode used in the decomposition, see Modes (default: ‘symmetric’).
axes : sequence of ints, optional
Axes over which to compute the IDWT. Repeated elements mean the IDWT will be performed multiple times along these axes. A value of None (the default) selects all axes.
For the most accurate reconstruction, the axes should be provided in the same order as they were provided to dwtn.
Returns: data: ndarray
Original signal reconstructed from input data.
Multilevel decomposition - wavedecn
¶
-
pywt.
wavedecn
(data, wavelet, mode='symmetric', level=None)¶ Multilevel nD Discrete Wavelet Transform.
Parameters: data : ndarray
nD input data
wavelet : Wavelet object or name string
Wavelet to use
mode : str, optional
Signal extension mode, see Modes (default: ‘symmetric’)
level : int, optional
Dxecomposition level (must be >= 0). If level is None (default) then it will be calculated using the
dwt_max_level
function.Returns: [cAn, {details_level_n}, ... {details_level_1}] : list
Coefficients list
Examples
>>> import numpy as np >>> from pywt import wavedecn, waverecn >>> coeffs = wavedecn(np.ones((4, 4, 4)), 'db1') >>> # Levels: >>> len(coeffs)-1 2 >>> waverecn(coeffs, 'db1') array([[[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]], [[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]], [[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]], [[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]]])
Multilevel reconstruction - waverecn
¶
-
pywt.
waverecn
(coeffs, wavelet, mode='symmetric')¶ Multilevel nD Inverse Discrete Wavelet Transform.
- coeffs : array_like
- Coefficients list [cAn, {details_level_n}, ... {details_level_1}]
- wavelet : Wavelet object or name string
- Wavelet to use
- mode : str, optional
- Signal extension mode, see Modes (default: ‘symmetric’)
Returns: nD array of reconstructed data. Examples
>>> import numpy as np >>> from pywt import wavedecn, waverecn >>> coeffs = wavedecn(np.ones((4, 4, 4)), 'db1') >>> # Levels: >>> len(coeffs)-1 2 >>> waverecn(coeffs, 'db1') array([[[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]], [[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]], [[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]], [[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]]])