Skip to content

Latest commit

 

History

History
20 lines (12 loc) · 1.16 KB

README.md

File metadata and controls

20 lines (12 loc) · 1.16 KB

deepQRS

An automatic QRS detection algorithm using Deep Learning in MATLAB. It uses an LSTM model to predict the positions of the R peaks in an ECG. This is an adaptation of the detect method in the file correct.py of the Python library NeuXus: https://github.com/LaSEEB/NeuXus/blob/master/neuxus/nodes/correct.py.

To use it, call deepQRS as:

marks = deepQRS(ecg,W,stride=50);

  • ecg: ecg vector, sampled at 250 Hz.
  • W: struct with the weights and biases of the model;
  • stride: number of points to jump between predictions.

As deepQRS slides a prediction window throughout the ecg, it is suitable to be used online by being called repeatedly.

Check example.m for a demonstration on how to use it!

PS. Based on the data I have used, I can see that deepQRS detects most R peaks correctly, except for some that seem perfectly normal and somewhat periodically spaced. I am not sure why this happens (it might be a small bug). Therefore, I recommend using interactiveQRS after, to confirm the results and mark the missing R peaks:

[Github] https://github.com/LaSEEB/interactiveQRS

[Mathworks file exchange] https://www.mathworks.com/matlabcentral/fileexchange/126884-interactiveqrs