# Based on Daniel Lemire's example
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())
# transform
signal.setFilter(ondelette);
level = 1 # for some level int
sCoef = signal.fwt(level) # get coeeficients 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))
# get the signal back
h3=signalBack.getH1D(50,-10,10)
h3.setColor(Color.red)
c1.draw(h3)
Ads help maintain this website.