from vitalDSP.filtering.signal_filtering import SignalFiltering
import numpy as np
from plotly import graph_objects as go
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>'))
import os
from vitalDSP.notebooks import load_sample_ecg_small, plot_trace
from vitalDSP.feature_engineering.morphology_features import PhysiologicalFeatureExtractor,\
PreprocessConfig
fs = 128
signal_col, date_col = load_sample_ecg_small()
signal_col = np.array(signal_col)
preprocess_config = PreprocessConfig(
filter_type="butterworth",
lowcut=0.5,
highcut=5,
order=4,
# noise_reduction_method="wavelet"
)
extractor = PhysiologicalFeatureExtractor(signal_col, fs=fs)
features = extractor.extract_features(signal_type="ECG", preprocess_config=preprocess_config)
print("Features extracted successfully:")
print(features)