NM000108: emg dataset, 20 subjects#
HySER: High-Density Surface Electromyogram Recordings
Access recordings and metadata through EEGDash.
Citation: Xinyu Jiang, Chenyun Dai, Xiangyu Liu, Jiahao Fan (20). HySER: High-Density Surface Electromyogram Recordings. 10.82901/nemar.nm000108
Modality: emg Subjects: 20 Recordings: 1514 License: ODC-By-1.0 Source: nemar
Metadata: Complete (90%)
Quickstart#
Install
pip install eegdash
Access the data
from eegdash.dataset import NM000108
dataset = NM000108(cache_dir="./data")
# Get the raw object of the first recording
raw = dataset.datasets[0].raw
print(raw.info)
Filter by subject
dataset = NM000108(cache_dir="./data", subject="01")
Advanced query
dataset = NM000108(
cache_dir="./data",
query={"subject": {"$in": ["01", "02"]}},
)
Iterate recordings
for rec in dataset:
print(rec.subject, rec.raw.info['sfreq'])
If you use this dataset in your research, please cite the original authors.
BibTeX
@dataset{nm000108,
title = {HySER: High-Density Surface Electromyogram Recordings},
author = {Xinyu Jiang and Chenyun Dai and Xiangyu Liu and Jiahao Fan},
doi = {10.82901/nemar.nm000108},
url = {https://doi.org/10.82901/nemar.nm000108},
}
About This Dataset#
DOI Paper DOI PhysioNet License
HySER: High-Density Surface Electromyogram Recordings
BIDS-formatted version of the Hyser Surface EMG for Hand Gesture Recognition dataset (Jiang et al., 2021). 20 subjects performed 5 task types across 2 sessions using 256-channel high-density surface EMG (HD-sEMG) with simultaneous 5-finger force recordings.
Subjects
View full README
DOI Paper DOI PhysioNet License
HySER: High-Density Surface Electromyogram Recordings
BIDS-formatted version of the Hyser Surface EMG for Hand Gesture Recognition dataset (Jiang et al., 2021). 20 subjects performed 5 task types across 2 sessions using 256-channel high-density surface EMG (HD-sEMG) with simultaneous 5-finger force recordings.
Subjects
20 right-handed participants (12M, 8F; age 21-34). Two sessions per subject separated by 3-25 days. Demographics in participants.tsv.
Tasks
| Task | BIDS label | Description | Trials |
|------|-----------|-------------|--------|
| Pattern Recognition | `gesture01`-`gesture34` | 34 discrete hand gestures (Table I in paper) | 2 per gesture, each with 3 dynamic + 1 maintenance |
| Maximum Voluntary Contraction | `mvc` | MVC flexion/extension per finger | 2 per finger, 10s each |
| Single Finger (1-DOF) | `singlefinger` | Triangle force trajectory, individual fingers | 3 per finger, 25s each |
| Multi-Finger (N-DOF) | `multifinger` | Simultaneous multi-finger force tracking | 2 per combination, 25s each |
| Random | `random` | Free finger contractions at any force | 5 trials, 25s each |
Equipment
EMG system: Quattrocento (OT Bioelettronica, Torino, Italy), 2048 Hz, gain 150, 16-bit ADC
Electrodes: Four 8x8 gelled elliptical arrays (5mm x 2.8mm), 10mm inter-electrode distance
Placement: Two arrays on extensors (distal/proximal), two on flexors (distal/proximal) of right forearm
Reference: Olecranon (elbow); Ground: head of ulna (right leg drive)
Hardware filters: HP 10 Hz (2nd order), LP 500 Hz
Force sensors: SAS + HSGA (Huatran, Shenzhen, China), 100 Hz, 5 fingers
File Organization
*_emg.bdf- 256-channel EMG data (BDF format)*_physio.tsv.gz- 5-finger force data (non-PR tasks only)*_channels.tsv- Channel metadata with electrode mapping (signal_electrodecolumn)*_electrodes.tsv- Electrode positions in local grid coordinates (mm)*_events.tsv- Event markers (gesture trials or segment boundaries)
Non-PR tasks (MVC, singlefinger, multifinger, random) are merged from multiple original recordings into single files per session, with boundary events marking segment junctions.
Coordinate Systems
Four local grid systems (space-ed, space-ep, space-fd, space-fp) in mm, anchored to a parent forearm system (space-forearm) in anatomical percent coordinates. See space-*_coordsystem.json files.
Missing Data
6 gesture recordings absent in source dataset (not conversion failures): sub-01/ses-2/gesture25, sub-03/ses-1/gesture04, sub-03/ses-2/gesture04, sub-05/ses-1/gesture34, sub-11/ses-1/gesture08, sub-19/ses-2/gesture11.
Conversion
Converted using EMG-2-BIDS (EEGLAB + bids-matlab-tools). Data integrity verified: mean Pearson correlation >0.9999 between original WFDB and converted BDF across all 1514 recordings. See dataset_description.json for generator details.
Dataset Information#
Dataset ID |
|
Title |
HySER: High-Density Surface Electromyogram Recordings |
Author (year) |
|
Canonical |
— |
Importable as |
|
Year |
20 |
Authors |
Xinyu Jiang, Chenyun Dai, Xiangyu Liu, Jiahao Fan |
License |
ODC-By-1.0 |
Citation / DOI |
|
Source links |
OpenNeuro | NeMAR | Source URL |
Copy-paste BibTeX
@dataset{nm000108,
title = {HySER: High-Density Surface Electromyogram Recordings},
author = {Xinyu Jiang and Chenyun Dai and Xiangyu Liu and Jiahao Fan},
doi = {10.82901/nemar.nm000108},
url = {https://doi.org/10.82901/nemar.nm000108},
}
Found an issue with this dataset?
If you encounter any problems with this dataset (missing files, incorrect metadata, loading errors, etc.), please let us know!
Technical Details#
Subjects: 20
Recordings: 1514
Tasks: 38
Channels: 256
Sampling rate (Hz): Varies
Duration (hours): Not calculated
Pathology: Not specified
Modality: —
Type: —
Size on disk: 108.2 GB
File count: 1514
Format: BIDS
License: ODC-By-1.0
DOI: 10.82901/nemar.nm000108
Electrode Layout#
Electrode layout — EMG · 256 sensors — 256 channels
Dataset Statistics#
Age distribution (n=20, range 21–34 yr)
Sex distribution
Channel counts: 256 ch (n=1514 recordings)
NEMAR Processing Statistics#
The plots below are generated by NEMAR’s automated EEG pipeline. The histogram shows pipeline success for data cleaning and ICA decomposition, the percentage of data frames and EEG channels retained after artefact removal, line noise per channel (RMS, dB), and the age/gender distribution of participants.
HED event descriptors word cloud
File Explorer#
Browse the BIDS file structure of this dataset. Records are fetched on demand from the EEGDash catalog the first time you open the explorer.
API Reference#
Use the NM000108 class to access this dataset programmatically.
- class eegdash.dataset.NM000108(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
Bases:
EEGDashDatasetHySER: High-Density Surface Electromyogram Recordings
- Study:
nm000108(NeMAR)- Author (year):
Jiang2021- Canonical:
—
Also importable as:
NM000108,Jiang2021.Modality:
emg. Subjects: 20; recordings: 1514; tasks: 38.- Parameters:
cache_dir (str | Path) – Directory where data are cached locally.
query (dict | None) – Additional MongoDB-style filters to AND with the dataset selection. Must not contain the key
dataset.s3_bucket (str | None) – Base S3 bucket used to locate the data.
**kwargs (dict) – Additional keyword arguments forwarded to
EEGDashDataset.
- data_dir#
Local dataset cache directory (
cache_dir / dataset_id).- Type:
Path
Notes
Each item is a recording; recording-level metadata are available via
dataset.description.querysupports MongoDB-style filters on fields inALLOWED_QUERY_FIELDSand is combined with the dataset filter. Dataset-specific caveats are not provided in the summary metadata.References
OpenNeuro dataset: https://openneuro.org/datasets/nm000108 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000108 DOI: https://doi.org/10.82901/nemar.nm000108
Examples
>>> from eegdash.dataset import NM000108 >>> dataset = NM000108(cache_dir="./data") >>> recording = dataset[0] >>> raw = recording.load()
- __init__(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
- save(path: str, overwrite: bool = False, offset: int = 0)[source]#
Save datasets to files by creating one subdirectory for each dataset:
path/ 0/ 0-raw.fif | 0-epo.fif description.json raw_preproc_kwargs.json (if raws were preprocessed) window_kwargs.json (if this is a windowed dataset) window_preproc_kwargs.json (if windows were preprocessed) target_name.json (if target_name is not None and dataset is raw) 1/ 1-raw.fif | 1-epo.fif description.json raw_preproc_kwargs.json (if raws were preprocessed) window_kwargs.json (if this is a windowed dataset) window_preproc_kwargs.json (if windows were preprocessed) target_name.json (if target_name is not None and dataset is raw)
- Parameters:
path (str) –
- Directory in which subdirectories are created to store
-raw.fif | -epo.fif and .json files to.
overwrite (bool) – Whether to delete old subdirectories that will be saved to in this call.
offset (int) – If provided, the integer is added to the id of the dataset in the concat. This is useful in the setting of very large datasets, where one dataset has to be processed and saved at a time to account for its original position.
See Also#
eegdash.dataset.EEGDashDataseteegdash.dataset