DOI: 10.5281/zenodo.14615203
title: An ESG Database of Spinal Cord Activity During Gait-Related Tasks and Motor Imagery Exercises

description: Description

The electroespinography (ESG) signals dataset comprises recordings from eleven able-bodied participants (mean age: 30.3 ± 8.8 years), five of whom were female.

The ESG signals were acquired using high-density surface electromyography (hHD-sEMG) equipment operating at a sampling frequency of 2 kHz. Signal amplification and acquisition were conducted with the Sessantaquattro+ system (OT Bioelettronica, Italy) and OTBioLab+ software. A reference electrode was placed on the right scapula. Spatial orientation data were recorded concurrently using the Sessantaquattro system.

Data were collected across three experiments, each following a common protocol but using specific electrode configurations to record activity from different spinal regions.

Electrode Configurations:



First Experiment: A 64-electrode matrix (1 mm diameter, 13x5 arrangement, 0.8 cm inter-electrode distance [IED]) was positioned over the T1 vertebra to capture brachial plexus activity.

Second Experiment: Two 32-electrode matrices (1 mm diameter, 8x4 arrangement, 1 cm IED) were positioned at the C4 vertebra (brachial plexus) and L2 vertebra (lumbar plexus).

Third Experiment:



A 32-electrode matrix (1 mm diameter, 8x4 arrangement, 1 cm IED) was placed over the C4 vertebra.

A 32-electrode linear arrar (1 mm diameter, 32x1 arrangement, 0.5 cm IED) was positioned below the first matrix to record spinal cord and musculature activity.




Experimental Protocol:

The experimental protocol was designed to capture detailed spinal cord activity under three conditions: baseline (resting), active movement execution, and motor imagery. It consisted of four stages.



Baseline Recording (Stages 1 and 4, trials 1 and 24): Participants stood with eyes open for two minutes at the beginning and end of the protocol to record resting spinal cord activity.

Active Movement Execution (Stage 2, trials 2-13): Participants alternated between walking and standing still, with each task lasting five seconds. Tasks were initiated by a one-second auditory signal and repeated four times per cycle, resulting in 12 recordings.

Motor Imagery (Stage 3, trials 14–23, with static tasks corresponding to even-numbered trials and movement tasks to odd-numbered trials): Participants alternated between mental relaxation for 7.5 seconds and kinesthetic motor imagery for 15 seconds. During motor imagery, participants imagined sensations in their lower limbs while walking. Tasks were performed under both stationary and walking conditions, repeated five times each, resulting in 10 trials.


Data estrucuture:

The dataset is organized into compressed zip archives, with each archive corresponding to a specific experiment and participant. The naming convention for the zip files follows the format: ExperimentX_SXX_YYYYMMDD, where:



ExperimentX denotes the experiment number (1, 2 or 3).

SXX represents the participant code. 

YYYYMMDD specifies the experiment date. 


The dataset is organized into compressed zip archives, with each archive corresponding to a specific experiment and participant: SXX_YYYYMMDD_Trial_XX", where Trial_XX ranges from 1 to 24.

A trial consists of a Matlab structure, data_structure, that stores all information related to the trial experiment. 



experiment_data: Metadata about the experiment.



sample_frequency: Sampling frequency of the recordings.

time_vector: Time vector (seconds).

tasks_description: Structure describing task numbers and their descriptions.

task_vector: Vector indicating the task assigned to each sample.



quaternions: Data related to spatial orientation.



labels: Labels for each quaternion recorded.

data: Matrix containing quaternion data (quaternions × samples).



brachial_matrix (present in all experiments):



matrix_description: Information about the matrix design.



ied_mm: Inter-electrode distance in millimeters.

electrode_configuration: Layout of the electrode matrix as seen on the participant’s back.

matrix_position: Reference point used to position the matrix.



null_electrodes: Binary vector indicating null electrodes (1 for null).

raw_data: Raw data matrix (electrodes × samples) in microvolts (µV).

ATS_data: Preprocessed data matrix (electrodes × samples) in µV.

outlier_mask: Binary matrix (electrodes × samples) indicating outlier samples (1 for outlier).

noisy_electrodes: Binary vector indicating noisy electrodes (1 for noisy).

filtered_data: Preprocessed data matrix (electrodes × samples) after substituting the outlier samples and noisy electrodes samples with NaN values, in µV. This variable has not been included in the repository due to storage limitations. However, it can be generated with the provided code.



lumbar_matrix (present only in the second experiment):



Contains the same fields as the brachial matrix: matrix_description (ied_mm, electrode_configuration, matrix_position), null_electrodes, raw_data, ATS_data, outlier_mask, noisy_electrodes and filtered_data.



linear_array (present only in the third experiment):



Contains the same fields as the brachial matrix: matrix_description (ied_mm, electrode_configuration, matrix_position), null_electrodes, raw_data, ATS_data, outlier_mask, noisy_electrodes and filtered_data.
description: Funding

This publication is part of grant PID2021-124111OB-C31, funded by MICIU/AEI/10.13039/501100011033 and by ERDF, EU. This research has been also supported by grant CIACIF/2022/108 funded by ``Consellería de Educación, Universidades y Empleo (Generalitat Valenciana)" and the European Social Fund, and grant PRE2022-103336 funded by MICIU/AEI/10.13039/501100011033 and by ESF+.