Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GlycoEMG Open Dataset

DOI License Python Version Data Type

This is the official repository for the GlycoEMG Dataset, a comprehensive open-source database combining Surface Electromyography (sEMG) signals and physiological Glucose measurements.

Inspired by clinical ML datasets like PhysioNet and ECG-QA, this repository aims to bridge the gap between muscular fatigue and glucose level fluctuations to train machine learning models and predictive AIs.


Dataset Snapshot

Here is an example of what the raw Electromyography (EMG) signals look like, intrinsically linked to clinical metadata such as Glucose Drop (Delta):

GlycoEMG Signal Sample

The dataset includes high-frequency sampling at 250Hz and 500Hz, capturing detailed muscular fiber recruitment.


Data Acquisition Protocol

The data was meticulously gathered to ensure consistency across all sessions, using the following clinical pipeline:

  1. Dietary Intake & Wait Period:
    • A pre-workout meal was provided to all subjects.
    • A waiting period was enforced to reach the glucose peak: 45 minutes for the control group and 2 hours for the diabetes group.
  2. Pre-Exercise Glucose: Blood glucose levels were measured immediately prior to the exercise.
  3. Hardware Setup: sEMG sensors were placed on the Quadriceps (Vastus lateralis). The raw signal was transmitted in real-time via an ESP32 microcontroller using a Bluetooth (BLE) protocol to our custom desktop application.
  4. Exercise Execution: Subjects performed free squats carrying approximately 30% of their body weight, pushing close to muscular failure.
  5. Post-Exercise Glucose: A final blood glucose measurement was taken immediately after the exercise concluded to capture the glucose delta.

File Structure

To guarantee privacy and facilitate Machine Learning research, the data is distributed with all PII (Personally Identifiable Information) removed. The repository is structured as follows:

glycoemg-dataset/
├── data/
│   └── quick_access/               # Ready-to-use extracted data
│       ├── csv/                    # Time-series data (pandas friendly)
│       │   ├── session_001.csv
│       │   └── ...
│       └── json/                   # Hierarchical data (Metadata + Array)
│           ├── session_001.json
│           └── ...
├── glycoemg/                       # Python Package for data manipulation
│   ├── data.py                     # Data loaders (HDF5 & CSV)
│   ├── metrics.py                  # Fatigue metrics (RMS, MDF)
│   └── viz.py                      # Visualization utilities
├── notebooks/                      # Jupyter Notebooks Demonstrations
│   ├── 01_data_loading.ipynb
│   └── 02_emg_glucose_correlation.ipynb
├── scripts/                        # Utility scripts (Split, BIDS export)
└── environment.yml                 # Conda environment definition

Demonstrations

We provide Jupyter Notebooks to facilitate users in skimming over the dataset and extracting clinical insights:

  • 01 Data Loading: A step-by-step guide to downloading the anonymized database and loading a session using the glycoemg python package.
  • 02 EMG & Glucose Correlation: Extraction of the Median Frequency (MDF) of the signal and its correlation with the Glucose Delta.

Setup & Installation

You can install the glycoemg package locally to interact with the raw signals programmatically.

# Clone the repository
git clone https://github.com/Gonzalo-A-G/glycoemg-dataset.git
cd glycoemg-dataset

# Create and activate Conda environment
conda env create -f environment.yml
conda activate glycoemg

# Install the package in editable mode
pip install -e .

To fetch the raw large HDF5 files (not hosted on GitHub due to size limitations), run:

bash scripts/download_dataset.sh

License

This dataset and code are distributed under the MIT License.

Releases

Packages

Contributors

Languages