Skip to content

Final part of the PPG not delineated #26

@levsilva

Description

@levsilva

Hi,

I am testing the delineation of PPGs and noticed that the final part of the signal is not delineated. When I use 20 seconds of data, the final 10 seconds are not delineated:

375d2ab6-48c7-4976-ba50-48740a9bb704

However, if I use 40 seconds of the same signal (same starting point with an additional 20 seconds), the delineation happens in all but the final 3 seconds:

3ea91fce-8173-495e-9fac-49dac0d8d9dc

Below is the code that I am using to generate the plots. Would you know why does this happen?

Thank you in advance!
Luiz

# `ppg_wave` in the PPG waveform loaded previously

signal = DotMap()
signal.start_sig = 0  # the first sample of the signal to be analyzed
signal.end_sig = len(ppg_wave)  # the last sample of the signal to be analyzed
signal.ppg = ppg_wave
signal.fs = fs
signal.name = ppg_name

# Calculate the first, second, and third derivatives of the PPG signal
# pyPPG does the same, except for additional smoothing if fs >= 150
signal.ppg = ppg_wave
signal.vpg = np.gradient(ppg_wave)
signal.apg = np.gradient(signal.vpg)
signal.jpg = np.gradient(signal.apg)

# Correction for fiducial points
corr_on = ['on', 'dn', 'dp', 'v', 'w', 'f']
correction = pd.DataFrame()
correction.loc[0, corr_on] = True
signal.correction = correction

ppg_obj = PPG(signal, check_ppg_len=False)  # Create a PPG class

fpex = fiducials.FpCollection(ppg_obj)  # Initialize the fiducials package
fiducial_points = fpex.get_fiducials(ppg_obj)  # Get fiducial points      
fiducial_obj = Fiducials(fiducial_points)  # Create a fiducials class

# Plot fiducial points
from pyPPG.datahandling import plot_fiducials
plot_fiducials(ppg_obj, fiducial_obj, savefig=False, legend_fontsize=8)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions