Multi-scale Peak and Trough Detection Optimised for Periodic and Quasi-Periodic Neuroscience Data

13 Feb 2018

Objectives The reliable detection of peaks and troughs in physiological signals is essential to many investigative techniques in medicine and computational biology. Analysis of the intracranial pressure (ICP) waveform is a particular challenge due to multi-scale features, a changing morphology over time and signal-to-noise limitations. Here we present an efficient peak and trough detection algorithm that extends the scalogram approach of Scholkmann et al, and results in greatly improved algorithm runtime performance. Materials and Methods Our improved algorithm (Modified-Scholkmann) was developed and analysed in Matlab R2015b (MathWorks Inc., Massachusetts, USA). Synthesised waveforms (periodic, quasi- periodic and chirp sinusoids) were degraded with white Gaussian noise to achieve signal-to- noise ratios down to 5dB and were used to compare the performance of the Original- Scholkmann and Modified-Scholkmann algorithms. Results Modified-Scholkmann has false positive (0%) and false negative (0%) detection rates identical to Original-Scholkmann when applied to our test suite. Actual compute time for a 200-run Monte Carlo simulation over a multicomponent noisy test signal was 40.96 ± 0.020 seconds (mean ± 95%CI) for Original-Scholkmann and 1.81 ± 0.003 seconds (mean ± 95%CI) for Modified-Scholkmann, demonstrating the expected improvement in run time complexity from ! to . Conclusions The accurate interpretation of waveform data to identify peaks and troughs is crucial in signal parameterization, feature extraction and waveform identification tasks. Modification of a standard scalogram technique has produced a robust algorithm with linear computational complexity that is particularly suited to the challenges presented by large, noisy physiological datasets. The algorithm is optimised through a single parameter and can identify sub- waveform features with minimal additional overhead, and is easily adapted to run in real-time on commodity hardware.