Signal Filtering

Savgol Filter

from vitalDSP.filtering.signal_filtering import SignalFiltering
import numpy as np
from plotly import graph_objects as go
import os
import plotly.io as pio
pio.renderers.default = "sphinx_gallery"
# pio.renderers.default = "plotly_mimetype"  # or "plotly_mimetype"
# from IPython.display import display, HTML
# display(HTML('<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>'))
from vitalDSP.notebooks import load_sample_ecg_small, plot_trace

signal_col, date_col = load_sample_ecg_small()
signal_col = np.array(signal_col)

sf = SignalFiltering(signal_col)
filtered_sig = sf.savgol_filter(signal_col,window_length=9,polyorder=2)

plot_trace(signal_col,filtered_sig)

Moving Average

from vitalDSP.filtering.signal_filtering import SignalFiltering
import numpy as np
from plotly import graph_objects as go
import os
from vitalDSP.notebooks import load_sample_ecg_small, plot_trace

signal_col, date_col = load_sample_ecg_small()
signal_col = np.array(signal_col)

sf = SignalFiltering(signal_col)
filtered_sig = sf.moving_average(window_size=9)

plot_trace(signal_col,filtered_sig)

Gaussian Filtering

from vitalDSP.filtering.signal_filtering import SignalFiltering
import numpy as np
from plotly import graph_objects as go
import os
from vitalDSP.notebooks import load_sample_ecg_small, plot_trace

signal_col, date_col = load_sample_ecg_small()
signal_col = np.array(signal_col)

sf = SignalFiltering(signal_col)
filtered_sig = sf.gaussian(sigma=2)

plot_trace(signal_col,filtered_sig)

Butterworth

from vitalDSP.filtering.signal_filtering import SignalFiltering
import numpy as np
from plotly import graph_objects as go
import os
from vitalDSP.notebooks import load_sample_ecg_small, plot_trace

signal_col, date_col = load_sample_ecg_small()
signal_col = np.array(signal_col)

sf = SignalFiltering(signal_col)
filtered_sig = sf.butterworth(cutoff=0.5, fs=128, order=4)

plot_trace(signal_col,filtered_sig)

Median

from vitalDSP.filtering.signal_filtering import SignalFiltering
import numpy as np
from plotly import graph_objects as go
import os
from vitalDSP.notebooks import load_sample_ecg_small, plot_trace

signal_col, date_col = load_sample_ecg_small()
signal_col = np.array(signal_col)

sf = SignalFiltering(signal_col)
filtered_sig = sf.median(kernel_size=9,iterations=2)

plot_trace(signal_col,filtered_sig)