Modular PySide6 GUI for acquiring and visualizing bio-signals from different sources.
The code is compatible with Python 3.7+. To create and activate the Python environment, run the following commands:
python -m venv <ENV_NAME>
source <ENV_NAME>/bin/activate
Then, from within the virtual environment, the required packages can be installed with the following command:
pip install -r requirements.txt
To enable the communication between the GUI and a board, one must provide a Python file with the following specifications:
packetSize
: integer representing the number of bytes to be read;startSeq
: sequence of commands to start the board, expressed as a list of bytes;stopSeq
: sequence of commands to stop the board, expressed as a list of bytes;fs
: list of sampling frequencies, one for each signal to read from the board;nCh
: list of numbers of channels, one for each signal to read from the board;SigsPacket
: named tuple containing one field for each signal to read from the board;decodeFn
: function that decodes each packet of byte read from the board into the specified signals.
Some examples of interface files are provided in the interfaces
folder.
Run the script main.py
, which launches the main window.
This work was realized mainly at the Energy-Efficient Embedded Systems Laboratory (EEES Lab) of University of Bologna (Italy) by:
If you would like to reference the project, please cite the following paper:
@ARTICLE{10552147,
author={Orlandi, Mattia and Rapa, Pierangelo Maria and Zanghieri, Marcello and Frey, Sebastian and Kartsch, Victor and Benini, Luca and Benatti, Simone},
journal={IEEE Transactions on Biomedical Circuits and Systems},
title={Real-Time Motor Unit Tracking From sEMG Signals With Adaptive ICA on a Parallel Ultra-Low Power Processor},
year={2024},
volume={18},
number={4},
pages={771-782},
keywords={Electrodes;Real-time systems;Muscles;Motors;Electromyography;Circuits and systems;Graphical user interfaces;Blind source separation;human-machine interfaces;independent component analysis;low-power;machine learning;on-device learning;online learning;PULP;surface EMG},
doi={10.1109/TBCAS.2024.3410840}}
All files are released under the Apache-2.0 license (see LICENSE
).