Example #1
0
    def _apply(self, rhs, out):
        """ Inverse wavelet transform: Reconstruct output vector from vector of wavelet coefficients.

        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 inverse wavelet transformed input RnVector of dimension n.


        Examples
        --------

        >>> n = 10
        >>> rn = Rn(n)
        >>> data = rn.element(range(1, n + 1, 1))
        >>> decompose = WaveletDecompose(n)
        >>> decomposedData = decompose(data)
        >>> reconstruct = WaveletReconstruct(n)
        >>> result = reconstruct(decomposedData)
        >>> print(result)
        [  1.   2.   3.   4.   5.   6.   7.   8.   9.  10.]

        """

        tmp = rhs.copy()
        wl.invwavelet_transform1D(tmp.data.ctypes.data, self.range.n, out.data.ctypes.data)
Example #2
0
    def _apply(self, rhs, out):
        """ Inverse wavelet transform: Reconstruct output vector from vector of wavelet coefficients.

        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 inverse wavelet transformed input RnVector of dimension n.


        Examples
        --------

        >>> n = 10
        >>> rn = Rn(n)
        >>> data = rn.element(range(1, n + 1, 1))
        >>> decompose = WaveletDecompose(n)
        >>> decomposedData = decompose(data)
        >>> reconstruct = WaveletReconstruct(n)
        >>> result = reconstruct(decomposedData)
        >>> print(result)
        [  1.   2.   3.   4.   5.   6.   7.   8.   9.  10.]

        """

        tmp = rhs.copy()
        wl.invwavelet_transform1D(tmp.data.ctypes.data, self.range.n,
                                  out.data.ctypes.data)
Example #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()
Example #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()