コード例 #1
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from supreme.lib.pywt import WaveletPacket
import pylab
import numpy

x = numpy.arange(612-80, 20, -0.5)/150.
data = numpy.sin(20*pylab.log(x)) * numpy.sign((pylab.log(x)))
from sample_data import ecg as data

wp = WaveletPacket(data, 'sym5', maxlevel=4)

pylab.bone()
pylab.subplot(wp.maxlevel+1, 1, 1)
pylab.plot(data, 'k')
pylab.xlim(0, len(data)-1)
pylab.title("Wavelet packet coefficients")

for i in range(1, wp.maxlevel+1):
    ax = pylab.subplot(wp.maxlevel+1,1,i+1)
    nodes = wp.get_level(i, "freq")
    nodes.reverse()
    labels = [n.path for n in nodes]
    values = -abs(numpy.array([n.data for n in nodes]))
    pylab.imshow(values, interpolation='nearest', aspect='auto')
    pylab.yticks(numpy.arange(len(labels)-0.5, -0.5, -1), labels)
    pylab.setp(ax.get_xticklabels(), visible=False)


pylab.show()
コード例 #2
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from supreme.lib.pywt import WaveletPacket

wp = WaveletPacket(range(16), 'db2', maxlevel=3)
print[node.path for node in wp.get_leaf_nodes(decompose=False)]
print[node.path for node in wp.get_leaf_nodes(decompose=True)]
coeffs = [(node.path, node.data) for node in wp.get_leaf_nodes(decompose=True)]
print coeffs

wp2 = WaveletPacket(None, 'db2', maxlevel=3)
for path, data in coeffs:
    wp2[path] = data
#print wp["a"]
print[node.path for node in wp2.get_leaf_nodes(decompose=False)]
print wp2.reconstruct()
コード例 #3
0
ファイル: wp_tree.py プロジェクト: Germanc/supreme
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from supreme.lib.pywt import WaveletPacket

wp = WaveletPacket(range(16), 'db2', maxlevel=3)
print [node.path for node in wp.get_leaf_nodes(decompose=False)]
print [node.path for node in wp.get_leaf_nodes(decompose=True)]
coeffs = [(node.path, node.data) for node in wp.get_leaf_nodes(decompose=True)]
print coeffs

wp2 = WaveletPacket(None, 'db2', maxlevel=3)
for path, data in coeffs:
    wp2[path] = data
#print wp["a"]
print [node.path for node in wp2.get_leaf_nodes(decompose=False)]
print wp2.reconstruct()
コード例 #4
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from supreme.lib.pywt import WaveletPacket
import pylab
import numpy

x = numpy.arange(612 - 80, 20, -0.5) / 150.
data = numpy.sin(20 * pylab.log(x)) * numpy.sign((pylab.log(x)))
from sample_data import ecg as data

wp = WaveletPacket(data, 'sym5', maxlevel=4)

pylab.bone()
pylab.subplot(wp.maxlevel + 1, 1, 1)
pylab.plot(data, 'k')
pylab.xlim(0, len(data) - 1)
pylab.title("Wavelet packet coefficients")

for i in range(1, wp.maxlevel + 1):
    ax = pylab.subplot(wp.maxlevel + 1, 1, i + 1)
    nodes = wp.get_level(i, "freq")
    nodes.reverse()
    labels = [n.path for n in nodes]
    values = -abs(numpy.array([n.data for n in nodes]))
    pylab.imshow(values, interpolation='nearest', aspect='auto')
    pylab.yticks(numpy.arange(len(labels) - 0.5, -0.5, -1), labels)
    pylab.setp(ax.get_xticklabels(), visible=False)

pylab.show()