EMGFlow: A Python package for preprocessing and feature extraction of electromyographic signals
About EMGFlow EMGFlow is an open-source Python package for preprocessing and extracting features from surface electromyographic (sEMG) signals. It has been designed to facilitate the analysis of large datasets through batch processing of signal files, a common requirement in machine learning. Although several packages process physiological and neurological signals, support for sEMG has remained limited. Many lack a comprehensive feature set for sEMG, forcing researchers to use a patchwork of tools. Others focus on event detection with GUI-centric workflows that suit continuous recordings of a single participant, but complicate batch feature e
Resource information
- Format
- zip
- Original repository
- 18748950
- DOI
- 10.5281/zenodo.18748950
- Credit basis
- Creators in Zenodo record metadata
- Access
- Open files available from the original Zenodo deposit
- Last checked
- Nov 5, 2026
- License
- gpl-3.0-or-later
- Last record update
- Nov 5, 2026
About this resource
About EMGFlow EMGFlow is an open-source Python package for preprocessing and extracting features from surface electromyographic (sEMG) signals. It has been designed to facilitate the analysis of large datasets through batch processing of signal files, a common requirement in machine learning. Although several packages process physiological and neurological signals, support for sEMG has remained limited. Many lack a comprehensive feature set for sEMG, forcing researchers to use a patchwork of tools. Others focus on event detection with GUI-centric workflows that suit continuous recordings of a single participant, but complicate batch feature extraction common in machine learning. EMGFlow , a portmanteau of EMG and Workflow, fills this gap by providing a flexible pipeline for extracting a wide range of sEMG features, with a scalable design suited for large datasets. The current version of EMGFlow is v1.1.2. This version was archived for our accompany JOSS publication. Getting Started EMGFlow can be installed from PyPI: pip install EMGFlow EMGFlow extracts a comprehensive set of 33 statistical features from sEMG signals, achieved with only a few lines of code: import EMGFlow as ef # Get path dictionary path_names = ef.make_paths() # Load sample data ef.make_sample_data(path_names) # Preprocess signals (sample data recorded at 50 Hz mains) ef.clean_signals(path_names, sampling_rate=2000, notch_f0=50) # Plot data on the "EMG_zyg" column ef.plot_dashboard(path_names, 'EMG_zyg', 'mV') # Extract features to disk "Features.csv" df = ef.extract_features(path_names, sampling_rate=2000) Learn more To learn more about EMGFlow, please visit the following resources: Official documentation - https://wiiison.github.io/EMGFlow-Python-Package github repo - https://github.com/WiIIson/EMGFlow-Python-Package
