MCPcopy Create free account
hub / github.com/PyWavelets/pywt / wavedec

Function wavedec

pywt/_multilevel.py:49–109  ·  view source on GitHub ↗

Multilevel 1D Discrete Wavelet Transform of data. Parameters ---------- data: array_like Input data wavelet : Wavelet object or name string Wavelet to use mode : str, optional Signal extension mode, see :ref:`Modes `. level : int, opti

(data, wavelet, mode='symmetric', level=None, axis=-1)

Source from the content-addressed store, hash-verified

47
48
49def wavedec(data, wavelet, mode='symmetric', level=None, axis=-1):
50 """
51 Multilevel 1D Discrete Wavelet Transform of data.
52
53 Parameters
54 ----------
55 data: array_like
56 Input data
57 wavelet : Wavelet object or name string
58 Wavelet to use
59 mode : str, optional
60 Signal extension mode, see :ref:`Modes <ref-modes>`.
61 level : int, optional
62 Decomposition level (must be >= 0). If level is None (default) then it
63 will be calculated using the ``dwt_max_level`` function.
64 axis: int, optional
65 Axis over which to compute the DWT. If not given, the
66 last axis is used.
67
68 Returns
69 -------
70 [cA_n, cD_n, cD_n-1, ..., cD2, cD1] : list
71 Ordered list of coefficients arrays
72 where ``n`` denotes the level of decomposition. The first element
73 (``cA_n``) of the result is approximation coefficients array and the
74 following elements (``cD_n`` - ``cD_1``) are details coefficients
75 arrays.
76
77 Examples
78 --------
79 >>> from pywt import wavedec
80 >>> coeffs = wavedec([1,2,3,4,5,6,7,8], 'db1', level=2)
81 >>> cA2, cD2, cD1 = coeffs
82 >>> cD1
83 array([-0.70710678, -0.70710678, -0.70710678, -0.70710678])
84 >>> cD2
85 array([-2., -2.])
86 >>> cA2
87 array([ 5., 13.])
88
89 """
90 data = np.asarray(data)
91
92 wavelet = _as_wavelet(wavelet)
93 try:
94 axes_shape = data.shape[axis]
95 except IndexError:
96 raise AxisError("Axis greater than data dimensions")
97 level = _check_level(axes_shape, wavelet.dec_len, level)
98
99 coeffs_list = []
100
101 a = data
102 for i in range(level):
103 a, d = dwt(a, wavelet, mode, axis)
104 coeffs_list.append(d)
105
106 coeffs_list.append(a)

Callers 1

fswavedecnFunction · 0.85

Calls 3

dwtFunction · 0.90
_as_waveletFunction · 0.85
_check_levelFunction · 0.85

Tested by

no test coverage detected