Skip to main content

ORIGINAL RESEARCH article

Front. Bioeng. Biotechnol., 09 June 2023
Sec. Biosensors and Biomolecular Electronics
Volume 11 - 2023 | https://doi.org/10.3389/fbioe.2023.1199604

PPGFeat: a novel MATLAB toolbox for extracting PPG fiducial points

  • School of Innovation, Design and Engineering, Mälardalen University, Västerås, Sweden

Photoplethysmography is a non-invasive technique used for measuring several vital signs and for the identification of individuals with an increased disease risk. Its principle of work is based on detecting changes in blood volume in the microvasculature of the skin through the absorption of light. The extraction of relevant features from the photoplethysmography signal for estimating certain physiological parameters is a challenging task, where various feature extraction methods have been proposed in the literature. In this work, we present PPGFeat, a novel MATLAB toolbox supporting the analysis of raw photoplethysmography waveform data. PPGFeat allows for the application of various preprocessing techniques, such as filtering, smoothing, and removal of baseline drift; the calculation of photoplethysmography derivatives; and the implementation of algorithms for detecting and highlighting photoplethysmography fiducial points. PPGFeat includes a graphical user interface allowing users to perform various operations on photoplethysmography signals and to identify, and if required also adjust, the fiducial points. Evaluating the PPGFeat’s performance in identifying the fiducial points present in the publicly available PPG-BP dataset, resulted in an overall accuracy of 99% and 3038/3066 fiducial points were correctly identified. PPGFeat significantly reduces the risk of errors in identifying inaccurate fiducial points. Thereby, it is providing a valuable new resource for researchers for the analysis of photoplethysmography signals.

1 Introduction

Photoplethysmography (PPG) detects changes in blood volume in the microvasculature of the skin through the absorption of light. The non-invasive technique is used to measure vital signs (Allen, 2007) and has been described in studies as a tool for monitoring heart rate, blood pressure, and respiratory rate (Fukushima et al., 2012; Karlen et al., 2013; He et al., 2014; Islam et al., 2017), and to identify persons with risk of diseases (Mahri et al., 2017; Chakraborty et al., 2020; Charlton et al., 2022b; Lee et al., 2022). However, extracting relevant features from the PPG signal is a challenging task (Elgendi et al., 2018; Chakraborty et al., 2019; Ab Hamid and Nayan, 2020).

The PPG waveform has been widely studied for a long time. Various feature extraction methods have been proposed in the literature (Elgendi et al., 2018; Chakraborty et al., 2019; Ab Hamid and Nayan, 2020). PPG is included in several wearable devices due to its non-complex setup and usefulness in the collection of a number of different and valuable physiological parameters (Almarshad et al., 2022). Despite this fact, there exists no agreed upon or standardized preprocessing framework allowing the use of the PPG signal for wearable applications without limitations (Prieto-Avalos et al., 2022). From choice of site for PPG signal acquisition to the features that can be extracted from the PPG signal, researchers have used various combinations of sensor interfacing, data recording, segmentation, filtration, and smoothing techniques (Chan et al., 2019).

There are several approaches for extracting PPG features in order to estimate different physiological parameters and vital signs (Khalid et al., 2018; Chen et al., 2019; Priyadarshini et al., 2021). One approach is the use of time- and/or frequency-domain analysis (Takada et al., 1996; Baek et al., 2010; Gil et al., 2010). Jaafar et al. (Jaafar and Rozali, 2018; Jaafar and Chung Xian, 2021) used only the time-domain of the PPG signal to estimate heart rate and breathing rate parameters. In another study, frequency-domain methods such as the Taguchi method (Suzuki and Ryu, 2014) were used in addition to time-domain analysis, in order to identify features which are relevant when estimating systolic blood pressure (Suzuki and Ryu, 2014).

To perform time-domain analysis, the velocity photoplethysmography (VPG), the acceleration photoplethysmography (APG), and the jerk photoplethysmography (JPG) are used. VPG, APG, and JPG correspond to the first, second and third PPG derivative, respectively.

In addition to the aforementioned feature extraction methods, the application of machine learning techniques has shown accurate and promising results and therefore seems to be an effective approach in extracting relevant features from PPG signals (El-Hajj and Kyriacou, 2020). Advanced signal processing techniques have also been used to extract relevant features for the estimation of blood pressure and other vital signs. An example of such a method is the Empirical Mode Decomposition (EMD) method (Vadrevu and Manikandan, 2017), which has been used to decompose PPG signals into a set of intrinsic mode functions (IMFs). The use of Discrete Wavelet Transform (DWT) has also been proposed and acceptable results have been achieved when used in the analysis of PPG signals (Paradkar and Chowdhury, 2015; Ricardo Ferro et al., 2015; Argüello Prada and Serna Maldonado, 2018).

Elgendi et al. (Elgendi et al., 2018) have attempted to standardize the nomenclature of the PPG, VPG and APG fiducial points. However, there is currently a lack of a widely accepted standard for the automatic detection of PPG fiducial points and its derivatives. Table 1 provides a general description of the main fiducial points in the PPG, VPG and APG.

TABLE 1
www.frontiersin.org

TABLE 1. Characteristic points of the PPG signal and its derivatives.

The PPG waveform (Figure 1A) consists of four main points of reference: the onset (O), the systolic peak (S), the dicrotic notch (N), and the diastolic peak (D). These points represent specific stages of the cardiac cycle, such as the beginning of the pulse in the systolic phase (onset) and the maximum peak during systolic ejection (systolic peak). The dicrotic notch (N) marks the transition from systole to diastole, while the diastolic peak (D) represents the minimum pressure in the arterial system. As individuals age, the dicrotic notch and diastolic peaks may become less pronounced in the PPG waveform (Mejía-Mejía et al., 2022), the APG waveform’s e and f points correspond to N and D.

FIGURE 1
www.frontiersin.org

FIGURE 1. Illustration of fiducial points, where the blue lines in (A) represent the PPG waveform, (B) represent the VPG waveform, and (C) represent the APG waveform (Abdullah et al., 2023).

The VPG waveform (Figure 1B) represents the velocity of the amplitude changes over time. It has two prominent peaks (w and y) in the systolic phase and one peak (z) in the diastolic phase. These peaks correspond to the points of maximum and minimum slope in the systolic and diastolic phases, respectively. Additionally, there is a local minimum (x) in the systolic phase which corresponds to the systolic peak of the PPG. The APG waveform (Figure 1C) provides additional information by including four prominent peaks in the systolic phase (a, b, c, and d) and two in the diastolic phase (e and f). These peaks correspond to the points of maximum acceleration in the waveform during the systolic and diastolic phases, respectively, and provide additional information about the dynamics of blood flow during these phases of the cardiac cycle (Charlton et al., 2018). Suboh et al. (Suboh et al., 2022) reported on the use of the third and fourth derivatives of the PPG waveform for detecting fiducial points in individuals with ischemic heart disease. However, Suboh et al. did not find the c and d points in all the waveforms they analyzed and thereby their features tables is incomplete.

In contrast, Abdullah et al. (Abdullah et al., 2023) have proposed an accurate method for classifying and finding the c and d points of the APG. This is significant progress because the statistical analysis of APG fiducial points can offer insights into arterial stiffness, aging, and essential hypertension (Takada et al., 1996; Brillante et al., 2008; Gil et al., 2010; Mok Ahn, 2017; Elgendi et al., 2019; Sarhaddi et al., 2022).

