Skip to content

[ENH] BEP042 - EMG examples #480

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 39 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
229f836
Add the dataset structure for EMG-BIDS examples
neuromechanist Jan 28, 2025
d5d8183
remove non-ASCII chars
neuromechanist Jan 28, 2025
bd6f081
Add example1 details
neuromechanist Jan 28, 2025
0d5657c
add example 2 details
neuromechanist Jan 29, 2025
334c956
add placement notes for each channel
neuromechanist Jan 29, 2025
0c91aae
Add example 3 details
neuromechanist Jan 29, 2025
abcda58
minor correction
neuromechanist Jan 29, 2025
133b6fd
Add sample 5
neuromechanist Jan 29, 2025
171252e
update readme
neuromechanist Jan 29, 2025
896ae02
Update sub-s3CustomBipolarFace_task-talking_channels.tsv
neuromechanist Jan 29, 2025
8d71ca6
Update sub-s5TwoHDsEMG_task-isometric_channels.tsv
neuromechanist Jan 29, 2025
6969f67
Update sub-s5TwoHDsEMG_task-isometric_channels.tsv
neuromechanist Jan 29, 2025
fe04f07
Update sub-s5TwoHDsEMG_task-isometric_electrodes.tsv
neuromechanist Jan 29, 2025
5c2d2ef
Update sub-s5TwoHDsEMG_task-isometric_electrodes.json
neuromechanist Jan 29, 2025
698941d
Update sub-s5TwoHDsEMG_task-isometric_electrodes.tsv
neuromechanist Jan 29, 2025
e9908e3
Update sub-s5TwoHDsEMG_task-isometric_electrodes.json
neuromechanist Jan 29, 2025
ff94847
Update sub-s5TwoHDsEMG_task-isometric_electrodes.json
neuromechanist Jan 29, 2025
0043b5e
Update sub-s5TwoHDsEMG_task-isometric_electrodes.json
neuromechanist Jan 29, 2025
924ae36
Reconcile example 5
neuromechanist Jan 29, 2025
b9b4174
Reconcile example 3
neuromechanist Jan 30, 2025
e4c86c6
Reconcile example 2
neuromechanist Jan 30, 2025
16e8ca0
Add example 6
neuromechanist Jan 30, 2025
892c073
Correct prev examples
neuromechanist Jan 30, 2025
7d181b3
Add example8 highdensity
neuromechanist Jan 30, 2025
eb58747
Add example8 bipolar and minor correction
neuromechanist Jan 30, 2025
55f2fe3
Add example 9
neuromechanist Jan 30, 2025
79a3133
minor corrections
neuromechanist Jan 30, 2025
dc8be81
Fix channel types from emg to EMG
neuromechanist Feb 26, 2025
5bbfe48
Made a separate EMG dataset for Custom Bipolar placement
neuromechanist Mar 31, 2025
f6eca1b
Separate EMG dataset for Custom Bipolar placement on Face, one to man…
neuromechanist Mar 31, 2025
4a42021
EMG dataset for Independnet recording modules
neuromechanist Mar 31, 2025
402e736
Multi body parts
neuromechanist Mar 31, 2025
ebb3c9a
Two High-density EMG grids
neuromechanist Mar 31, 2025
1ec49d3
Independent modules using `acq` entity
neuromechanist Mar 31, 2025
eee69d4
Wristband exmaple
neuromechanist Mar 31, 2025
a1e7e5b
Remove the emg_examples directory
neuromechanist Mar 31, 2025
909c505
Add EMG datasts README and listing
neuromechanist Mar 31, 2025
1d0bd23
Merge branch 'master' into emg_examples
neuromechanist Mar 31, 2025
5b87be7
resolve spelling errors
neuromechanist Mar 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[codespell]
skip = .git,env,venv,ds*,asl*,qmr*,genetics*,fnirs*,eeg*,meg*,pet*,ieeg*,motion*,synthetic*
builtin = clear,rare
ignore-words-list = nd,te
ignore-words-list = nd,te,FLE
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,23 @@ DO NOT EDIT DIRECTLY.
| [eeg_matchingpennies](https://github.com/bids-standard/bids-examples/tree/master/eeg_matchingpennies) | Offline data of BCI experiment decoding left vs. right hand movement. BrainVision data format (.eeg, .vhdr, .vmrk) | eeg | channels, eeg, events | [link](https://doi.org/10.17605/OSF.IO/CJ2DR) | [@sappelhoff](https://github.com/sappelhoff) |
| [eeg_rishikesh](https://github.com/bids-standard/bids-examples/tree/master/eeg_rishikesh) | Mind wandering experiment. EEG data in Biosemi (.bdf) format | eeg | channels, eeg, events | [link](https://openneuro.org/datasets/ds001787) | [@arnodelorme](https://github.com/arnodelorme) |

### EMG

<!--
TABLE BELOW IS GENERATED AUTOMATICALLY.
DO NOT EDIT DIRECTLY.
-->

| name | description | datatypes | suffixes | link to full data | maintained by |
|:--------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------|:------------|:------------------------------------------------------------------|:------------------|:-------------------------------------|
| [emg_CustomBipolar](https://github.com/bids-standard/bids-examples/tree/master/emg_CustomBipolar) | Custom-made bipolar EMG recording setup with electrodes on flexors of the lower arm | emg | channels, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
| [emg_CustomBipolarFace](https://github.com/bids-standard/bids-examples/tree/master/emg_CustomBipolarFace) | EMG recording from facial muscles with many-to-many mapping between sensors and muscles | emg | channels, coordsystem, electrodes, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
| [emg_IndependentMod](https://github.com/bids-standard/bids-examples/tree/master/emg_IndependentMod) | Commercial bipolar EMG modules recording multiple muscles with wireless sensors | emg | channels, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
| [emg_MutliBodyParts](https://github.com/bids-standard/bids-examples/tree/master/emg_MutliBodyParts) | EMG recording from multiple body parts with different electrode types | emg | channels, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
| [emg_TwoHDsEMG](https://github.com/bids-standard/bids-examples/tree/master/emg_TwoHDsEMG) | High-density EMG grid recordings from two body parts demonstrating grid placement documentation | emg | channels, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
| [emg_TwoWristbands](https://github.com/bids-standard/bids-examples/tree/master/emg_TwoWristbands) | EMG recordings using two wristbands with dry electrodes to capture forearm muscle activity | emg | channels, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
| [emg_concurrentIndepndentUnits](https://github.com/bids-standard/bids-examples/tree/master/emg_concurrentIndepndentUnits) | Concurrent EMG recording with multiple independent recording units at different sampling rates | emg | channels, emg, photo | n/a | [@neuromechanist](https://github.com/neuromechanist) |

### DWI

<!--
Expand Down Expand Up @@ -220,7 +237,7 @@ DO NOT EDIT DIRECTLY.
| name | description | datatypes | suffixes | link to full data | maintained by |
|:--------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------|:--------------------------------|:---------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------|:-------------------------------------------|
| [ds000117](https://github.com/bids-standard/bids-examples/tree/master/ds000117) | A multi-subject, multi-modal human neuroimaging dataset of 19 subjects on a MEG visual task | anat, beh, dwi, fmap, func, meg | FLASH, T1w, bold, channels, coordsystem, dwi, events, headshape, magnitude1, magnitude2, meg, phasediff, scans | [link](https://openneuro.org/datasets/ds000117/) | [@RikHenson](https://github.com/RikHenson) |
| [ds000246](https://github.com/bids-standard/bids-examples/tree/master/ds000246) | Auditory dataset used for Brainstorms general online tutorial | anat, meg | T1w, channels, coordsystem, headshape, meg, photo, scans | [link](https://openneuro.org/datasets/ds000246/versions/00001) | [@guiomar](https://github.com/guiomar) |
| [ds000246](https://github.com/bids-standard/bids-examples/tree/master/ds000246) | Auditory dataset used for Brainstorm's general online tutorial | anat, meg | T1w, channels, coordsystem, headshape, meg, photo, scans | [link](https://openneuro.org/datasets/ds000246/versions/00001) | [@guiomar](https://github.com/guiomar) |
| [ds000247](https://github.com/bids-standard/bids-examples/tree/master/ds000247) | Five minutes, eyes-open, resting-state MEG data from 5 subjects. This is a sample from The Open MEG Archive (OMEGA). | anat, meg | T1w, channels, coordsystem, headshape, meg, scans | [link](https://openneuro.org/datasets/ds000247/versions/00001) | [@guiomar](https://github.com/guiomar) |
| [ds000248](https://github.com/bids-standard/bids-examples/tree/master/ds000248) | MNE sample data: Data with visual and auditory stimuli | anat, meg | FLASH, T1w, channels, coordsystem, events, meg, scans | [link](https://openneuro.org/datasets/ds000248/versions/00001) | [@agramfort](https://github.com/agramfort) |

Expand Down
7 changes: 7 additions & 0 deletions dataset_listing.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,10 @@ mrs_fmrs Functional MRS data involving a pain stimulus task from 15 subjects [li
xeeg_hed_score EEG and iEEG data with annotations of artifacts, seizures and modulators using HED-SCORE [@dorahermes](https://github.com/dorahermes) anat, eeg, ieeg T1w, channels, coordsystem, eeg, electrodes, events, ieeg
dwi_deriv exemplifies the storage of diffusion MRI derivates that may be generated on the Siemens XA platform. dwi dwi
pheno004 Minimal dataset with subjects with imaging and/or phenotype data [@ericearl](https://github.com/ericearl) phenotype, anat T1w
emg_CustomBipolar Custom-made bipolar EMG recording setup with electrodes on flexors of the lower arm emg channels, emg n/a @neuromechanist
emg_CustomBipolarFace EMG recording from facial muscles with many-to-many mapping between sensors and muscles emg channels, electrodes, emg n/a @neuromechanist
emg_IndependentMod Commercial bipolar EMG modules recording multiple muscles with wireless sensors emg channels, emg n/a @neuromechanist
emg_MutliBodyParts EMG recording from multiple body parts with different electrode types emg channels, emg n/a @neuromechanist
emg_TwoHDsEMG High-density EMG grid recordings from two body parts demonstrating grid placement documentation emg channels, electrodes, emg n/a @neuromechanist
emg_TwoWristbands EMG recordings using two wristbands with dry electrodes to capture forearm muscle activity emg channels, coordsystem, electrodes, emg n/a @neuromechanist
emg_concurrentIndepndentUnits Concurrent EMG recording with multiple independent recording units at different sampling rates emg channels, electrodes, emg, events n/a @neuromechanist
30 changes: 30 additions & 0 deletions emg_CustomBipolar/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# EMG Custom Bipolar Example

This dataset demonstrates documentation of a custom-made bipolar EMG system recording:
- Single channel bipolar montage
- Precise electrode placement using anatomical landmarks
- Inter-electrode distance specifications

## Dataset Structure

The dataset includes a single subject with a custom bipolar EMG setup:

```
emg_CustomBipolar/
├── dataset_description.json
├── participants.json
├── participants.tsv
├── README.md
└── sub-01/
└── emg/
├── sub-01_task-holdWeight_channels.tsv
├── sub-01_task-holdWeight_emg.edf
└── sub-01_task-holdWeight_emg.json
```

## Recording Details

- **Electrode Setup**: Custom bipolar EMG recording from flexors of the lower arm
- **Task**: Holding a weight to activate forearm flexors
- **Electrode Placement**: Precise positioning using anatomical landmarks
- **Inter-electrode Distance**: 2 cm between recording electrodes
16 changes: 16 additions & 0 deletions emg_CustomBipolar/dataset_description.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"Name": "EMG Custom Bipolar Example",
"License": "BSD 3-Clause",
"Authors": ["BEP042 Team"],
"ReferencesAndLinks": ["https://github.com/bids-standard/bids-specification/issues/1371",
"https://github.com/bids-standard/bids-specification/pull/1998"],
"EthicsApprovals": ["Datasets are de-identified hypotheticals and do not require ethics approval."],
"BIDSVersion": "1.10.0",
"HEDVersion": "8.3.0",
"DatasetType": "raw",
"Acknowledgements": "We thank the participants and their families for their time and effort. We also thank the NeuroScience Gateway team for providing computational resources.",
"GeneratedBy":[ {
"Name": "bids-matlab-tools",
"Version": "9.1"
}]
}
21 changes: 21 additions & 0 deletions emg_CustomBipolar/participants.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"age": {
"Description": "Age in years",
"Units": "years"
},
"sex": {
"Description": "self-reported sex, one of M, F, or O",
"Levels": {
"M": "male",
"F": "female",
"O": "other"
}
},
"group": {
"Description": "Experimental group the participant belonged to",
"Levels": {
"control": "Control group",
"experiment": "Experimental group"
}
}
}
2 changes: 2 additions & 0 deletions emg_CustomBipolar/participants.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
participant_id age sex group
sub-01 24 F control
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
name type units reference interelectrode_distance target_muscle
EMG1 EMG V bipolar 20 mm Flexor carpi radialis, Pronator teres, Brachioradialis
Empty file.
16 changes: 16 additions & 0 deletions emg_CustomBipolar/sub-01/emg/sub-01_task-holdWeight_emg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"EMGChannelCount":1,
"EMGPlacementScheme":"Center of electrode pair placed at 50% on the line between the posterior crista of the acromion and the olecranon, 2 finger widths lateral.",
"EMGReference":"bipolar",
"EMGGround":"Medial bony landmark of the elbow",
"EMGElectrodeCount":3,
"ElectrodeMaterial":"Ag/AgCl",
"Manufacturer":"Custom",
"ManufacturersModelName":"Raspberry Pi",
"AmpifierType":"Wired",
"RecordingDuration":1.00,
"SamplingFrequency":2000,
"TaskDescription":"The subject was holding an object with different weights for 5 seconds.",
"TaskName":"holdWeight",
"TriggerChannelCount":0
}
32 changes: 32 additions & 0 deletions emg_CustomBipolarFace/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# EMG Custom Bipolar Face Example

This dataset illustrates recording from facial muscles with:
- One-to-many mapping between sensors and muscles
- Functional localization for electrode placement
- Recording from muscles without bony landmarks

## Dataset Structure

The dataset includes a single subject with custom bipolar EMG setup for facial muscles:

```shell
emg_CustomBipolarFace/
├── dataset_description.json
├── participants.json
├── participants.tsv
├── README.md
└── sub-01/
└── emg/
├── sub-01_task-talking_channels.tsv
├── sub-01_task-talking_electrodes.json
├── sub-01_task-talking_electrodes.tsv
├── sub-01_task-talking_emg.edf
└── sub-01_task-talking_emg.json
```

## Recording Details

- **Electrode Setup**: Custom bipolar EMG recordings from facial muscles
- **Task**: Talking task with facial expressions
- **Challenges**: Documentation of electrode placement on non-bony landmarks
- **Muscles Recorded**: Multiple facial muscles (zygomaticus, frontalis, orbicularis oris)
16 changes: 16 additions & 0 deletions emg_CustomBipolarFace/dataset_description.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"Name": "EMG Custom Bipolar Face Example",
"License": "BSD 3-Clause",
"Authors": ["BEP042 Team"],
"ReferencesAndLinks": ["https://github.com/bids-standard/bids-specification/issues/1371",
"https://github.com/bids-standard/bids-specification/pull/1998"],
"EthicsApprovals": ["Datasets are de-identified hypotheticals and do not require ethics approval."],
"BIDSVersion": "1.10.0",
"HEDVersion": "8.3.0",
"DatasetType": "raw",
"Acknowledgements": "We thank the participants and their families for their time and effort. We also thank the NeuroScience Gateway team for providing computational resources.",
"GeneratedBy":[ {
"Name": "bids-matlab-tools",
"Version": "9.1"
}]
}
21 changes: 21 additions & 0 deletions emg_CustomBipolarFace/participants.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"age": {
"Description": "Age in years",
"Units": "years"
},
"sex": {
"Description": "self-reported sex, one of M, F, or O",
"Levels": {
"M": "male",
"F": "female",
"O": "other"
}
},
"group": {
"Description": "Experimental group the participant belonged to",
"Levels": {
"control": "Control group",
"experiment": "Experimental group"
}
}
}
2 changes: 2 additions & 0 deletions emg_CustomBipolarFace/participants.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
participant_id age sex group
sub-01 27 F control
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name type units reference target_muscle interelectrode_distance signal_electrode
EMG1 EMG V E2 tongue, anterior belly of the digastric n/a E1
EMG2 EMG V E4 levator angulis oris, zygomaticus major 20 mm E3
EMG3 EMG V E6 levator angulis oris, zygomaticus major n/a E5
EMG4 EMG V E8 platysma n/a E7
EMG5 EMG V E10 orbicularis oris n/a E9
EMG6 EMG V E12 tongue 20 mm E11
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"Coordsystem": {
"EMGCoordinateUnits": "percent",
"EMGCoordinateSystemDescription": "X: LHJ → RHJ; Y: Inion → Nasion; Z: MMP → Vertex; Left Helix-Tragus Junction; (LHJ) Right Helix-Tragus Junction(RHJ); Vertex Midpoint between Mastoid processes (MMP)"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name x y z
E1 20 80 0
E2 40 100 50
E3 10 90 40
E4 20 90 40
E5 70 90 40
E6 0 50 30
E7 80 90 30
E8 100 50 30
E9 50 100 20
E10 100 50 30
E11 60 60 -10
E12 70 60 -10
Empty file.
16 changes: 16 additions & 0 deletions emg_CustomBipolarFace/sub-01/emg/sub-01_task-talking_emg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"EMGChannelCount":6,
"EMGPlacementScheme":"Electrodes placed over articulatory muscles on the lower face.",
"EMGReference":"Behind the ear (Mastoid)",
"EMGGround":"n/a",
"EMGElectrodeCount":13,
"ElectrodeMaterial":"Ag/AgCl",
"Manufacturer":"Custom",
"ManufacturersModelName":"n/a",
"AmpifierType":"Wired",
"RecordingDuration":1.00,
"SamplingFrequency":2000,
"TaskDescription":"Subject perofrmed speech tasks.",
"TaskName":"talking",
"TriggerChannelCount":0
}
30 changes: 30 additions & 0 deletions emg_IndependentMod/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# EMG Independent Modules Example

This dataset demonstrates commercial bipolar EMG modules recording from multiple muscles:
- Multiple independent bipolar channels
- Wireless sensors
- Documentation of multiple target muscles

## Dataset Structure

The dataset includes a single subject with independent EMG modules:

```shell
emg_IndependentMod/
├── dataset_description.json
├── participants.json
├── participants.tsv
├── README.md
└── sub-01/
└── emg/
├── sub-01_task-grasping_channels.tsv
├── sub-01_task-grasping_emg.edf
└── sub-01_task-grasping_emg.json
```

## Recording Details

- **Electrode Setup**: Commercial wireless bipolar EMG modules
- **Task**: Grasping tasks to activate multiple arm muscles
- **Muscles Recorded**: Flexor digitorum superficialis, extensor digitorum, biceps, triceps
- **Recording Configuration**: Independent bipolar electrode pairs on each muscle
16 changes: 16 additions & 0 deletions emg_IndependentMod/dataset_description.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"Name": "EMG Independent Modules Example",
"License": "BSD 3-Clause",
"Authors": ["BEP042 Team"],
"ReferencesAndLinks": ["https://github.com/bids-standard/bids-specification/issues/1371",
"https://github.com/bids-standard/bids-specification/pull/1998"],
"EthicsApprovals": ["Datasets are de-identified hypotheticals and do not require ethics approval."],
"BIDSVersion": "1.10.0",
"HEDVersion": "8.3.0",
"DatasetType": "raw",
"Acknowledgements": "We thank the participants and their families for their time and effort. We also thank the NeuroScience Gateway team for providing computational resources.",
"GeneratedBy":[ {
"Name": "bids-matlab-tools",
"Version": "9.1"
}]
}
21 changes: 21 additions & 0 deletions emg_IndependentMod/participants.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"age": {
"Description": "Age in years",
"Units": "years"
},
"sex": {
"Description": "self-reported sex, one of M, F, or O",
"Levels": {
"M": "male",
"F": "female",
"O": "other"
}
},
"group": {
"Description": "Experimental group the participant belonged to",
"Levels": {
"control": "Control group",
"experiment": "Experimental group"
}
}
}
2 changes: 2 additions & 0 deletions emg_IndependentMod/participants.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
participant_id age sex group
sub-01 32 M control
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name type units target_muscle interelectrode_distance placement
EMG1 EMG V Flexor carpi radialis 20 mm near the elbow crease on the inner forearm
EMG2 EMG V Extensor radialis brevis 20 mm dorsal side of the forearm, about halfway between the elbow and the wrist
EMG3 EMG V Brachioradialis 20 mm upper forearm, about one-third of the way down from the elbow, on the lateral side
EMG4 EMG V Flexor digitorum superficialis 20 mm Locate the midpoint of the inner forearm
EMG5 EMG V Flexor carpi ulnaris 20 mm above the wrist on the inner forearm
EMG6 EMG V Abductor pollicis brevis 20 mm Over the fleshy area at the base of the thumb
Empty file.
Loading
Loading