Inverse Stationary Wavelet Transform#
Inverse stationary wavelet transforms are provided.
Note: These inverse transforms are not yet optimized for speed. Only, the
n-dimensional inverse transform currently has axes
support.
Multilevel 1D iswt
#
- pywt.iswt(coeffs, wavelet, norm=False, axis=-1)#
Multilevel 1D inverse discrete stationary wavelet transform.
- Parameters
- coeffsarray_like
Coefficients list of tuples:
[(cAn, cDn), ..., (cA2, cD2), (cA1, cD1)]
where cA is approximation, cD is details. Index 1 corresponds to
start_level
frompywt.swt
.- waveletWavelet object or name string
Wavelet to use
- normbool, optional
Controls the normalization used by the inverse transform. This must be set equal to the value that was used by
pywt.swt
to preserve the energy of a round-trip transform.
- Returns
- 1D array of reconstructed data.
Examples
>>> import pywt >>> coeffs = pywt.swt([1,2,3,4,5,6,7,8], 'db2', level=2) >>> pywt.iswt(coeffs, 'db2') array([ 1., 2., 3., 4., 5., 6., 7., 8.])
Multilevel 2D iswt2
#
- pywt.iswt2(coeffs, wavelet, norm=False, axes=(-2, -1))#
Multilevel 2D inverse discrete stationary wavelet transform.
- Parameters
- coeffslist
Approximation and details coefficients:
[ (cA_n, (cH_n, cV_n, cD_n) ), ..., (cA_2, (cH_2, cV_2, cD_2) ), (cA_1, (cH_1, cV_1, cD_1) ) ]
where cA is approximation, cH is horizontal details, cV is vertical details, cD is diagonal details and n is the number of levels. Index 1 corresponds to
start_level
frompywt.swt2
.- waveletWavelet object or name string, or 2-tuple of wavelets
Wavelet to use. This can also be a 2-tuple of wavelets to apply per axis.
- normbool, optional
Controls the normalization used by the inverse transform. This must be set equal to the value that was used by
pywt.swt2
to preserve the energy of a round-trip transform.
- Returns
- 2D array of reconstructed data.
Examples
>>> import pywt >>> coeffs = pywt.swt2([[1,2,3,4],[5,6,7,8], ... [9,10,11,12],[13,14,15,16]], ... 'db1', level=2) >>> pywt.iswt2(coeffs, 'db1') array([[ 1., 2., 3., 4.], [ 5., 6., 7., 8.], [ 9., 10., 11., 12.], [ 13., 14., 15., 16.]])
Multilevel n-dimensional iswtn
#
- pywt.iswtn(coeffs, wavelet, axes=None, norm=False)#
Multilevel nD inverse discrete stationary wavelet transform.
- Parameters
- coeffslist
[{coeffs_level_n}, …, {coeffs_level_1}]: list of dict
- waveletWavelet object or name string, or tuple of wavelets
Wavelet to use. This can also be a tuple of wavelets to apply per axis in
axes
.- axessequence of ints, optional
Axes over which to compute the inverse SWT. Axes may not be repeated. The default is
None
, which means transform all axes (axes = range(data.ndim)
).- normbool, optional
Controls the normalization used by the inverse transform. This must be set equal to the value that was used by
pywt.swtn
to preserve the energy of a round-trip transform.
- Returns
- nD array of reconstructed data.
Examples
>>> import pywt >>> coeffs = pywt.swtn([[1,2,3,4],[5,6,7,8], ... [9,10,11,12],[13,14,15,16]], ... 'db1', level=2) >>> pywt.iswtn(coeffs, 'db1') array([[ 1., 2., 3., 4.], [ 5., 6., 7., 8.], [ 9., 10., 11., 12.], [ 13., 14., 15., 16.]])