RRest documentation

RRest is a Matlab library of algorithms to respiratory rate from electrocardiogram (ECG) and photoplethysmogram (PPG) signals.


Introduction

PPG sensors are now widely used in clinical devices (such as pulse oximeters) and consumer devices (such as smartwatches). A wealth of information can be obtained from PPG signals, including heart rate, heart rhythm, and blood oxygen saturation. Algorithms have also been developed to estimate respiratory rate (RR) from PPG signals, although these are not yet widely used.

The aim of the Respiratory Rate Estimation project is to develop and assess methods for automated respiratory rate (RR) monitoring. It consists of a series of studies of different algorithms for RR estimation from clinical data, complimented by the provision of publicly available datasets and resources.


Contents

This library provides three key items:

  1. Respiratory Rate Estimation Algorithms: A selection of open-source algorithms for estimating RR from ECG and PPG signals.
  2. Performance Assessment Resources: Resources to assess the performance of PPG beat detectors, including:
    • Datasets: several publicly available datasets containing PPG and ECG signals, and reference respiratory signals.
    • Code: MATLAB code with which to assess performance.
  3. Tutorials on how to use the algorithms, datasets, and code.

Further details of the project are available at the project website.


Rationale

Respiratory rate is a widely used indicator of health, used by clinicians in conjunction with other parameters to assess the health of patients in hospitals, clinics, and the community. For instance, all acutely-ill hospital patients have their respiratory rate measured every few hours to facilitate early detection of clinical deteriorations (deteriorations in health). However, respiratory rate is usually measured manually, by counting the number of breaths a patient takes in a specific period of time, such as a minute. This can potentially be time-consuming and inaccurate.

An alternative solution could be provided by developing an automated, electronic method for measuring respiratory rate using a device. To this end a plethora of algorithms have been proposed to estimate respiratory rate from several physiological signals, such as the electrocardiogram, photoplethysmogram, accelerometry signal, impedance pneumography signal, and so on. These signals can be easily measured, and in some scenarios are already measured for other purposes. Consequently, a robust, practicable algorithm for estimating respiratory rate from these signals could potentially benefit patients and healthcare providers alike.

Estimation of respiratory rate from the ECG and PPG: Respiratory signals (shown in grey) are extracted from the ECG and PPG signals (shown in blue). The dots correspond to reference breath timings.
PPG signal and detected beats

Contributions

Contributions to the Respiratory Rate Estimation project are most welcome. For instance, you may wish to submit new algorithms, datasets, make suggestions, comments, criticisms. To do so, please either:


Acknowledgments

We are grateful for the contributions of the following people and organisations to this project:

Guy's and St Thomas' NHS Foundation Trust

Guy's and St Thomas' NHS Foundation Trust sponsored the Vortal study, which provided datasets for this project. Particular thanks to the Critical Care Research Department: Prof Richard Beale, Dr Tim Bonnici, Isabelle Schelcher, Ricky Yang, John Brooks, Katie Lei and John Smith.

King's College London

King's College London have provided academic expertise throughout the project.

The University of Oxford

Colleagues at the University of Oxford have contributed greatly to the project. Particular thanks to Prof Lionel Tarassenko, Dr David Clifton, Dr Peter Watkinson, Dr Marco Pimentel, Dr Christina Orphanidou, Dr Alexander Darrell, Dr Mauricio Villarroel, Stephen Gerry and Jacqueline Birks.

Additional Contributions

Some components of the toolbox of algorithms use additional open source components. Specifically, the QRS detector used was written by Prof. Gari Clifford, and is available here. The PPG pulse peak detector was implemented by Dr Marco Pimentel. The signal quality indices were written by Dr Christina Orphanidou. Finally, the Principal Component Analysis technique uses code from the LS-SVMlab toolbox, written by the group at K.U. Leuven university.

Funding Providers

Thanks to the Engineering and Physical Sciences Research Council (EPSRC) who funded the Vortal study (EP/H019944/1). Support has also been provided by the National Institute for Health Research (NIHR) comprehensive Biomedical Research Centre at Guys & St Thomas NHS Foundation Trust, the NIHR Oxford Biomedical Research Centre Programme and the Royal Academy of Engineering (RAEng). The views expressed are those of the authors and not necessarily those of the EPSRC, NHS, NIHR, Department of Health or RAEng.