To facilitate research, open-source toolboxes for PPG have been developed and evaluated. Examples of these toolboxes are PPG-beats, PPGI, PPGTempStitch, and PhysioNet’s Cardiovascular Signal Toolbox and HRV Toolkit.

PPG-beats (Charlton et al., 2022a) is a MATLAB library which provides algorithms for detecting heartbeats from PPG-signals. It also provides a framework for assessing the performance of PPG heartbeat detectors in eight publicly available datasets containing both PPG and electrocardiogram (ECG) data. These are further described in Section 2.1.

PPGI (Pilz et al., 2019) is a MATLAB toolbox for PPG imaging which takes face videos as input for PPG and incorporates computer vision algorithms in order to estimate heart rate.

PPGTempStitch (Tang et al., 2021) is a MATLAB toolbox that takes annotated PPG waveforms as input and generates longer PPG waveforms simulating regular, irregular, fast rhythm, and noisy PPG waveforms. Two methods, which are based on the systolic peak and the onset respectively, are used for stitching the waveforms.

The PhysioNet Cardiovascular Signal Toolbox (Goldberger et al., 2000; Vest et al., 2018) is a toolbox for calculating heart rate variability, whereas the PhysioNet HRV Toolkit (Niskanen et al., 2004) allows for visualizing NN interval time series, automated removal of outliers and calculation of commonly used heart rate variability statistics.

However, we have not identified a toolbox aimed to identify fiducial points. In this article, we present PPGFeat, a robust, accurate and automated MATLAB based PPG feature extraction toolbox. PPGFeat has been developed and evaluated using a publicly available dataset that contains PPG waveforms collected from a diverse population including both healthy individuals and individuals with cardiovascular disease or other pathological disorders. The data was collected using a finger probe. The PPGFeat toolbox filters and examines the PPG waveform and its derivatives, provides the possibility to identify fiducial points from the PPG, VPG and APG, and generate a features table which can be further used for the statistical and AI based predictive analysis.

2 Materials and methods

2.1 Dataset selection

PPG-beats (Charlton et al., 2022a) includes the following eight publicly available datasets in their performance framework: CapnoBase IEEE TBME RR benchmark dataset, BIDMC, MIMIC PERform Training Dataset, MIMIC PERform Testing Dataset, MIMIC PERform AF Dataset, MIMIC PERform Ethnicity Dataset, WESAD, and PPG-DaLiA.

CapnoBase(CapnoBase IEEE TBME Respiratory Rate Benchmark - UBC Library Open Collections; Karlen et al., 2013) and BICMC(Goldberger et al., 2000; Pimentel et al., 2017) contain high-quality data collected during hospital monitoring. The patients in CapnoBase were 29 children and 13 adults receiving anesthesia whereas the 53 patients in BICMC were critically ill. The MIMIC PERform Training, Testing and AF datasets (Charlton et al., 2022a), which are subsets of Physionet’s MIMIC II dataset, also contain data from critically ill and hospitalized patients but the data is of lower quality due to being collected in routine clinical care. The MIMIC PERform training and testing datasets contain PPG, ECG, and respiration signals from 100 adults and 100 neonates whereas the MIMIC PERform AF dataset contains similar signals from 19 patients with atrial fibrillation and 16 patients with normal sinus rhythm. The MIMIC PERform Ethnicity Dataset (Charlton et al., 2022a), which is a subset of Physionet’s MIMIC II matched waveform dataset, contains data from 100 white and 100 black patients who were critically ill.

Three other datasets containing data from patients are The University of Queensland Vital Signs dataset (Saeed et al., 2011; Liu et al., 2012), which is another subset of PhysioNet’s MIMIC II dataset, and the PPG-BP dataset (Liang et al., 2018a). A wide range of data collected from 32 patients undergoing surgery with anaesthesia is included in the University of Queensland dataset (Liu et al., 2012), whereas the MIMIC II dataset (Saeed et al., 2011) contains ECG, respiratory rate, arterial blood pressure, and PPG signals from 90 patients admitted to an intensive care unit. Certain records in the MIMIC II dataset (Saeed et al., 2011) include systolic peak annotations. The PPG-BP dataset (Liang et al., 2018a) contains data from 219 patients of equal gender distribution who were admitted to the Guilin People’s Hospital in Guilin, China. The age of the patients was 21–86 years with a median age of 58 and they had several different diseases. PPG-BP integrates identified and comprehensive clinical data which allows researchers to explore and understand the relationship between cardiovascular conditions and PPG signals that were collected using a finger probe.

The final two datasets included in PPG-beats (Charlton et al., 2022a) were collected with the wearable Empatica E4. WESAD (Schmidt et al., 2018) contains data from 15 adults relaxing by a table while reading neutral material, watching a number of amusing video clips, conducting a stress test, and performing mediated recovery. PPG-DaLiA (Reiss et al., 2019) contains data from 15 adults performing the following daily activities according to a protocol: sitting, ascending and descending stairs, playing table soccer, cycling, driving a car, taking a lunch break, walking, and working by a desk.

To analyze PPG signals, data from both healthy and ill people is required. None of the above datasets meets this requirement. In this work, the PPG-BP dataset (Liang et al., 2018a) was selected since it contains the highest number of adult patients, and information on each patient’s disease. Furthermore, it contains data from both young and old adults of both genders. The PPG-BP dataset contains three 2.1 s long PPG segments for each patient. The PPG segments, which were collected with a sampling frequency of 1 kHz, contain 2,100 sampling points. Information on each PPG segment’s Skewness SQI (Ssqi) is reported in the dataset. Only records with a positive Ssqi are included to reduce the artifacts caused by noise and motion (Elgendi, 2016).

2.2 System design

The developed MATLAB toolbox PPGFeat can automatically identify the fiducial points. The PPGFeat toolbox allows for the application of various preprocessing techniques, such as the use of a filter, smoothing, removing baseline drift, the possibility of calculating PPG derivatives, and implementing algorithms for detecting and highlighting PPG fiducial points. The results can be used to generate more statistically accurate features for further analysis of the PPG signals. The block diagram in Figure 2 outlines the process of analyzing PPG, VPG and APG signals using the PPGFeat toolbox. The process starts with data preparation, where the raw PPG signals are segmented based on their Ssqi. The signals are then subjected to preprocessing, where they are filtered to remove any noise or artifacts. The next stage involves the use of a novel algorithm to extract the fiducial points from the preprocessed signals. The extracted fiducial points are visually inspected to ensure accuracy, and finally, they are used to generate a features table that summarizes the key features of the PPG signals which can be used for further analysis and interpretation.

FIGURE 2
www.frontiersin.org

FIGURE 2. Block diagram of the complete fiducial point detection system.

2.2.1 Data preparation

Data preparation is an essential step in analyzing the online available datasets. It explains the mathematical foundations of the data processing and segmenting the data into raw PPG segments for further analysis.

2.2.1.1 Mathematical foundations

A moving average filter is applied using the MATLAB function movmean to reduce random noise and improve the quality of the signal. The governing mathematical equation of the moving average (1) can be written as follows:

yi=1/Ni=0N1xi+j(1)

