pluxbiosignals / biosignalsnotebooks

biosignalsnotebooks project includes a set of Jupyter Notebooks explaining some processing tasks which have been specially designed for biosignalsplux and OpenSignals users. A Python package is also present, containing some functions to support biosignalsnotebooks notebooks or to be used independently.
https://www.biosignalsplux.com/notebooks/Categories/MainFiles/biosignalsnotebooks_rev.php
MIT License
74 stars 22 forks source link

[Python]() [html5]() Binder

Description

biosignalsnotebooks is a set of documents and a Python library to provide programming examples in the form of Jupyter Notebooks, as companion to the OpenSignals biosignals acquisition tools.

This collection of code samples has the purpose to help users of PLUX Wireless Biosignals systems, such as BITalino or biosignalsplux, and to the researcher or student interested on recording processing and classifying biosignals. The examples are set on a level of complexity to inspire the users and programmers on how easy some tasks are and that more complex ones can also be achieved, by reusing and recreating some of the examples presented here.

A Python library (entitled biosignalsnotebooks ) is the base toolbox to support the notebooks and to provide some useful functionalities. It can be installed through pip command, like demonstrated in a PyPI dedicated page.

In many cases we also point and illustrate with code the usage of other python toolboxes dedicated to biosignal processing.

The notebooks will cover the full topics pipeline of working with biosignals, such as: Load a file; Visualise the data online and offline, Pre-Process a one channel signal or a multi-channel acquisition, Detect relevant events in the signals, Extract features from many different type of sensors and domains, Train and Classify among a set of classes with several machine learning approaches, Understand the obtained results with metrics and validations techniques.

These examples are carried in a multitude of biosignals , from ECG, EDA, EMG, Accelerometer, Respiration among many others. The notebooks have a set of labels to help navigate among topics , types of signals , application area and complexity level to support the search for particular solutions.

We encourage you to share new example ideas, to pose questions helpdesk@pluxbiosignals.com, and to make improvements or suggestion to this set of notebooks.

Be inspired on how to make the most of your biosignals!

Available Notebooks

Category

Download, Install and Execute Anaconda
Download, Install and Execute Jupyter Notebook Environment

Pairing a Device at Windows 10 [biosignalsplux]

EEG - Electrode Placement
Signal Acquisition [OpenSignals]
Resolution - The difference between smooth and abrupt variations
Problems of low sampling rate (aliasing)
Store Files after Acquisition [OpenSignals]

EEG - Loading Data from PhysioNet
Load acquired data from .h5 file
Load Signals after Acquisition [OpenSignals]
Load acquired data from .txt file
Signal Loading - Working with File Header

Plotting of Acquired Data using Bokeh

Digital Filtering - A Fundamental Pre-Processing Step
Digital Filtering - EEG
Digital Filtering - Using filtfilt
Fatigue Evaluation - Evolution of Median Power Frequency
Generation of a time axis (conversion of samples into seconds)
Generation of Poincaré Plot from ECG Analysis
Signal to Noise Ratio Determination
Computing SNR for ECG Signals
Computing SNR for Slow Signals
Device Synchronisation - Cable, Light and Sound Approaches
Synchrony - Accelerometer Signal
Synchrony - Light Signal
Synchrony - Acoustic Signal
Generation of Tachogram from ECG
ACC Sensor - Unit Conversion
BVP Sensor - Unit Conversion
ECG Sensor - Unit Conversion
EDA Sensor - Unit Conversion
EEG Sensor - Unit Conversion
EMG Sensor - Unit Conversion
fNIRS Sensor - Unit Conversion
Goniometer Sensor - Unit Conversion
PZT Sensor - Unit Conversion
RIP Sensor - Unit Conversion
SpO2 Sensor - Unit Conversion

Event Detection - Muscular Activations (EMG)
EEG - Event Related Potentials (ERP) Detection
Detection of Outliers
Event Detection - R Peaks (ECG)

Force Platform - Center of Pressure Estimation
EEG - Alpha Band Extraction
EMG Analysis - Time and Frequency Parameters
GON - Angular velocity estimation
ECG Analysis - Heart Rate Variability Parameters
Parameter Extraction - Temporal and Statistical Parameters
Calculate Time of Flight

Signal Classifier - Distinguish between EMG and ECG
Rock, Paper or Scissor Game - Train and Classify [Orange]
Rock, Paper or Scissor Game - Train and Classify [Volume 1]
Rock, Paper or Scissor Game - Train and Classify [Volume 2]
Stone, Paper or Scissor Game - Train and Classify [Volume 3]
Rock, Paper or Scissor Game - Train and Classify [Volume 4]
Train a model for detecting the fist activity using Naive Bayes

Rock, Paper or Scissor Game - Train and Classify [Volume 5]

Activity Distinction using Android Sensors
Synchronising Android and PLUX sensors
Synchronising data from multiple Android sensor files into one file
Resampling of signals recorded with Android sensors
BVP Signal Analysis - A Complete Tour
EDA Signal Analysis - A Complete Tour
EMG - Overview
Introduction to Android sensors
Quick-Start Guide
Respiration (RIP) Sensor Science Hour

What is PLUX

PLUX wireless biosignals is devoted to the creation innovative products for advanced biosignals monitoring platforms that integrate wearable body sensors combined with wireless connectivity, algorithms and software applications.

We have been perusing the mission of making biosignals as accessible as possible to researchers and students in many areas of application, ranging from biomedical engineering, computer science, human computer interaction, sport sciences, psychology, clinical research among other fields.

PLUX's Software and Hardware Environment

OpenSignals is the companion application to PLUX devices (BITalino or biosignalsplux) where the users collect visualize an process biosignals in a intuitive user interface. Opensignals is free and can be used also with signals collected form other devices.

In some cases OpenSignals provides plugins for advanced signals processing operations that automate some of the research process. Some of the plugins are curated and advanced versions of the base notebooks explained in here.

The list of plugins can be found here: https://www.pluxbiosignals.com/collections/software-add-ons

Access to biosignalsnotebooks Notebooks

For viewing biosignalsnotebooks .ipynb files correctly formatted and with the right CSS configurations the user should access the link contained in the previous image instead of navigating manually through the files in GitHub repository

Notebook Publication Status

Publication status is available in a Google Spreadsheet

Installation of biosignalsnotebooks package

In order to biosignalsnotebooks package be installed, the user should open a Windows command prompt (by searching for "cmd") and type the following instruction:

pip install biosignalsnotebooks