PyWavelets

This document intent to be a no theorical reference of the Wavelets fucntions supported by PyWavelets library. The idea here is to answer the question: which wavelets are supported in PyWavelets?

Here are presented in a "graphical way" all those Wavelets.

In [14]:
import pywt
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

current_palette = sns.color_palette()
sns.set_style('whitegrid')
pal = sns.color_palette('Set1', 9)

%matplotlib inline

Wavelets Supported

Plain list

In [8]:
print('Haar:', pywt.wavelist('haar'))
print('\nDaubechies:', pywt.wavelist('db'))
print('\nSymlets:', pywt.wavelist('sym'))
print('\nCoiflets:', pywt.wavelist('coif'))
print('\nBiorthogonal:', pywt.wavelist('bior'))
print('\nReverse biorthogonal:', pywt.wavelist('rbio'))
print('\nDiscrete FIR aproximation of Meyer Wavelet:', pywt.wavelist('dmey'))
Haar: ['haar']

Daubechies: ['db1', 'db2', 'db3', 'db4', 'db5', 'db6', 'db7', 'db8', 'db9', 'db10', 'db11', 'db12', 'db13', 'db14', 'db15', 'db16', 'db17', 'db18', 'db19', 'db20']

Symlets: ['sym2', 'sym3', 'sym4', 'sym5', 'sym6', 'sym7', 'sym8', 'sym9', 'sym10', 'sym11', 'sym12', 'sym13', 'sym14', 'sym15', 'sym16', 'sym17', 'sym18', 'sym19', 'sym20']

Coiflets: ['coif1', 'coif2', 'coif3', 'coif4', 'coif5']

Biorthogonal: ['bior1.1', 'bior1.3', 'bior1.5', 'bior2.2', 'bior2.4', 'bior2.6', 'bior2.8', 'bior3.1', 'bior3.3', 'bior3.5', 'bior3.7', 'bior3.9', 'bior4.4', 'bior5.5', 'bior6.8']

Reverse biorthogonal: ['rbio1.1', 'rbio1.3', 'rbio1.5', 'rbio2.2', 'rbio2.4', 'rbio2.6', 'rbio2.8', 'rbio3.1', 'rbio3.3', 'rbio3.5', 'rbio3.7', 'rbio3.9', 'rbio4.4', 'rbio5.5', 'rbio6.8']

Discrete FIR aproximation of Meyer Wavelet: ['dmey']

Plot of $\psi$ functions

also called "Wavelet Function" or "Mother Wavelet"

In [3]:
sns.set_context(rc={'figure.figsize': (36, 200)})

i = 0
for family in pywt.families():
    for wave in pywt.wavelist(family):
        w = pywt.Wavelet(wave)
        
        if family in ['bior','rbio']:
            phi_d, psi, phi_r, psi_r, x = w.wavefun()
        else:
            phi, psi, x = w.wavefun()
        
        ax = plt.subplot(26, 3, i+1)
        
        plt.plot(x, psi);        

        ax.set_title(wave, fontsize=38)
        i = i + 1
        
plt.tight_layout()