where x is the raw PPG signal, y denotes the filtered PPG signal, and N denotes the average number of points. The derivatives of PPG up to the third level are calculated using the governing Eqs 24,

VPG=ddtPPG=ddtyt+1yt(2)
APG=ddtVPG=ddtyt+1+yt12yt(3)
JPG=ddtAPG=ddtyt+22yt+1+2ytyt1(4)

where y(t) is a filtered PPG signal, y(t+1) and y(t-1) represent the next and the previous sample respectively, and y(t+2) represents the 2nd next sample. The VPG, APG and JPG of the denoised PPG signal are calculated using MATLAB’s diff function.

2.2.1.2 Data segmentation

Figure 3 illustrates the process of selecting raw PPG segments for each subject in the PPG-BP database (Liang et al., 2018a) using a Ssqi threshold of 0.41. The recorded PPG segments contain 2,100 data points collected during 2.1 s. This process allows for the selection of one single high Ssqi segment for each subject. The raw values of the selected segments are stored in a matrix as shown in the rightmost box of Figure 3, while a second matrix store the corresponding Ssqi values and subject ids. This method is applied to all subjects. It is recommended to generate an input matrix with dimensions r x w, where r represents the number of subjects and w represents the PPG data for each subject. Additionally, users of PPGFeat have the option to upload an optional second matrix. This matrix should have dimensions r x 2, where column 1 contains the subject ids, and column 2 contains the calculated Ssqi values. The generated PPG segments matrix is then provided as input to the fiducial point extraction process in the PPGFeat toolbox.

FIGURE 3
www.frontiersin.org

FIGURE 3. Data selection and preparation process (Abdullah et al., 2023).

2.3 PPGFeat toolbox

This section provides an overview of the PPGFeat toolbox GUI and the various steps involved in the PPG data analysis. The PPGFeat toolbox offers a comprehensive set of features, including preprocessing, fiducial point extraction, and visual inspection of fiducial points. In addition, it enables the generation of a PPG features table which can be used for later analysis.

2.3.1 Preprocessing

Previous studies have discussed the importance of choosing the right filter and frequency range for PPG signal analysis (Karlen et al., 2012; Peng et al., 2015; Zhang et al., 2017; Liang et al., 2018c; Huang et al., 2022; Wan et al., 2022). Liang et al. (Liang et al., 2018c) found that a Chebyshev type II 4th order, 20 db filter with a frequency range of 0.4–8 Hz was the most effective in improving the quality of PPG signals. The PPGFeat toolbox uses the same filter design to extract PPG, VPG and APG fiducial points and removes high- and low-frequency noise followed by the moving average filter to further reduce the random noise and improve the signal quality. Furthermore, PPGFeat provides flexibility in the preprocessing settings by allowing users to select different cutoff frequencies for the Chebyshev type II 4th order, 20 dB filter. This is further explained in Section 2.3.3.1.

2.3.2 Fiducial point extraction algorithm

The flowchart in Figure 4 presents a comprehensive methodology for identifying fiducial points using filtered PPG, VPG, and APG waveforms. The user first selects the unfiltered high Ssqi raw PPG segments as explained in Section 2.2.1.2 which is then processed through the filtering stage as explained in Section 2.3.1. Second, the selected segment is processed using the MATLAB-functions islocalmax and islocalmin which identify and highlight the O and S points of the PPG segment, the O points will be used to extract the single PPG segment for further processing. Third, the single PPG segment is differentiated, and a moving average is applied using the MATLAB functions diff and movmean respectively, to obtain the VPG and APG waveforms. Once all the derivatives of a single PPG segment are obtained, the algorithm starts to locate the fiducial points of the PPG. The O point is the first minima of the PPG whereas the S point is the first global maxima of the PPG. The process is shown in Figure 4 flowchart and Figure 5 (Case I A, Case II A and Case III A). The extraction of the N and D points is explained in Section 2.3.2.1.

FIGURE 4
www.frontiersin.org

FIGURE 4. Flowchart of the PPG fiducial point extraction algorithm, the red portion of the flowchart describes the CnD algorithm for APG classification, and the extraction of c and d as described in Abdullah et al. (2023)).

FIGURE 5
www.frontiersin.org

FIGURE 5. PPG fiducial point extraction through Case I, II and III, where (A) is the PPG waveform, (B) is the VPG waveform, (C) is the APG waveform, which the algorithm examines between the b and e points in order to classify it into Case I, II or III, and (D) is the JPG waveform, which is used to extract fiducial points for the APG and PPG waveforms.

The MATLAB functions islocalmax and islocalmin are also applied on the VPG waveform in order to identify four additional fiducial points, i.e., w which is the first maxima of VPG, x which is the corresponding systolic point of the PPG waveform, y which is the first minima of the VPG, and z which is the second maxima of the VPG or the zero-crossing point of the APG after the e point. The process of extracting the fiducial points is shown in Figure 4 flowchart and Figure 5 (Case I B, Case II B and Case III B).

2.3.2.1 CnD algorithm

The analysis of the APG waveform using the CnD algorithm (Abdullah et al., 2023) begins at the top of the red portion of Figure 4 flowchart. The a point is the first global maxima in the systolic region. This is followed by the first global minima, which is the b point as shown in Figure 5 (Case I C, Case II C and Case III C). However, identifying the c and d peaks in the APG waveforms is challenging due to the variability of their characteristics caused by stationary and non-stationary effects and variations in heart rate. To address this challenge, the algorithm examines the region between the locations of the b and e peaks of the APG waveform and their corresponding location in the third derivative of the PPG waveform, using three distinct algorithms: Case I, Case II, and Case III.

The CnD algorithm (Abdullah et al., 2023) is used to analyze the APG waveform in order to identify the prominent points in the systolic phase (a, b, c, and d) and the diastolic phase (e and f). The algorithm employs different methods depending on how prominent the c and d points are in the APG waveform.

Case I: When there are no prominent c and d points in the APG, as shown in Figure 5 (Case I C), the CnD algorithm examines the JPG waveform (Figure 5: Case I D). This involves locating the zero-crossing points and the first maxima of the JPG waveform that occurs after the second zero-crossing. As shown in Figure 5 (Case I C and D), the first maxima in the JPG waveform corresponds to the c point in the APG waveform, while the APG waveform’s second zero-crossing corresponds to the d point. The e point in the APG waveform corresponds to the third zero-crossing of the JPG waveform or the second maxima of the APG waveform, and the f point corresponds to the fourth zero-crossing of the JPG waveform or the second minima of the APG waveform. The N and D points of the PPG waveform correspond to the e and f points of the APG waveform (Figure 5: Case I A, C and D).

Case II: When the c and d points are undetectable in the APG waveform, as shown in Figure 5 (Case II C), the JPG waveform (Figure 5: Case II D) is analyzed. In this case, the second minima of the JPG waveform is located in the middle of the c and d points. As shown in (Figure 5: Case II C and D), the CnD algorithm calculates the corresponding c and d point in the APG waveform by taking the second minima of the JPG waveform and subtract 2.5% of the total wavelength (T) of the APG waveform for the c point, and add 2.5% T for the d point, respectively. The e point in the APG waveform corresponds to the third zero-crossing of the JPG waveform or the second maxima of the APG waveform, and the f point corresponds to the fourth zero-crossing of the JPG waveform or the second minima of the APG waveform. The N and D points of the PPG waveform correspond to the e and f points of the APG waveform (Figure 5: Case II A, C and D).

