In this paper, we introduce a novel algorithm designed to isolate individual
respiratory cycles on a thoracic respiratory inductance plethysmography signal.
The algorithm locates breaths using signal processing and statistical methods
and enables the analysis of sleep data on an individual breath level. The
algorithm was evaluated on 7.3 hours of hand-annotated data, or 8782 individual
breaths in total, and was estimated to correctly isolate 94% of respiratory
cycles while producing false positives that amount to only 5% of the total
number of detections. The algorithm was specifically evaluated on data
containing a great number of sleep-disordered breathing events. We found that
the algorithm did not suffer in terms of accuracy when detecting breaths in the
presence of sleep-disordered breathing. The algorithm was also evaluated across
a large set of participants, and we found that the accuracy of the algorithm
was consistent across participants. This algorithm is finally made public via
an open-source Python library.