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

Function dwt

pywt/_dwt.py:120–188  ·  view source on GitHub ↗

dwt(data, wavelet, mode='symmetric', axis=-1) Single level Discrete Wavelet Transform. Parameters ---------- data : array_like Input signal wavelet : Wavelet object or name Wavelet to use mode : str, optional Signal extension mode, see :ref:`Mod

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

Source from the content-addressed store, hash-verified

118
119
120def dwt(data, wavelet, mode='symmetric', axis=-1):
121 """
122 dwt(data, wavelet, mode='symmetric', axis=-1)
123
124 Single level Discrete Wavelet Transform.
125
126 Parameters
127 ----------
128 data : array_like
129 Input signal
130 wavelet : Wavelet object or name
131 Wavelet to use
132 mode : str, optional
133 Signal extension mode, see :ref:`Modes <ref-modes>`.
134 axis: int, optional
135 Axis over which to compute the DWT. If not given, the
136 last axis is used.
137
138 Returns
139 -------
140 (cA, cD) : tuple
141 Approximation and detail coefficients.
142
143 Notes
144 -----
145 Length of coefficients arrays depends on the selected mode.
146 For all modes except periodization:
147
148 ``len(cA) == len(cD) == floor((len(data) + wavelet.dec_len - 1) / 2)``
149
150 For periodization mode ("per"):
151
152 ``len(cA) == len(cD) == ceil(len(data) / 2)``
153
154 Examples
155 --------
156 >>> import pywt
157 >>> (cA, cD) = pywt.dwt([1, 2, 3, 4, 5, 6], 'db1')
158 >>> cA
159 array([ 2.12132034, 4.94974747, 7.77817459])
160 >>> cD
161 array([-0.70710678, -0.70710678, -0.70710678])
162
163 """
164 if not _have_c99_complex and np.iscomplexobj(data):
165 data = np.asarray(data)
166 cA_r, cD_r = dwt(data.real, wavelet, mode, axis)
167 cA_i, cD_i = dwt(data.imag, wavelet, mode, axis)
168 return (cA_r + 1j*cA_i, cD_r + 1j*cD_i)
169
170 # accept array_like input; make a copy to ensure a contiguous array
171 dt = _check_dtype(data)
172 data = np.asarray(data, dtype=dt, order='C')
173 mode = Modes.from_object(mode)
174 wavelet = _as_wavelet(wavelet)
175
176 if axis < 0:
177 axis = axis + data.ndim

Callers 2

_decomposeMethod · 0.90
wavedecFunction · 0.90

Calls 1

_as_waveletFunction · 0.85

Tested by

no test coverage detected