Case III: When the c and d points are prominent in the APG waveform, as shown in Figure 5 (Case III C), the CnD algorithm can accurately locate them directly from the analysis of the APG waveform. In this case, the c point is the second maxima of the APG waveform, and the d point is the second minima of the APG waveform (Figure 5: Case III C). The e point in the APG waveform corresponds to the third zero-crossing of the JPG waveform or the second maxima of the APG waveform, and the f point corresponds to the fourth zero-crossing of the JPG waveform or the second minima of the APG waveform. The N and D point of the PPG waveform correspond to the e and f points of the APG waveform (Figure 5: Case III A, C and D).

2.3.3 GUI based visual inspection of fiducial points

The PPGFeat toolbox GUI (Figure 6) provides an opportunity to select the data preprocessing parameters, visualize the fiducial points and perform manual inspection and adjustments of the extracted fiducial points.

FIGURE 6
www.frontiersin.org

FIGURE 6. The graphical user interface of the PPGFeat toolbox.

2.3.3.1 GUI

The PPGFeat toolbox GUI shown in Figure 6 is designed to support the user in performing various operations on PPG signals, including filtering, automatically extracting fiducial points, visualizing the fiducial points of the PPG, VPG and APG and generating a features table. The key features of the PPGFeat GUI are.

1. Filter Frequency: The user is allowed to specify the sampling frequency (Fs) and the bandpass filter frequencies (FL for low-pass and FH for high-pass) for a Chebyshev Type II 4th order filter with a 20 dB attenuation (Figure 7A). This filter is applied to the raw PPG signal in order to obtain the filtered PPG signal.

2. Data Loading: The user can load the raw PPG data of a subject in a comma-separated values (.csv) file by using the “Load PPG” button shown in Figure 7B. In this study, the raw PPG segments were obtained through the data segmentation process explained in Section 2.2.1.2. Additionally, the GUI allows the user to load the Ssqi and data index values of the PPG data using the “Load Ssqi” button, as shown in Figure 7C. If the data index and Ssqi values are not available, the user can select the “Skip Ssqi” option. When developing PPGFeat, the raw PPG data consisted of 219 subjects with 2,100 data points for each subject, resulting in a matrix with the dimensions 219 x 2,100.

3. Fiducial Point Extraction Process: After loading the data, the raw and filtered PPG waveforms are displayed, see Figures 8A, B. Using the filtered PPG, the PPGFeat toolbox locates the starting points of each segment from the PPG (Figure 8B), which are displayed as “Min1″ and “Min2″ in the GUI. The user can change the selected PPG segment by altering the values in “Min1″ and “Min2″, and then plot the single PPG segment and their corresponding VPG, APG segments by clicking the “Plot” button (Figure 8C). The plots, which are shown in Figure 8 D-F, highlight the fiducial points of each waveform. If a fiducial point is incorrectly identified, the user can click the “Update” button in Figure 8C to automatically correct the value and regenerate the plots. To examine the PPG waveform of the next subject, the user can press the “Next” button in Figure 8C. The extracted fiducial points of the current subject will be automatically stored when clicking the “Next” button.

4. Data Storage: After completing the fiducial point extraction process, the user can generate output files by clicking the “Generate output” button in Figure 9A. These files include the filtered and zero-padded data of the PPG and APG segments, PPG segment locations (ID_min1_min2), presence of c and d points, a PPG features table listing the PPG, VPG, and APG fiducial points, filtered PPG waveforms and a MATLAB. mat file containing all generated output files. Table 2 summarizes the details of the output files generated by the PPGFeat toolbox.

FIGURE 7
www.frontiersin.org

FIGURE 7. Filter frequency selection (A) and PPG and Ssqi data loading (B, C).

FIGURE 8
www.frontiersin.org

FIGURE 8. Fiducial point extraction process, where (A, B) show the raw and filtered PPG waveform, (C) is the GUI control panel, (D–F) show the PPG segment and its derivatives along with the extracted fiducial points, and (G) shows the single PPG segment of each filtered PPG waveform.

FIGURE 9
www.frontiersin.org

FIGURE 9. Data storage, where (A) includes the “Generate output” and “Exit” buttons and (B) shows the generated output files.

TABLE 2
www.frontiersin.org

TABLE 2. Output files from PPGFeat toolbox, where n is the number of samples in the used dataset (n = 219).

2.3.3.2 Visual inspection of fiducial points

The visual inspection of fiducial points is a crucial step in the analysis of PPG signals. This step allows the user to confirm the accuracy of the extracted fiducial points and to make any necessary adjustments. The PPGFeat toolbox GUI allows the user to examine the PPG, VPG, and APG plots, and to visually inspect the extracted fiducial points as shown in Figures 10A–C. The PPGFeat toolbox highlights the fiducial points on the plots and displays their corresponding time-domain values which makes it easy for the user to identify and adjust the fiducial points if necessary. By conducting a visual inspection, the user can ensure that the extracted fiducial points accurately represent the features of the PPG signals. This will lead to more reliable and statistically accurate results.

FIGURE 10
www.frontiersin.org

FIGURE 10. Visual inspection of fiducial points where (A–C) show the PPG, VPG and APG waveforms (left) and their fiducial points with respect to standard waveforms (right).

2.4 Features table

The features table generated by the PPGFeat toolbox provides the fiducial points magnitude and time domain values of the PPG, VPG and APG. A total of 30 features are generated, and include the magnitude features O, S, N, D, Min2, w, x, y, z, a, b, c, d, e, f, and time domain features O_t, S_t, N_t, D_t, Min2_t, w_t, x_t, y_t, z_t, a_t, b_t, c_t, d_t, e_t, and f_t. These features can be used to calculate additional statistical features including, e.g., pulse area (Wang et al., 2009), pulse interval (Poon et al., 2004), augmentation index (Takazawa et al., 1998), and ratios of different fiducial points (Takazawa et al., 1998; Ushiroyama, 2005; Hyun et al., 2007).

The extracted features can be used to determine various physiological parameters such as heart rate (Fu et al., 2008), heart rate variability (Gil et al., 2010), systolic blood pressure (Suzuki and Ryu, 2014), and other cardiovascular parameters (Charlton et al., 2022b). The features can further be used for machine learning, and deep learning to develop predictive models for various cardiovascular diseases (Liang et al., 2018b; Khalid et al., 2018; Subashini et al., 2020; Allen et al., 2021).

3 Results

To evaluate the identification and detection of fiducial points, four performance parameters are calculated using Eqs 58, which include accuracy (Acc), error rate (Err), sensitivity (S), and positive predictivity (PP). Table 3 summarizes the complete results of the performace evaluation.

Acc=TPTP+FP+FN×100(5)
Err=FP+FNTFP×100(6)
S=TPTP+FN×100(7)
PP=TPTP+FP×100(8)

TABLE 3
www.frontiersin.org

TABLE 3. Performance evaluation of fiducial points.

where,

TP = True positive (Correctly detected points)

FP = False positive (Incorrectly detected points)

FN = False negative (Missing points)

N = Number of subjects

