Пример #1
0
    def _apply(self, rhs, out):
        """ Wavelet transform: Decompose input vector into wavelets.

        Parameters
        ----------

        rhs : RnVector
              RnVector of dimension n to be transformed.

        out : RnVector
              RnVector of dimension n the result should be written to.

        Returns
        -------

        RnVector of dimension n of wavelet transformed input RnVector of dimension n.


        Examples
        --------

        >>> n = 10
        >>> rn = Rn(n)
        >>> data = rn.element(range(n))
        >>> decompose = WaveletDecompose(n)
        >>> decomposedData = decompose(data)
        >>> print(decomposedData)
        [  2.03223267e-01  -8.87556695e-12  -1.47952761e-11  -1.48388367e-01
           7.03223267e-01   5.09930045e-01  -7.44210796e-01  -3.41010069e-01
           1.78491552e+01   1.38856477e+02]

        """

        tmp = rhs.copy()
        wl.wavelet_transform1D(tmp.data.ctypes.data, self.domain.n, out.data.ctypes.data)
Пример #2
0
    def _apply(self, rhs, out):
        """ Wavelet transform: Decompose input vector into wavelets.

        Parameters
        ----------

        rhs : RnVector
              RnVector of dimension n to be transformed.

        out : RnVector
              RnVector of dimension n the result should be written to.

        Returns
        -------

        RnVector of dimension n of wavelet transformed input RnVector of dimension n.


        Examples
        --------

        >>> n = 10
        >>> rn = Rn(n)
        >>> data = rn.element(range(n))
        >>> decompose = WaveletDecompose(n)
        >>> decomposedData = decompose(data)
        >>> print(decomposedData)
        [  2.03223267e-01  -8.87556695e-12  -1.47952761e-11  -1.48388367e-01
           7.03223267e-01   5.09930045e-01  -7.44210796e-01  -3.41010069e-01
           1.78491552e+01   1.38856477e+02]

        """

        tmp = rhs.copy()
        wl.wavelet_transform1D(tmp.data.ctypes.data, self.domain.n,
                               out.data.ctypes.data)
Пример #3
0
import numpy as np
import libwaveletspy as lw
import matplotlib.pyplot as plt

n = 1000

x = np.linspace(0, 3.14, n, dtype=np.float64)
data = np.sin(3 * x) + np.exp(x / 5) + np.cos(1 / (0.01 + x))
wavelets = np.zeros_like(x)
result = np.zeros_like(x)

dataCpy = data.copy()
lw.wavelet_transform1D(dataCpy.ctypes.data, n, wavelets.ctypes.data)
lw.invwavelet_transform1D(wavelets.ctypes.data, n, result.ctypes.data)

plt.plot(data, label="data")
plt.plot(result, label="result")
plt.legend()
plt.show()
Пример #4
0
import numpy as np
import libwaveletspy as lw
import matplotlib.pyplot as plt

n=1000

x = np.linspace(0, 3.14, n, dtype=np.float64)
data = np.sin(3*x) + np.exp(x/5) + np.cos(1/(0.01+x))
wavelets = np.zeros_like(x)
result = np.zeros_like(x)

dataCpy = data.copy()
lw.wavelet_transform1D(dataCpy.ctypes.data, n, wavelets.ctypes.data)
lw.invwavelet_transform1D(wavelets.ctypes.data, n, result.ctypes.data)

plt.plot(data, label="data")
plt.plot(result, label="result")
plt.legend()
plt.show()