Source code for pyPPG.ppg_bm.derivs_ratios

import pyPPG

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

###########################################################################
####################### Get Ratios of PPG Derivatives #####################
###########################################################################
[docs] def get_derivs_ratios(s: pyPPG.PPG, fp: pyPPG.Fiducials): """ This function returns the biomarkers of Derivatives ratios. :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 Derivatives ratios - biomarkers_lst: list a biomarkers with name, definition and unit """ biomarkers_lst = [ ["Tu/Tpi", "Ratio of the u-point time vs. the pulse interval", "[%]"], ["Tv/Tpi", "Ratio of the v-point time vs. the pulse interval", "[%]"], ["Tw/Tpi", "Ratio of the w-point time vs. the pulse interval", "[%]"], ["Ta/Tpi", "Ratio of the a-point time vs. the pulse interval", "[%]"], ["Tb/Tpi", "Ratio of the b-point time vs. the pulse interval", "[%]"], ["Tc/Tpi", "Ratio of the c-point time vs. the pulse interval", "[%]"], ["Td/Tpi", "Ratio of the d-point time vs. the pulse interval", "[%]"], ["Te/Tpi", "Ratio of the e-point time vs. the pulse interval", "[%]"], ["Tf/Tpi", "Ratio of the f-point time vs. the pulse interval", "[%]"], ["(Tu-Ta)/Tpi", "Ratio of the difference between the u-point time and a-point time vs. the pulse interval", "[%]"], ["(Tv-Tb)/Tpi", "Ratio of the difference between the v-point time and b-point time vs. the pulse interval", "[%]"], ["Au/Asp", "Ratio of the u-point amplitude vs. the systolic peak amplitude", "[%]"], ["Av/Au", "Ratio of the v-point amplitude vs. the u-point amplitude", "[%]"], ["Aw/Au", "Ratio of the w-point amplitude vs. the u-point amplitude", "[%]"], ["Ab/Aa", "Ratio of the b-point amplitude vs. the a-point amplitude", "[%]"], ["Ac/Aa", "Ratio of the c-point amplitude vs. the a-point amplitude", "[%]"], ["Ad/Aa", "Ratio of the d-point amplitude vs. the a-point amplitude", "[%]"], ["Ae/Aa", "Ratio of the e-point amplitude vs. the a-point amplitude", "[%]"], ["Af/Aa", "Ratio of the f-point amplitude vs. the a-point amplitude", "[%]"], ["Ap2/Ap1", "Ratio of the p2-point amplitude vs. the p1-point amplitude", "[%]"], ["(Ac-Ab)/Aa", "Ratio of the difference between the b-point amplitude and c-point amplitude vs. the a-point amplitude", "[%]"], ["(Ad-Ab)/Aa", "Ratio of the difference between the b-point amplitude and d-point amplitude vs. the a-point amplitude", "[%]"], ["AGI", "Aging Index, (Ab-Ac-Ad-Ae)/Aa", "[%]"], ["AGImod", "Modified aging index, (Ab-Ac-Ad)/Aa", "[%]"], ["AGIinf", "Informal aging index, (Ab-Ae)/Aa", "[%]"], ["AI", "Augmentation index, (PPG(Tp2)-PPG(Tp1))/Asp", "[%]"], ["RIp1", "Reflection index of p1, Adp/(PPG(Tp1)-PPG(Tpi(0)))", "[%]"], ["RIp2", "Reflection index of p2, Adp/(PPG(p2)-PPG(Tpi(0)))", "[%]"], ["SC", "Spring constant, PPG''(Tsp)/((Asp-Au)/Asp)", "[nu]"], ["IPAD", "Inflection point area plus normalised d-point amplitude, AUCdia/AUCsys+Ad/Aa", "[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