TFP = Total fiducial points

A total of 219 PPG waveforms were processed through the PPGFeat toolbox, and manual marking of fiducial points was performed alongside an automated process using the proposed algorithm. A total of 3066 fiducial points were evaluated out of which 3038 fiducial points were accurately identified by the fiducial point extraction algorithm included in the PPGFeat toolbox, hence a high precision and accuracy in extracting the fiducial points, with an overall accuracy of 99.08% is demonstrated. This is reflected in the accuracy scores for each of the three cases, Case I, Case II, and Case III, which were analyzed separately.

Case I, which accounted for 140 waveforms, showed a fiducial point detection accuracy of 99.29%. Out of 1960 fiducial points in Case I, the algorithm accurately identified 1946, resulting in a sensitivity of 99.90% and a positive predictivity of 99.39%. The overall error rate for Case I was 0.71%. Regarding Case II, which accounted for 54 waveforms, a noticeable presence of c and d points was shown. The algorithm achieved a fiducial point detection accuracy of 98.15%. Out of the total 756 fiducial points in Case II, the algorithm accurately identified 742, resulting in a sensitivity of 98.93% and a positive predictivity of 99.20%. The overall error rate for Case II was 1.85%. Finally, Case III, which consisted of 25 waveforms with a prominent presence of c and d points, showed a perfect accuracy of 100% in detecting the fiducial points. Out of the total 350 fiducial points in Case III, all were accurately identified, resulting in a sensitivity of 100% and a positive predictivity of 100%. The error rate for Case III was 0%.

4 Discussion

This article provides information regarding the design and development of the MATLAB based PPGFeat toolbox. The development of the PPGFeat toolbox is motivated by the increasing interest in using PPG signals and their features for various medical applications, including the diagnosis of cardiovascular disease and estimation of systolic blood pressure. However, accurate identification of the fiducial points in the PPG, VPG, and APG waveforms is crucial in order to carry out these tasks with high precision and accuracy. Despite the importance of fiducial point identification, we have not identified any toolbox which is specifically designed for this purpose.

The PPGFeat toolbox was developed using the publicly available dataset PPG-BP dataset (Liang et al., 2018a) which contains PPG waveforms collected from a diverse population including both healthy individuals and individuals with cardiovascular disease or other pathological disorders (Elgendi et al., 2019; Welykholowa et al., 2020). PPG-BP contains a good representation of diverse patients of different ages and with well documented health status, including patients with relevant diseases and healthy individuals. In addition, the Ssqi reported in the PPG-BP dataset makes it possible to reduce the influence of the artifacts in a controlled way.

The PPGFeat toolbox features an interactive, user-friendly and comprehensive solution which facilitates the analysis of the fiducial point extraction using the novel CnD algorithm (Abdullah et al., 2023) on PPG, VPG, and APG waveforms. A major advantage of this toolbox is its ability to evaluate the fiducial points in real-time, which allows the user to validate each waveform individually. Thereby, the risk of errors in the identification of inaccurate fiducial points is reduced. The toolbox also promotes uniformity in existing datasets for evaluating PPG fiducial points, making it a valuable tool for researchers and healthcare professionals.

The PPGFeat toolbox offers an array of signal processing steps, including the selection of the bandpass filter frequencies of a Chebyshev type II 4th order, 20 dB filter, and for different sampling rates. The bandpass filter removes high- and low-frequency noise, while the moving average filter further improves the signal quality by reducing random noise. The toolbox generates a features table comprising time domain and magnitude parameters of the waveforms that can be used for statistical analysis and to determine various physiological parameters such as heart rate (Fu et al., 2008), heart rate variability (Gil et al., 2010), systolic blood pressure (Suzuki and Ryu, 2014), and other cardiovascular parameters (Charlton et al., 2022b). This valuable resource can save researchers time and effort in the preprocessing and analysis of PPG signals.

The performance of the PPGFeat toolbox was evaluated by processing 219 PPG waveforms. The results showed a high performance in extracting the fiducial points, with an overall accuracy of 99.08%. The algorithm’s accuracy was also analyzed for three different cases between which the prominence of the c and d points varies. Case I had a fiducial point detection accuracy of 99.29% and an error rate of 0.71%, Case II had an accuracy of 98.15% and an error rate of 1.85%, and Case III had a perfect accuracy of 100%. These results demonstrate the PPGFeat toolbox’s effectiveness and accuracy in extracting fiducial points from PPG waveforms.

5 Conclusion

The PPGFeat toolbox developed in MATLAB is a powerful tool offering an interactive user interface with the ability to accurately evaluate fiducial points in real-time, along with the ability for exporting a comprehensive features table. This makes PPGFeat an attractive option for researchers and healthcare professionals looking to save time and effort in PPG signal analysis. The visual representation of the data provided by the PPGFeat toolbox, along with the ability to store the processed data for conducting further analysis, makes it a unique analysis tool. Furthermore, the features generated by the PPGFeat toolbox have the potential to be used for AI-based predictive analysis, and future work could involve its application on other datasets for further evaluation and comparison.

Data availability statement

Publicly available PPG-BP datasets were analyzed in this study. This data can be found here: https://doi.org/10.6084/m9.figshare.5459299. The PPGFeat toolbox along with documentation, demo video, and preprocessed data are available at https://github.com/saadsur/PPGFeat.

Author contributions

SA designed the study. SA developed the algorithm, designed the MATLAB toolbox, performed the validation and performance analysis and SA and AK drafted the manuscript. All authors provided directions, feedback, and/or revised the manuscript. All authors contributed to the article and approved the submitted version.

Funding

This research was funded by Mälardalen University.

Conflict of interest

The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

Publisher’s note

All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.

Supplementary material

The Supplementary Material for this article can be found online at: https://www.frontiersin.org/articles/10.3389/fbioe.2023.1199604/full#supplementary-material

References

Ab Hamid, H., and Nayan, N. A. (2020). Methods of extracting feature from photoplethysmogram waveform for non-invasive diagnostic applications. Int. J. online Biomed. Eng. 16, 39–62. doi:10.3991/ijoe.v16i09.13577

CrossRef Full Text | Google Scholar

Abdullah, S., Hafid, A., Folke, M., Lindén, M., and Kristoffersson, A. (2023). A novel fiducial point extraction algorithm to detect C and D points from the acceleration photoplethysmogram (CnD). Electronics 12, 1174. doi:10.3390/ELECTRONICS12051174

CrossRef Full Text | Google Scholar

Allen, J., Liu, H., Iqbal, S., Zheng, D., and Stansby, G. (2021). Deep learning-based photoplethysmography classification for peripheral arterial disease detection: A proof-of-concept study. Physiol. Meas. 42, 054002. doi:10.1088/1361-6579/ABF9F3

CrossRef Full Text | Google Scholar

Allen, J. (2007). Photoplethysmography and its application in clinical physiological measurement. Physiol. Meas. 28, R1–R39. doi:10.1088/0967-3334/28/3/R01

PubMed Abstract | CrossRef Full Text | Google Scholar

Almarshad, M. A., Islam, M. S., Al-Ahmadi, S., and Bahammam, A. S. (2022). Diagnostic features and potential applications of PPG signal in healthcare: A systematic review. Healthc. (Basel) 10, 547. doi:10.3390/HEALTHCARE10030547

