Notebooks

Learn signal processing techniques

Biosignals are amazing sources of information, but, knowledge is not achievable in an immediate way, so signal processing methodologies are essential in Biomedical research and in the implementation of artificial systems used in clinical environments. Python is a very intuitive programming language that will help you extract knowledge from biosignals, considering its vast community that creates and shares innovative algorithms, which you can simply use or improve.

😏 Are you ready to start an amazing journey through biosignals processing using Python?
Certainly you are, so, be welcome to a new learning environment created by PLUX and entitled biosignalsnotebooks!!!

biosignalsnotebooks (see project presentation and video) includes a set of tutorials, that provide programming examples in the form of Jupyter Notebooks and a Python library, being the perfect guide and companion through your journey in the biosignals world. This collection of code samples has the purpose to help our community of BITalino and biosignalsplux users or researchers and students 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.

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



Getting Started

First steps to get you set and ready that include a free copy of our amazing OpenSignals software.
Notebook icon

Download, Install and Execute Anaconda

Operations that should be completed in order to have Jupyter Notebook ready to use and to open our ipynb files on local server.

Open Notebook
Notebook icon

Download, Install and Execute Jupyter Notebook Environment

Operations that should be completed in order to have Jupyter Notebook ready to use and to open our _rev.php files on local server.

Open Notebook
Notebook icon

Pairing a Device at Windows 10 [biosignalsplux]

How PLUX's acquisition systems ( biosignalsplux in our example) can be quickly connected to a computer in order to ensure future real-time acquisitions through OpenSignals.

Open Notebook



Data Acquisition

Learn how to record, load and on how to prepare graphical visualizations of your data.
Notebook icon

Signal Acquisition [OpenSignals]

Introductory journey through OpenSignals, explaining/demonstrating how signals can be acquired in real-time.

Open Notebook
Notebook icon

Resolution - The difference between smooth and abrupt variations

The importance of choosing a proper sampling frequency, resolution is another parameter that must be configured prior to acquisition.

Open Notebook
Notebook icon

Problems of low sampling rate (aliasing)

In the following steps it will be demonstrated how the sampling rate choice affect signal morphology.

Open Notebook
Notebook icon

Store Files after Acquisition [OpenSignals]

In the current Jupyter Notebook it will be demonstrated how the user can store in a file the previously acquired signals.

Open Notebook
Notebook icon

Load acquired data from .h5 file

It will be explained how to load/transpose the data inside .h5 file to a Python list, that can easily be manipulated in the processing operations.

Open Notebook
Notebook icon

Load acquired data from .txt file

In this Jupyter Notebook it will be explained how to load/transpose the data inside .txt file to a Python list, which consists in a step that precedes all processing operations.

Open Notebook
Notebook icon

Load Signals after Acquisition [OpenSignals]

In the current Jupyter Notebook we continue the interaction with OpenSignals , demonstrating how the previously acquired/stored files can be loaded.

Open Notebook
Notebook icon

Signal Loading - Working with File Header

In the current Jupyter Notebook a detailed procedure for accessing file metadata (.txt and .h5) is explained, together with a simplified approach through the use of a biosignalsnotebooks specialized function.

Open Notebook



Signal Processing

Learn how to record, load and on how to prepare graphical visualizations of your data.
Notebook icon

Digital Filtering - A Fundamental Pre-Processing Step

In this Jupyter Notebook it will be demonstrated how to digital filter the signal.

Open Notebook
Notebook icon

Fatigue Evaluation - Evolution of Median Power Frequency

In this Jupyter Notebook it will be presented the basic methodology to monitoring the fatigue along time.

Open Notebook
Notebook icon

Generation of a time axis (conversion of samples into seconds)

Raw data contained in the generated .txt, .h5 and .edf files consists in samples and each sample value is in a raw value with 8 or 16 bits that needs to be converted to a physical unit by the respective transfer function.

Open Notebook
Notebook icon

ECG Sensor - Unit Conversion

In spite of the unit conversion procedure has some common steps applicable to all sensors, the current Jupyter Notebook is dedicated to the unit conversion procedure of signals acquired with ECG sensor.

Open Notebook
Notebook icon

EEG Sensor - Unit Conversion

The current Jupyter Notebook is dedicated to the unit conversion procedure of signals acquired with ECG sensor.

Open Notebook
Notebook icon

EMG Sensor - Unit Conversion

The current Jupyter Notebook is dedicated to the unit conversion procedure of signals acquired with EMG sensor.

Open Notebook



Machine Learning

Develop methods for training, classifying, understanding and evaluating data using machine learning techniques.
Notebook icon

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

On the current Jupyter Notebook it will be done a very quick presentation of Orange.

Open Notebook
Notebook icon

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

Imagine creating a game that using the signals from your hand can try to guess what is the gesture you are making and play "Rock, Paper or Scissor" game.

Open Notebook
Notebook icon

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

After the presentation of data acquisition conditions on the previous Jupyter Notebook , we will follow our Machine Learning Journey by specifying which features will be extracted.

Open Notebook
Notebook icon

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

After the previous two volumes of the Jupyter Notebook dedicated to our "Classification Game", we are reaching a decisive stage: Training of Classifier.

Open Notebook
Notebook icon

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

At our final volume (current Jupyter Notebook ) an evaluation methodology will be described taking into consideration a particular cross-validation technique.

Open Notebook