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)
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 10
      6 pio.renderers.default = "sphinx_gallery"
      7 # pio.renderers.default = "plotly_mimetype"  # or "plotly_mimetype"
      8 # from IPython.display import display, HTML
      9 # display(HTML('<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>'))
---> 10 from vitalDSP.notebooks import load_sample_ecg_small, plot_trace
     12 signal_col, date_col = load_sample_ecg_small()
     13 signal_col = np.array(signal_col)

File ~/checkouts/readthedocs.org/user_builds/vital-dsp/envs/stable/lib/python3.9/site-packages/vitalDSP/notebooks/__init__.py:27
     25 import ast
     26 import datetime as dt
---> 27 import pkg_resources
     30 # Init functions to handle the sample data
     31 def load_sample_ecg():
     32     # Get the path to the file in the package resources

ModuleNotFoundError: No module named 'pkg_resources'

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)