CrossRef Full Text | Google Scholar

Argüello Prada, E. J., and Serna Maldonado, R. D. (2018). A novel and low-complexity peak detection algorithm for heart rate estimation from low-amplitude photoplethysmographic (PPG) signals. J. Med. Eng. Technol. 42, 569–577. doi:10.1080/03091902.2019.1572237

PubMed Abstract | CrossRef Full Text | Google Scholar

Baek, H. J., Kim, K. K., Kim, J. S., Lee, B., and Park, K. S. (2010). Enhancing the estimation of blood pressure using pulse arrival time and two confounding factors. Physiol. Meas. 31, 145–157. doi:10.1088/0967-3334/31/2/002

PubMed Abstract | CrossRef Full Text | Google Scholar

Brillante, D. G., O’sullivan, A. J., and Howes, L. G. (2008). Arterial stiffness indices in healthy volunteers using non-invasive digital photoplethysmography. Blood Press 17, 116–123. doi:10.1080/08037050802059225

PubMed Abstract | CrossRef Full Text | Google Scholar

CapnoBase IEEE TBME Respiratory Rate Benchmark - UBC Library Open Collections CapnoBase IEEE TBME respiratory rate benchmark - UBC library open collections. Available at: https://open.library.ubc.ca/collections/researchdata/items/1.0395424 (Accessed February 6, 2023).

Google Scholar

Chakraborty, A., Sadhukhan, D., and Mitra, M. (2019). An automated algorithm to extract time plane features from the PPG signal and its derivatives for personal health monitoring application. IETE J. Res. 68, 379–391. doi:10.1080/03772063.2019.1604178

CrossRef Full Text | Google Scholar

Chakraborty, A., Sadhukhan, D., Pal, S., and Mitra, M. (2020). Automated myocardial infarction identification based on interbeat variability analysis of the photoplethysmographic data. Biomed. Signal Process Control 57, 101747. doi:10.1016/j.bspc.2019.101747

CrossRef Full Text | Google Scholar

Chan, G., Cooper, R., Hosanee, M., Welykholowa, K., Kyriacou, P. A., Zheng, D., et al. (2019). Multi-site photoplethysmography technology for blood pressure assessment: Challenges and recommendations. J. Clin. Med. 8, 1827. doi:10.3390/JCM8111827

PubMed Abstract | CrossRef Full Text | Google Scholar

Charlton, P. H., Celka, P., Farukh, B., Chowienczyk, P., and Alastruey, J. (2018). Assessing mental stress from the photoplethysmogram: A numerical study. Physiol. Meas. 39, 054001. doi:10.1088/1361-6579/AABE6A

PubMed Abstract | CrossRef Full Text | Google Scholar

Charlton, P. H., Kotzen, K., Mejía-Mejía, E., Aston, P. J., Budidha, K., Mant, J., et al. (2022a). Detecting beats in the photoplethysmogram: Benchmarking open-source algorithms. Physiol. Meas. 43, 085007. doi:10.1088/1361-6579/AC826D

PubMed Abstract | CrossRef Full Text | Google Scholar

Charlton, P. H., Kyriaco, P. A., Mant, J., Marozas, V., Chowienczyk, P., and Alastruey, J. (2022b). Wearable photoplethysmography for cardiovascular monitoring. Proc. IEEE Inst. Electr. Electron Eng. 110, 355–381. doi:10.1109/JPROC.2022.3149785

PubMed Abstract | CrossRef Full Text | Google Scholar

Chen, S., Ji, Z., Wu, H., and Xu, Y. (2019). A non-invasive continuous blood pressure estimation approach based on machine learning. Sensors 19, 2585. doi:10.3390/s19112585

PubMed Abstract | CrossRef Full Text | Google Scholar

Elgendi, M., Liang, Y., and Ward, R. (2018). Toward generating more diagnostic features from photoplethysmogram waveforms. Diseases 6, 20. doi:10.3390/DISEASES6010020

PubMed Abstract | CrossRef Full Text | Google Scholar

Elgendi, M., Fletcher, R., Liang, Y., Howard, N., Lovell, N. H., Abbott, D., et al. (2019). The use of photoplethysmography for assessing hypertension. NPJ Digit. Med. 2, 60. doi:10.1038/s41746-019-0136-7

PubMed Abstract | CrossRef Full Text | Google Scholar

Elgendi, M. (2016). Optimal signal quality index for photoplethysmogram signals. Bioengineering 3, 21. doi:10.3390/BIOENGINEERING3040021

PubMed Abstract | CrossRef Full Text | Google Scholar

El-Hajj, C., and Kyriacou, P. A. (2020). A review of machine learning techniques in photoplethysmographyfor the non-invasive cuff-less measurement of blood pressure. Biomed. Signal Process Control 58, 101870. doi:10.1016/j.bspc.2020.101870

CrossRef Full Text | Google Scholar

Fu, T., Liu, S.-H., and Tang, K. (2008). Heart rate extraction from photoplethysmogram waveform using wavelet multi-resolution analysis. J. Med. Biol. Eng. 28, 229–232.

Google Scholar

Fukushima, H., Kawanaka, H., Bhuiyan, M. S., and Oguri, K. (2012). “Estimating heart rate using wrist-type Photoplethysmography and acceleration sensor while running,” in Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society, EMBS, Augustr 2012 (IEEE), 2901–2904. doi:10.1109/EMBC.2012.6346570

PubMed Abstract | CrossRef Full Text | Google Scholar

Gil, E., Orini, M., Bailón, R., Vergara, J. M., Mainardi, L., and Laguna, P. (2010). Photoplethysmography pulse rate variability as a surrogate measurement of heart rate variability during non-stationary conditions. Physiol. Meas. 31, 1271–1290. doi:10.1088/0967-3334/31/9/015

PubMed Abstract | CrossRef Full Text | Google Scholar

Goldberger, A. L., Amaral, L. A., Glass, L., Hausdorff, J. M., Ivanov, P. C., Mark, R. G., et al. (2000). PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation 101, E215–E220. doi:10.1161/01.CIR.101.23.E215

PubMed Abstract | CrossRef Full Text | Google Scholar

He, X., Goubran, R. A., and Liu, X. P. (2014). Secondary peak detection of PPG signal for continuous cuffless arterial blood pressure measurement. IEEE Trans. Instrum. Meas. 63, 1431–1439. doi:10.1109/TIM.2014.2299524

CrossRef Full Text | Google Scholar

Huang, R., Qing, K., Yang, D., and Hong, K. S. (2022). Real-time motion artifact removal using a dual-stage median filter. Biomed. Signal Process Control 72, 103301. doi:10.1016/j.bspc.2021.103301

CrossRef Full Text | Google Scholar

Hyun, J. B., Jung, S. K., Yun, S. K., Haet, B. L., and Kwang, S. P. (2007). “Second derivative of photoplethysmography for estimating vascular aging,” in Proceedings of the IEEE/EMBS Region 8 International Conference on Information Technology Applications in Biomedicine, ITAB, Tokyo, Japan, November 2007 (IEEE), 70–72. doi:10.1109/ITAB.2007.4407346

CrossRef Full Text | Google Scholar

