EEGdashNeMARNM000108
Iss. 108 · 20 subjects · 1514 recordings · ODC-By-1.0
Dataset Brief · HySER

NM000108: emg dataset, 20 subjects#

HySER: High-Density Surface Electromyogram Recordings

Citation: Xinyu Jiang, Chenyun Dai, Xiangyu Liu, Jiahao Fan (20). HySER: High-Density Surface Electromyogram Recordings. 10.82901/nemar.nm000108

20-participant EMG dataset — HySER: High-Density Surface Electromyogram Recordings.

EMG · 256 chBIDS 1.11.038 tasks2 sessions
Layer 01Study
What was asked
Hypothesis, independent & dependent variables, paradigm, cohort, and the editorial caveats around what the recordings can and cannot answer.
Layer 02Signal · BIDS
What was recorded
Sidecars, channels & electrodes, coordinate system, event semantics, and quality stats from the NEMAR pipeline when available.
Layer 03Training · ML
What you can train on
Recommended access modes — MNE Raw, braindecode windows, PyTorch DataLoader — plus the targets the metadata makes addressable.
§ 01Access · Get started

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},
}
§ 02Study · The README

About This Dataset#

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.

20 right-handed participants (12M, 8F; age 21-34). Two sessions per subject separated by 3-25 days. Demographics in participants.tsv.

DOI Paper DOI PhysioNet License

HySER: High-Density Surface Electromyogram Recordings

Tasks


View full README

DOI Paper DOI PhysioNet License

HySER: High-Density Surface Electromyogram Recordings

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_electrode column)

  • *_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.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=20, range 21–34 yr, mean 26.8 yr)

202530
Female · 8Male · 12

Sex composition

20
subjects
Female
8
Male
12
F : M ratio
0.67 : 1
40% female · n = 20 subjects with reported sex.

Channel counts: 256 ch (n=1514 recordings)

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 256 ch · EMG · Varies · 20 subjects, 1514 recordings
Live trace viewer — sub-13 · ses-2 · task-gesture10

Showing one representative recording out of 20 subjects and 1514 recordings in this dataset. Browse the full set on OpenNeuro; drop any other _emg.{set,edf,bdf,vhdr} file onto the viewer (or pass ?emg=<url>) to inspect it.

Electrode layout — EMG · 256 sensors — 256 channels

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 HED event descriptors word cloud — NM000108
§ 05Manifest · BIDS tree

Manifest#

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.

Recordings
Files
Subjects
Modalities
Click to load file structure…
Full dataset metadata table

Dataset ID

NM000108

Title

HySER: High-Density Surface Electromyogram Recordings

Author (year)

Jiang2021

Canonical

Importable as

NM000108, Jiang2021

Year

20

Authors

Xinyu Jiang, Chenyun Dai, Xiangyu Liu, Jiahao Fan

License

ODC-By-1.0

Citation / DOI

10.82901/nemar.nm000108

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},
}
§ 06API · Programmatic access

API Reference#

Signature
eegdash.dataset
class
eegdash.dataset.NM000108(cache_dir, query=None, s3_bucket=None, **kwargs)
Bases: EEGDashDataset
Author (year)Jiang2021
Canonical
Importable asNM000108 · Jiang2021
Sourceeegdash/dataset/registry.py · [source ↗]
class eegdash.dataset.NM000108(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#

HySER: 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

query#

Merged query with the dataset filter applied.

Type:

dict

records#

Metadata records used to build the dataset, if pre-fetched.

Type:

list[dict] | None

Notes

Each item is a recording; recording-level metadata are available via dataset.description. query supports MongoDB-style filters on fields in ALLOWED_QUERY_FIELDS and 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.

Access modesMNE → braindecode → PyTorch → ML
.rawMNE Raw object — standard tools (filter, epoch, ICA, plot_psd).mne
DataLoaderWraps the windowed dataset into a PyTorch DataLoader; supports parallel workers and on-the-fly augmentations.pytorch
Zarr cacheOptional braindecode Zarr mirror for fast resume; persisted to cache_dir.zarr
Hugging FaceNo per-dataset mirror published yet — browse the EEGDash org listing for sibling datasets. See the datasets loader API.huggingface
Croissant 1.0Machine-readable JSON-LD descriptorNM000108.croissant.json (MLCommons schema, ingestible by PyTorch / TensorFlow / JAX).mlcommons
Examples using EEGDashcurated · start here

Swap any load_dataset(...) call for nm000108 to reproduce the tutorial on this dataset.

Citation

Xinyu Jiang, Chenyun Dai, Xiangyu Liu, Jiahao Fan (20). HySER: High-Density Surface Electromyogram Recordings. 10.82901/nemar.nm000108

Provenance

¹Contributed to nemar in BIDS format.

²Curated & ingested by the EEGDash catalog; see CITATION.cff for canonical reference.

³Persistent identifier: 10.82901/nemar.nm000108.

BIDS
BIDS 1.11.0
Sidecars
events · channels · electrodes
Provenance
Machine-readable
Mirrors

See Also#