Giter VIP home page Giter VIP logo

saadsur / ppgfeat Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 1.0 7.74 MB

This app takes unfiltered PPG waveform as input and SQI table (Optional) and store single PPG segment.

Home Page: https://www.mathworks.com/matlabcentral/fileexchange/132688-ppgfeat?s_tid=prof_contriblnk

License: MIT License

apg feature-extraction matlab-gui matlab-toolbox photoplethysmography ppg-features ppg-signal signal-processing vpg

ppgfeat's Introduction

PPGFeat

This app takes unfiltered PPG waveform as input and SQI table (Optional) and stores a single PPG segment. 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 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.

Read more.

PPGFeat: a novel MATLAB toolbox for extracting PPG fiducial points. Available from: https://www.researchgate.net/publication/371428211_PPGFeat_a_novel_MATLAB_toolbox_for_extracting_PPG_fiducial_points

How the app works:

PPGFeat has been designed using PPGBP data set, The PPGFeat toolbox 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. 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 comma-separated values (.csv) file by using the “Load PPG” button. Additionally, the GUI allows the user to load the Ssqi and data index values of the PPG data using the “Load Ssqi” button. 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. Using the filtered PPG, the PPGFeat toolbox locates the starting points of each segment from the PPG, 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, and APG segments by clicking the “Plot” button. The plots highlight the fiducial points of each waveform. If a fiducial point is incorrectly identified, the user can click the “Update” button 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. 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. 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.

Please see the video for your reference: https://www.linkedin.com/posts/saad-a-20973b22_ppg-matlab-signalprocessing-activity-7072980563766255616-mMOl?utm_source=share&utm_medium=member_desktop

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.