Islam, M. T., Zabir, I., Ahamed, S. T., Yasar, M. T., Shahnaz, C., and Fattah, S. A. (2017). A time-frequency domain approach of heart rate estimation from photoplethysmographic (PPG) signal. Biomed. Signal Process Control 36, 146–154. doi:10.1016/J.BSPC.2017.03.020

CrossRef Full Text | Google Scholar

Jaafar, R., and Chung Xian, O. (2021). Analysis of heart rate variability using wearable device. Lect. Notes Electr. Eng. 724, 453–461. doi:10.1007/978-981-33-4069-5_37

CrossRef Full Text | Google Scholar

Jaafar, R., and Rozali, M. A. A. (2018). “Estimation of breathing rate and heart rate from photoplethysmogram,” in Proceedings of the 2017 6th International Conference on Electrical Engineering and Informatics: Sustainable Society Through Digital Innovation, ICEEI, Langkawi, Malaysia, 2017-November (IEEE), 1–4. doi:10.1109/ICEEI.2017.8312414

CrossRef Full Text | Google Scholar

Karlen, W., Kobayashi, K., Ansermino, J. M., and Dumont, G. A. (2012). Photoplethysmogram signal quality estimation using repeated Gaussian filters and cross-correlation. Physiol. Meas. 33, 1617–1629. doi:10.1088/0967-3334/33/10/1617

PubMed Abstract | CrossRef Full Text | Google Scholar

Karlen, W., Raman, S., Ansermino, J. M., and Dumont, G. A. (2013). Multiparameter respiratory rate estimation from the photoplethysmogram. IEEE Trans. Biomed. Eng. 60, 1946–1953. doi:10.1109/TBME.2013.2246160

PubMed Abstract | CrossRef Full Text | Google Scholar

Khalid, S. G., Zhang, J., Chen, F., and Zheng, D. (2018). Blood pressure estimation using photoplethysmography only: Comparison between different machine learning approaches. J. Healthc. Eng. 2018, 1–13. doi:10.1155/2018/1548647

CrossRef Full Text | Google Scholar

Lee, S., Chu, Y., Ryu, J., Park, Y. J., Yang, S., and Koh, S. B. (2022). Artificial intelligence for detection of cardiovascular-related diseases from wearable devices: A systematic review and meta-analysis. Yonsei Med. J. 63, S93–S107. doi:10.3349/YMJ.2022.63.S93

PubMed Abstract | CrossRef Full Text | Google Scholar

Liang, Y., Chen, Z., Liu, G., and Elgendi, M. (2018a). A new, short-recorded photoplethysmogram dataset for blood pressure monitoring in China. Sci. Data 5, 180020. doi:10.1038/sdata.2018.20

PubMed Abstract | CrossRef Full Text | Google Scholar

Liang, Y., Chen, Z., Ward, R., and Elgendi, M. (2018b). Photoplethysmography and deep learning: Enhancing hypertension risk stratification. Biosens. (Basel) 8, 101. doi:10.3390/bios8040101

PubMed Abstract | CrossRef Full Text | Google Scholar

Liang, Y., Elgendi, M., Chen, Z., and Ward, R. (2018c). Analysis: An optimal filter for short photoplethysmogram signals. Sci. Data 5, 180076. doi:10.1038/SDATA.2018.76

PubMed Abstract | CrossRef Full Text | Google Scholar

Liu, D., Görges, M., and Jenkins, S. A. (2012). University of Queensland vital signs dataset: Development of an accessible repository of anesthesia patient monitoring data for research. Anesth. Analg. 114, 584–589. doi:10.1213/ANE.0B013E318241F7C0

PubMed Abstract | CrossRef Full Text | Google Scholar

Mahri, N., Gan, K. B., Meswari, R., Jaafar, M. H., and MohdAli, M. A. (2017). Utilization of second derivative photoplethysmographic features for myocardial infarction classification. J. Med. Eng. Technol. 41, 298–308. doi:10.1080/03091902.2017.1299229

PubMed Abstract | CrossRef Full Text | Google Scholar

Mejía-Mejía, E., Allen, J., Budidha, K., El-Hajj, C., Kyriacou, P. A., and Charlton, P. H. (2022). 4 - Photoplethysmography signal processing and synthesis. Editor J. Allen, and P. Kyriacou (Cambridge, MA: Academic Press), 69–146.

Google Scholar

Mok Ahn, J. (2017). New aging index using signal features of both photoplethysmograms and acceleration plethysmograms. Healthc. Inf. Res. 23, 53–59. doi:10.4258/HIR.2017.23.1.53

PubMed Abstract | CrossRef Full Text | Google Scholar

Niskanen, J.-P., Tarvainen, M. P., Ranta-aho, P. O., and Karjalainen, P. A. (2004). Software for advanced HRV analysis. Comput. Methods Programs Biomed. 76, 73–81. doi:10.1016/J.CMPB.2004.03.004

PubMed Abstract | CrossRef Full Text | Google Scholar

Paradkar, N., and Chowdhury, S. R. (2015). “Primary study for detection of arterial blood pressure waveform components,” in Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society, EMBS, Milan, Italy, 2015-November (IEEE), 1959–1962. doi:10.1109/EMBC.2015.7318768

PubMed Abstract | CrossRef Full Text | Google Scholar

Peng, F., Liu, H., and Wang, W. (2015). A comb filter based signal processing method to effectively reduce motion artifacts from photoplethysmographic signals. Physiol. Meas. 36, 2159–2170. doi:10.1088/0967-3334/36/10/2159

PubMed Abstract | CrossRef Full Text | Google Scholar

Pilz, C. S., ben Makhlouf, I., Blazek, V., and Leonhardt, S. (2019). “On the vector space in photoplethysmography imaging,” in Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision Workshop (ICCVW), Seoul, Korea (South), October 2019 (IEEE), 1580–1588. doi:10.1109/ICCVW.2019.00197

CrossRef Full Text | Google Scholar

Pimentel, M. A. F., Johnson, A. E. W., Charlton, P. H., Birrenkott, D., Watkinson, P. J., Tarassenko, L., et al. (2017). Toward a robust estimation of respiratory rate from pulse oximeters. IEEE Trans. Biomed. Eng. 64, 1914–1923. doi:10.1109/TBME.2016.2613124

PubMed Abstract | CrossRef Full Text | Google Scholar

Poon, C. C. Y., Teng, X. F., Wong, Y. M., Zhang, C., and Zhang, Y. T. (2004). “Changes in the photoplethysmogram waveform after exercise,” in Proceedings of the 2004 2nd IEEE/EMBS International Summer School on Medical Devices and Biosensors, Hong Kong, China, September 2006 (IEEE), 115–118. doi:10.1109/ISSMD.2004.1689576

CrossRef Full Text | Google Scholar

Prieto-Avalos, G., Cruz-Ramos, N. A., Alor-Hernández, G., Sánchez-Cervantes, J. L., Rodríguez-Mazahua, L., and Guarneros-Nolasco, L. R. (2022). Wearable devices for physical monitoring of heart: A review. Biosens. (Basel) 12, 292. doi:10.3390/bios12050292

CrossRef Full Text | Google Scholar

Priyadarshini, R. G., Kalimuthu, M., Nikesh, S., and Bhuvaneshwari, M. (2021). Review of PPG signal using machine learning algorithms for blood pressure and glucose estimation. IOP Conf. Ser. Mater Sci. Eng. 1084, 012031. doi:10.1088/1757-899X/1084/1/012031

