#!/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()
#!/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()
#!/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()
#!/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()