NM000281: emg dataset, 193 subjects#
emg2pose: Surface EMG and Hand Pose
Access recordings and metadata through EEGDash.
Citation: Sasha Salter, Richard Warren, Collin Schlager, Adrian Spurr, Shangchen Han, Rohin Bhasin, Yujun Cai, Peter Walkington, Anuoluwapo Bolarinwa, Robert Wang, Nathan Danielson, Josh Merel, Eftychios Pnevmatikakis, Jesse Marshall, Alexandre Gramfort (20). emg2pose: Surface EMG and Hand Pose. 10.82901/nemar.nm000281
Modality: emg Subjects: 193 Recordings: 25253 License: CC-BY-NC-SA-4.0 Source: nemar
Metadata: Complete (100%)
193-participant EMG dataset — emg2pose: Surface EMG and Hand Pose.
Quickstart#
Install
pip install eegdash
Access the data
from eegdash.dataset import NM000281
dataset = NM000281(cache_dir="./data")
# Get the raw object of the first recording
raw = dataset.datasets[0].raw
print(raw.info)
Filter by subject
dataset = NM000281(cache_dir="./data", subject="01")
Advanced query
dataset = NM000281(
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{nm000281,
title = {emg2pose: Surface EMG and Hand Pose},
author = {Sasha Salter and Richard Warren and Collin Schlager and Adrian Spurr and Shangchen Han and Rohin Bhasin and Yujun Cai and Peter Walkington and Anuoluwapo Bolarinwa and Robert Wang and Nathan Danielson and Josh Merel and Eftychios Pnevmatikakis and Jesse Marshall and Alexandre Gramfort},
doi = {10.82901/nemar.nm000281},
url = {https://doi.org/10.82901/nemar.nm000281},
}
About This Dataset#
emg2pose: Surface EMG and Hand Pose
This dataset is a NEMAR re-host and EMG-BIDS conversion of the public Meta emg2pose release. The original benchmark is described in:
Salter, Warren, Schlager et al. “emg2pose: A Large and Diverse Benchmark for
Surface Electromyographic Hand Pose Estimation.” NeurIPS 2024 Datasets and Benchmarks Track. arXiv:2412.02725. DOI: 10.48550/arXiv.2412.02725.
The source paper describes emg2pose as a wrist surface electromyography benchmark for hand pose estimation. It contains 2 kHz, 16-channel sEMG recordings paired with hand pose labels captured by a 26-camera motion-capture rig. The public release spans 193 users, 370 hours, 29 behavioral stages, and approximately 80 million labeled frames.
Conversion notes
View full README
The source paper describes emg2pose as a wrist surface electromyography benchmark for hand pose estimation. It contains 2 kHz, 16-channel sEMG recordings paired with hand pose labels captured by a 26-camera motion-capture rig. The public release spans 193 users, 370 hours, 29 behavioral stages, and approximately 80 million labeled frames.
Conversion notes
The upstream HDF5 recordings were converted using a fast parallel adaptation of facebookresearch/emg2pose PR #6, contributed by Alexandre Gramfort (@agramfort). Each recording is stored as an EMG-BIDS BDF file under sub-*/ses-*/emg. Each BDF contains: - 16 EMG channels named emg0 through emg15. - 20 joint-angle channels named joint0 through joint19. - Joint-angle channels are represented as radian-valued MISC channels. - BAD_IK annotations mark samples where inverse-kinematics labels are all zero. - The BIDS recording entity stores the source hand side, left or right.
The original upstream tarball is preserved in sourcedata as sourcedata/emg2pose_dataset.tar. The arXiv PDF and source bundle for the paper are preserved under sourcedata/paper for provenance.
Known limitations
Exact anatomical electrode coordinates are not provided by the public release, so EMGPlacementScheme is recorded as Other. The BDF writer pads the final data record with edge values when a recording length is not an exact multiple of the BDF data-record duration; this is a format-level requirement and does not alter the original samples before the final padded block.
NEMAR Metadata#
[](https://doi.org/10.82901/nemar.nm000281) emg2pose: Surface EMG and Hand Pose This dataset is a NEMAR re-host and EMG-BIDS conversion of the public Meta emg2pose release. The original benchmark is described in: Salter, Warren, Schlager et al. “emg2pose: A Large and Diverse Benchmark for Surface Electromyographic Hand Pose Estimation.” NeurIPS 2024 Datasets and Benchmarks Track. arXiv:2412.02725. DOI: 10.48550/arXiv.2412.02725. The source paper describes emg2pose as a wrist surface electromyography benchmark for hand pose estimation. It contains 2 kHz, 16-channel sEMG recordings paired with hand pose labels captured by a 26-camera motion-capture rig. The public release spans 193 users, 370 hours, 29 behavioral stages, and approximately 80 million labeled frames. Conversion notes —————- The upstream HDF5 recordings were converted using a fast parallel adaptation of facebookresearch/emg2pose PR #6, contributed by Alexandre Gramfort (@agramfort). Each recording is stored as an EMG-BIDS BDF file under sub-/ses-/emg. Each BDF contains: - 16 EMG channels named emg0 through emg15. - 20 joint-angle channels named joint0 through joint19. - Joint-angle channels are represented as radian-valued MISC channels. - BAD_IK annotations mark samples where inverse-kinematics labels are all zero. - The BIDS recording entity stores the source hand side, left or right. The original upstream tarball is preserved in sourcedata as sourcedata/emg2pose_dataset.tar. The arXiv PDF and source bundle for the paper are preserved under sourcedata/paper for provenance. Known limitations —————– Exact anatomical electrode coordinates are not provided by the public release, so EMGPlacementScheme is recorded as Other. The BDF writer pads the final data record with edge values when a recording length is not an exact multiple of the BDF data-record duration; this is a format-level requirement and does not alter the original samples before the final padded block.
License: CC-BY-NC-SA-4.0
Authors:
Sasha Salter
Richard Warren
Collin Schlager
Adrian Spurr
Shangchen Han
… and 10 more
Versions:
Version |
DOI |
Released |
|---|---|---|
|
Cohort#
Dataset Statistics#
Channel counts: 36 ch (n=25253 recordings)
Sampling frequencies: 2000.0 Hz (n=25253 recordings)
Total recording duration: 375 h
Signal · Electrodes & live trace#
Live trace viewer — sub-01 · ses-01 · task-emg2pose · run-01
Showing one representative recording out of
193 subjects and 25253 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.
No scalp electrode layout is currently indexed for this dataset. Once the eegdash montage registry ingests it, the interactive viewer will appear here automatically.
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
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.
Full dataset metadata table
Dataset ID |
|
Title |
emg2pose: Surface EMG and Hand Pose |
Author (year) |
— |
Canonical |
— |
Importable as |
|
Year |
20 |
Authors |
Sasha Salter, Richard Warren, Collin Schlager, Adrian Spurr, Shangchen Han, Rohin Bhasin, Yujun Cai, Peter Walkington, Anuoluwapo Bolarinwa, Robert Wang, Nathan Danielson, Josh Merel, Eftychios Pnevmatikakis, Jesse Marshall, Alexandre Gramfort |
License |
CC-BY-NC-SA-4.0 |
Citation / DOI |
|
Source links |
OpenNeuro | NeMAR | Source URL |
Copy-paste BibTeX
@dataset{nm000281,
title = {emg2pose: Surface EMG and Hand Pose},
author = {Sasha Salter and Richard Warren and Collin Schlager and Adrian Spurr and Shangchen Han and Rohin Bhasin and Yujun Cai and Peter Walkington and Anuoluwapo Bolarinwa and Robert Wang and Nathan Danielson and Josh Merel and Eftychios Pnevmatikakis and Jesse Marshall and Alexandre Gramfort},
doi = {10.82901/nemar.nm000281},
url = {https://doi.org/10.82901/nemar.nm000281},
}
API Reference#
eegdash.datasetEEGDashDataset- class eegdash.dataset.NM000281(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
emg2pose: Surface EMG and Hand Pose
- Study:
nm000281(NeMAR)- Author (year):
—
- Canonical:
—
Also importable as:
NM000281.Modality:
emg; Subject type:Unknown. Subjects: 193; recordings: 25253; tasks: 1.- 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/nm000281 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=nm000281 DOI: https://doi.org/10.82901/nemar.nm000281
Examples
>>> from eegdash.dataset import NM000281 >>> dataset = NM000281(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.
BaseDataset from braindecode — windowed via create_windows_from_events.braindecodeDataLoader; supports parallel workers and on-the-fly augmentations.pytorchSwap any load_dataset(...) call for nm000281 to reproduce the tutorial on this dataset.
Citation
Sasha Salter, Richard Warren, Collin Schlager, Adrian Spurr, Shangchen Han, … (20). emg2pose: Surface EMG and Hand Pose. 10.82901/nemar.nm000281
Provenance
¹Contributed to nemar in BIDS format.
²Curated & ingested by the EEGDash catalog; see CITATION.cff for canonical reference.
³Persistent identifier: 10.82901/nemar.nm000281.
See Also#
eegdash.dataset.EEGDashDataseteegdash.dataset