5
import matplotlib.pyplot as plt
12
python waveinfo.py waveletname
14
Example: python waveinfo.py 'sym5'
18
wavelet = pywt.Wavelet(sys.argv[1])
20
level = int(sys.argv[2])
21
except IndexError as e:
23
except ValueError as e:
24
print("Unknown wavelet")
26
except IndexError as e:
31
data = wavelet.wavefun(level)
36
if wavelet.complex_cwt:
38
plt.title(wavelet.name+' real part')
39
mi, ma = np.real(psi).min(), np.real(psi).max()
40
margin = (ma - mi) * 0.05
41
plt.plot(x,np.real(psi))
42
plt.ylim(mi - margin, ma + margin)
45
plt.title(wavelet.name+' imag part')
46
mi, ma = np.imag(psi).min(), np.imag(psi).max()
47
margin = (ma - mi) * 0.05
48
plt.plot(x,np.imag(psi))
49
plt.ylim(mi - margin, ma + margin)
52
mi, ma = psi.min(), psi.max()
53
margin = (ma - mi) * 0.05
55
plt.title(wavelet.name)
56
plt.ylim(mi - margin, ma + margin)
59
funcs, x = data[:-1], data[-1]
60
labels = ["scaling function (phi)", "wavelet function (psi)",
61
"r. scaling function (phi)", "r. wavelet function (psi)"]
62
colors = ("r", "g", "r", "g")
64
for i, (d, label, color) in enumerate(zip(funcs, labels, colors)):
65
mi, ma = d.min(), d.max()
66
margin = (ma - mi) * 0.05
67
ax = fig.add_subplot((len(data) - 1) // 2, 2, 1 + i)
71
ax.set_ylim(mi - margin, ma + margin)
72
ax.set_xlim(x[0], x[-1])