Event Annotator for Biosignals 

BioSPPy-powered UI for efficient biosignal annotations

Context

In many biosignal-related projects, it is common practice to manually annotate events in the signals to create accurate reference labels (i.e. ground-truth labels). This is very useful, for instance, when we are developing novel feature extraction methods and want to assess their performance by comparing metrics extracted from automatically labeled events vs. metrics extracted from ground-truth ones. However, manual labeling can be an extremely repetitive task, especially when dealing with large datasets or data with long acquisition periods. 

Solution

To reduce the burden of manual labeling, I have developed a BioSPPy-powered UI in Python using the Tkinter library. The platform offers a valuable feature: you can generate "pre-annotations" using state-of-the-art algorithms as a starting point, and then navigate in the signal to check for any missing annotations or make adjustments, which saves a lot of time. Furthermore, thanks to its integration with BioSPPy, the platform supports 10 different biosignal modalities and 15 feature extractors.

Here's a sneak peek of the platform. In this example, the user can quickly obtain the R-peak locations in the ECG signal and use the saved events to derive the Heart Rate (HR) and the Heart Rate Variability (HRV).