Fast Wavelet Transform (FWT) of input data
Code: "wavelet1.py". Programming language: Python
DMelt Version 1. Last modified: 12/11/2015. License: Pro
https://datamelt.org/code/cache/wavelet1_2614.py
To run this script using the DMelt IDE,
copy the above URL link to the menu [File]→[Read script from URL] of the DMelt IDE.
from jhplot import *
from java.util import Random
from java.awt import Color
c1 = HPlot("Canvas",600,400)
c1.setNameX("X")
c1.setNameY("Y")
c1.visible(1)
c1.setAutoRange()
p1 = P0D("Input data")
rand = Random()
for i in range(100):
x=10*rand.nextGaussian()
p1.add(x)
print p1.toString()
h1=p1.getH1D(50,-10,10)
c1.draw(h1)
######### do wavelets
from jsci.maths import *
from jsci.maths.wavelet import *
from jsci.maths.wavelet.daubechies2 import *
ondelette = Daubechies2()
signal =Signal(p1.getArray())
signal.setFilter(ondelette) # transform
level = 1 # for some level int
sCoef = signal.fwt(level) # get coefficients from Fast Wavelet Transform
p2=P0D("Coefs0",sCoef.getCoefs()[0])
p3=P0D("Coefs1",sCoef.getCoefs()[1])
signalBack=P0D("Signal back", sCoef.rebuildSignal(ondelette).evaluate(0))
h3=signalBack.getH1D(50,-10,10) # get the signal back
h3.setColor(Color.red)
c1.draw(h3)
You see the box below because you did not login.