Skip to content
This repository has been archived by the owner on Jul 30, 2024. It is now read-only.

Latest commit

 

History

History
52 lines (38 loc) · 1.21 KB

1dtransform.rst

File metadata and controls

52 lines (38 loc) · 1.21 KB

1D transform

This example generates two 1D random walks and demonstrates reconstructing them using the forward and inverse 1D transforms. Note that :py:func`dtcwt.Transform1d.forward` and :py:func:`dtcwt.Transform1d.inverse` will transform columns of an input array independently

.. plot::
    :include-source: true

    from matplotlib.pylab import *
    import dtcwt

    # Generate a 300x2 array of a random walk
    vecs = np.cumsum(np.random.rand(300,2) - 0.5, 0)

    # Show input
    figure()
    plot(vecs)
    title('Input')

    # 1D transform, 5 levels
    transform = dtcwt.Transform1d()
    vecs_t = transform.forward(vecs, nlevels=5)

    # Show level 2 highpass coefficient magnitudes
    figure()
    plot(np.abs(vecs_t.highpasses[1]))
    title('Level 2 wavelet coefficient magnitudes')

    # Show last level lowpass image
    figure()
    plot(vecs_t.lowpass)
    title('Lowpass signals')

    # Inverse
    vecs_recon = transform.inverse(vecs_t)

    # Show output
    figure()
    plot(vecs_recon)
    title('Output')

    # Show error
    figure()
    plot(vecs_recon - vecs)
    title('Reconstruction error')

    print('Maximum reconstruction error: {0}'.format(np.max(np.abs(vecs - vecs_recon))))