Source code for pyPPG.ppg_bm.ppg_sig

import pyPPG

import pandas as pd
from pyPPG.ppg_bm.bm_extraction import get_biomarkers

###########################################################################
####################### Get Biomarkers of PPG Signal ######################
###########################################################################
[docs] def get_ppg_sig(s: pyPPG.PPG, fp: pyPPG.Fiducials): """ This function returns the biomarkers of PPG signal. :param s: object of PPG signal :type s: pyPPG.PPG object :param fp: object of fiducial points :type fp: pyPPG.Fiducials object :return: - df_pw: data frame with onsets, offsets and peaks - df_biomarkers: dictionary of biomarkers of PPG signal - biomarkers_lst: list a biomarkers with name, definition and unit """ biomarkers_lst = [ ["Tpi", "Pulse interval, the time between the pulse onset and pulse offset", "[s]"], ["Tpp", "Peak-to-peak interval, the time between two consecutive systolic peaks", "[s]"], ["Tsys", "Systolic time, the time between the pulse onset and dicrotic notch", "[s]"], ["Tdia", "Diastolic time, the time is between the dicrotic notch and pulse offset", "[s]"], ["Tsp", "Systolic peak time, the time between the pulse onset and systolic peak", "[s]"], ["Tdp", "Diastolic peak time, the time between the pulse onset and diastolic peak", "[s]"], ["deltaT","Time delay, the time between the systolic peak and diastolic peak", "[s]"], ["Tsw10", "Systolic width, the width at 10% of the systolic peak amplitude between the pulse onset and systolic peak", "[s]"], ["Tsw25", "Systolic width, the width at 25% of the systolic peak amplitude between the pulse onset and systolic peak", "[s]"], ["Tsw33", "Systolic width, the width at 33% of the systolic peak amplitude between the pulse onset and systolic peak", "[s]"], ["Tsw50", "Systolic width, the width at 50% of the systolic peak amplitude between the pulse onset and systolic peak", "[s]"], ["Tsw66", "Systolic width, the width at 66% of the systolic peak amplitude between the pulse onset and systolic peak", "[s]"], ["Tsw75", "Systolic width, the width at 75% of the systolic peak amplitude between the pulse onset and systolic peak", "[s]"], ["Tsw90", "Systolic width, the width at 90% of the systolic peak amplitude between the pulse onset and systolic peak", "[s]"], ["Tdw10", "Diastolic width, the width at 10% of the systolic peak amplitude between the systolic peak and pulse offset", "[s]"], ["Tdw25", "Diastolic width, the width at 25% of the systolic peak amplitude between the systolic peak and pulse offset", "[s]"], ["Tdw33", "Diastolic width, the width at 33% of the systolic peak amplitude between the systolic peak and pulse offset", "[s]"], ["Tdw50", "Diastolic width, the width at 50% of the systolic peak amplitude between the systolic peak and pulse offset", "[s]"], ["Tdw66", "Diastolic width, the width at 66% of the systolic peak amplitude between the systolic peak and pulse offset", "[s]"], ["Tdw75", "Diastolic width, the width at 75% of the systolic peak amplitude between the systolic peak and pulse offset", "[s]"], ["Tdw90", "Diastolic width, the width at 90% of the systolic peak amplitude between the systolic peak and pulse offset", "[s]"], ["Tpw10", "Pulse width, the sum of the systolic width and the diastolic width at 10%", "[s]"], ["Tpw25", "Pulse width, the sum of the systolic width and the diastolic width at 25%", "[s]"], ["Tpw33", "Pulse width, the sum of the systolic width and the diastolic width at 33%", "[s]"], ["Tpw50", "Pulse width, the sum of the systolic width and the diastolic width at 50%", "[s]"], ["Tpw66", "Pulse width, the sum of the systolic width and the diastolic width at 66%", "[s]"], ["Tpw75", "Pulse width, the sum of the systolic width and the diastolic width at 75%", "[s]"], ["Tpw90", "Pulse width, the sum of the systolic width and the diastolic width at 90%", "[s]"], ["Asp", "Systolic peak amplitude, the difference in amplitude between the pulse onset and systolic peak", "[nu]"], ["Adn", "Dicrotic notch amplitude, the difference in amplitude between the pulse onset and dicrotic notch", "[nu]"], ["Adp", "Diastolic peak amplitude, the difference in amplitude between the pulse onset and diastolic peak", "[nu]"], ["Aoff", "Pulse onset amplitude, the difference in amplitude between the pulse onset and pulse offset", "[nu]"], ["AUCpi", "Area under pulse interval curve, the area under the pulse wave between pulse onset and pulse offset", "[nu]"], ["AUCsys","Area under systolic curve, the area under the pulse wave between the pulse onset and the dicrotic notch", "[nu]"], ["AUCdia","Area under diastolic curve, the area under the pulse wave between the dicrotic notch and pulse offset", "[nu]"], ] header = ['name', 'definition', 'unit'] biomarkers_lst = pd.DataFrame(biomarkers_lst, columns=header) df_pw, df_biomarkers = get_biomarkers(s, fp, biomarkers_lst.name) return df_pw, df_biomarkers, biomarkers_lst