CrossRef Full Text | Google Scholar

Reiss, A., Indlekofer, I., Schmidt, P., and van Laerhoven, K. (2019). Deep PPG: Large-scale heart rate estimation with convolutional neural networks. Sensors 19, 3079. doi:10.3390/S19143079

PubMed Abstract | CrossRef Full Text | Google Scholar

Ricardo Ferro, B. T., Ramírez Aguilera, A., and Fernández De La Vara Prieto, R. R. (2015). Automated detection of the onset and systolic peak in the pulse wave using Hilbert transform. Biomed. Signal Process Control 20, 78–84. doi:10.1016/J.BSPC.2015.04.009

CrossRef Full Text | Google Scholar

Saeed, M., Villarroel, M., Reisner, A. T., Clifford, G., Lehman, L. W., Moody, G., et al. (2011). Multiparameter intelligent monitoring in intensive care II: A public-access intensive care unit database. Crit. Care Med. 39, 952–960. doi:10.1097/CCM.0B013E31820A92C6

PubMed Abstract | CrossRef Full Text | Google Scholar

Sarhaddi, F., Kazemi, K., Azimi, I., Cao, R., Niela-Vilén, H., Axelin, A., et al. (2022). A comprehensive accuracy assessment of Samsung smartwatch heart rate and heart rate variability. PLoS One 17, e0268361. doi:10.1371/journal.pone.0268361

PubMed Abstract | CrossRef Full Text | Google Scholar

Schmidt, P., Reiss, A., Duerichen, R., and van Laerhoven, K. (2018). “Introducing WESAD, a multimodal dataset for wearable stress and affect detection,” in The conference was held in Boulder CO USA. (New York, NY: ACM), 400–408. doi:10.1145/3242969.3242985

CrossRef Full Text | Google Scholar

Subashini, V., Janaki, R., Valarmathi, G., Suganthi, S., Prabha, R., Sivasankari, K., et al. (2020). Survey on regression analysis of photoplethysmography using machine learning. Mater Today Proc. 46, 3743–3748. doi:10.1016/j.matpr.2021.02.013

CrossRef Full Text | Google Scholar

Suboh, M. Z., Jaafar, R., Nayan, N. A., Harun, N. H., and Mohamad, M. S. F. (2022). Analysis on four derivative waveforms of photoplethysmogram (PPG) for fiducial point detection. Front. Public Health 10, 920946. doi:10.3389/FPUBH.2022.920946

PubMed Abstract | CrossRef Full Text | Google Scholar

Suzuki, A., and Ryu, K. (2014). Feature selection method for estimating systolic blood pressure using the taguchi method. IEEE Trans. Ind. Inf. 10, 1077–1085. doi:10.1109/TII.2013.2288498

CrossRef Full Text | Google Scholar

Takada, H., Washino, K., Harreil, J. S., and Iwata, H. (1996). Acceleration plethysmography to evaluate aging effect in cardiovascular system Using new criteria of four wave patterns. Med. Prog. Technol. 21, 205–210. doi:10.1023/A:1016936206694

PubMed Abstract | CrossRef Full Text | Google Scholar

Takazawa, K., Tanaka, N., Fujita, M., Matsuoka, O., Saiki, T., Aikawa, M., et al. (1998). Assessment of vasoactive agents and vascular aging by the second derivative of photoplethysmogram waveform. Hypertension 32, 365–370. doi:10.1161/01.HYP.32.2.365

PubMed Abstract | CrossRef Full Text | Google Scholar

Tang, Q., Chen, Z., Menon, C., Ward, R., and Elgendi, M. (2021). Ppgtempstitch: A matlab toolbox for augmenting annotated photoplethsmogram signals. Sensors 21, 4007. doi:10.3390/S21124007

PubMed Abstract | CrossRef Full Text | Google Scholar

Ushiroyama, T. (2005). Assessment of chilly sensation in Japanese women with lasor Doppler fluxmetry and acceleration plethysmogram with respect to peripheral circulation. Bull. Osaka Med. Coll. 51.

Google Scholar

Vadrevu, S., and Manikandan, M. S. (2017). “Effective systolic peak detection algorithm using variational mode decomposition and center of gravity,” in Proceedings of the IEEE Region 10 Annual International Conference, Proceedings/TENCON, Singapore, November 2016 (IEEE), 2711–2715. doi:10.1109/TENCON.2016.7848532

CrossRef Full Text | Google Scholar

Vest, A. N., da Poian, G., Li, Q., Liu, C., Nemati, S., Shah, A. J., et al. (2018). An open source benchmarked toolbox for cardiovascular waveform and interval analysis. Physiol. Meas. 39, 105004. doi:10.1088/1361-6579/AAE021

PubMed Abstract | CrossRef Full Text | Google Scholar

Wan, C., Chen, D., and Yang, J. (2022). Pulse rate estimation from forehead photoplethysmograph signal using RLS adaptive filtering with dynamical reference signal. Biomed. Signal Process Control 71, 103189. doi:10.1016/j.bspc.2021.103189

CrossRef Full Text | Google Scholar

Wang, L., Pickwell-MacPherson, E., Liang, Y. P., and Zhang, Y. T. (2009). Noninvasive cardiac output estimation using a novel photoplethysmogram index. Annu. Int. Conf. IEEE Eng. Med. Biol. Soc. 2009, 1746–1749. doi:10.1109/IEMBS.2009.5333091

PubMed Abstract | CrossRef Full Text | Google Scholar

Welykholowa, K., Hosanee, M., Chan, G., Cooper, R., Kyriacou, P. A., Zheng, D., et al. (2020). Multimodal photoplethysmography-based approaches for improved detection of hypertension. J. Clin. Med. 9, 1203. doi:10.3390/jcm9041203

PubMed Abstract | CrossRef Full Text | Google Scholar

Zhang, Q., Chen, X., Fang, Z., Xue, Y., Zhan, Q., Yang, T., et al. (2017). Cuff-less blood pressure measurement using pulse arrival time and a Kalman filter. J. Micromechanics Microengineering 27, 024002. doi:10.1088/1361-6439/27/2/024002

CrossRef Full Text | Google Scholar

Keywords: photoplethysmography, PPG features, fiducial points, MATLAB, toolbox, signal processing, acceleration photoplethysmography, velocity photoplethysmography

Citation: Abdullah S, Hafid A, Folke M, Lindén M and Kristoffersson A (2023) PPGFeat: a novel MATLAB toolbox for extracting PPG fiducial points. Front. Bioeng. Biotechnol. 11:1199604. doi: 10.3389/fbioe.2023.1199604

Received: 03 April 2023; Accepted: 26 May 2023;
Published: 09 June 2023.

Edited by:

Mario Birkholz, Innovations for High Performance Microelectronics (LG), Germany

Reviewed by:

Martin Kögler, VTT Technical Research Centre of Finland Ltd., Finland
Uldis Rubins, University of Latvia, Latvia
Haipeng Liu, Coventry University, United Kingdom

Copyright © 2023 Abdullah, Hafid, Folke, Lindén and Kristoffersson. This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.

*Correspondence: Saad Abdullah, saad.abdullah@mdu.se

Download