New documentation location
PyWavelets documentation has moved to pywavelets.readthedocs.io. You will be automatically redirected there in 10 seconds.
PyWavelets documentation has moved to pywavelets.readthedocs.io. You will be automatically redirected there in 10 seconds.
Multilevel DWT, IDWT and SWT¶
Multilevel DWT decomposition¶
>>> import pywt
>>> x = [3, 7, 1, 1, -2, 5, 4, 6]
>>> db1 = pywt.Wavelet('db1')
>>> cA3, cD3, cD2, cD1 = pywt.wavedec(x, db1)
>>> print(cA3)
[ 8.83883476]
>>> print(cD3)
[-0.35355339]
>>> print(cD2)
[ 4. -3.5]
>>> print(cD1)
[-2.82842712 0. -4.94974747 -1.41421356]
>>> pywt.dwt_max_level(len(x), db1)
3
>>> cA2, cD2, cD1 = pywt.wavedec(x, db1, mode='constant', level=2)
Multilevel IDWT reconstruction¶
>>> coeffs = pywt.wavedec(x, db1)
>>> print(pywt.waverec(coeffs, db1))
[ 3. 7. 1. 1. -2. 5. 4. 6.]
Multilevel SWT decomposition¶
>>> x = [3, 7, 1, 3, -2, 6, 4, 6]
>>> (cA2, cD2), (cA1, cD1) = pywt.swt(x, db1, level=2)
>>> print(cA1)
[ 7.07106781 5.65685425 2.82842712 0.70710678 2.82842712 7.07106781
7.07106781 6.36396103]
>>> print(cD1)
[-2.82842712 4.24264069 -1.41421356 3.53553391 -5.65685425 1.41421356
-1.41421356 2.12132034]
>>> print(cA2)
[ 7. 4.5 4. 5.5 7. 9.5 10. 8.5]
>>> print(cD2)
[ 3. 3.5 0. -4.5 -3. 0.5 0. 0.5]
>>> [(cA2, cD2)] = pywt.swt(cA1, db1, level=1, start_level=1)
>>> print(cA2)
[ 7. 4.5 4. 5.5 7. 9.5 10. 8.5]
>>> print(cD2)
[ 3. 3.5 0. -4.5 -3. 0.5 0. 0.5]
>>> coeffs = pywt.swt(x, db1)
>>> len(coeffs)
3
>>> pywt.swt_max_level(len(x))
3