Skip to content

Commit f460732

Browse files
neuromechanistdrammockeffigies
committed
Add EMG-BIDS examples
This commit adds comprehensive EMG-BIDS example datasets demonstrating various EMG recording scenarios including custom bipolar placements, high-density grids, multi-body part recordings, and independent recording modules. Co-authored-by: Daniel McCloy <[email protected]> Co-authored-by: Chris Markiewicz <[email protected]>
1 parent bd8a951 commit f460732

File tree

78 files changed

+1446
-7
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1446
-7
lines changed

.codespellrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[codespell]
22
skip = .git,env,venv,ds*,asl*,qmr*,genetics*,fnirs*,eeg*,meg*,pet*,ieeg*,motion*,synthetic*
33
builtin = clear,rare
4-
ignore-words-list = nd,te
4+
ignore-words-list = nd,te,FLE

.github/workflows/validate_datasets.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,19 @@ jobs:
6969
run: |
7070
# If unmerged validator PRs are needed for testing, you can use
7171
# https://github.com/<FORK>/bids-validator/raw/<BRANCH>/bids-validator/src/bids-validator.ts
72-
deno install -Agf https://github.com/bids-standard/bids-validator/raw/deno-build/bids-validator.js
72+
deno install -Agf https://github.com/bids-standard/bids-validator/raw/deno-build/bids-validator.js
7373
7474
- name: Install BIDS validator (dev)
7575
if: matrix.bids-validator == 'dev'
7676
run: |
7777
git clone -b dev https://github.com/bids-standard/bids-validator/ ../bids-validator
7878
cd ../bids-validator
79+
git fetch origin refs/pull/268/head
80+
git checkout FETCH_HEAD
7981
deno compile -A -o $HOME/.deno/bin/bids-validator src/bids-validator.ts
8082
8183
- name: Install BIDS validator (legacy)
82-
if: "matrix.bids-validator == 'legacy'"
84+
if: matrix.bids-validator == 'legacy'
8385
run: |
8486
npm install -g bids-validator
8587
@@ -93,7 +95,7 @@ jobs:
9395
echo "bids-validator"; bids-validator --version
9496
9597
- name: Check that no large files are present
96-
if: "matrix.bids-validator == 'stable'"
98+
if: matrix.bids-validator == 'stable'
9799
run: |
98100
echo "Checking for big files ..."
99101
found=`find . -not -path "./.git*" -type f -size +500k`
@@ -119,7 +121,7 @@ jobs:
119121
- name: Skip main validation for datasets with unreleased spec features
120122
# Replace ${EMPTY} with dataset patterns, when this is needed
121123
# Reset to "for DS in ${EMPTY}; ..." after a spec release
122-
run: for DS in dwi_deriv pheno004; do touch $DS/.SKIP_VALIDATION; done
124+
run: for DS in emg_*; do touch $DS/.SKIP_VALIDATION; done
123125
if: matrix.bids-validator != 'dev'
124126

125127
- name: Set BIDS_SCHEMA variable for dev version
@@ -128,7 +130,7 @@ jobs:
128130
# Update this URL to the schema.json from PRs to the spec, when needed.
129131
# If this variable is unset, dev will generally track the latest development
130132
# release of https://jsr.io/@bids/schema
131-
run: echo BIDS_SCHEMA=https://bids-specification.readthedocs.io/en/latest/schema.json >> $GITHUB_ENV
133+
run: echo BIDS_SCHEMA=https://bids-specification--1998.org.readthedocs.build/en/1998/schema.json >> $GITHUB_ENV
132134

133135
- name: Validate all BIDS datasets using bids-validator
134136
run: |

README.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,23 @@ DO NOT EDIT DIRECTLY.
164164
| [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) |
165165
| [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) |
166166

167+
### EMG
168+
169+
<!--
170+
TABLE BELOW IS GENERATED AUTOMATICALLY.
171+
DO NOT EDIT DIRECTLY.
172+
-->
173+
174+
| name | description | datatypes | suffixes | link to full data | maintained by |
175+
|:--------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------|:------------|:------------------------------------------------------------------|:------------------|:-------------------------------------|
176+
| [emg_ConcurrentIndependentUnits](https://github.com/bids-standard/bids-examples/tree/master/emg_ConcurrentIndependentUnits) | Concurrent EMG recording with multiple independent recording units at different sampling rates | emg | channels, electrodes, coordsystem, emg, events | n/a | [@neuromechanist](https://github.com/neuromechanist) |
177+
| [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) |
178+
| [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, events | n/a | [@neuromechanist](https://github.com/neuromechanist) |
179+
| [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) |
180+
| [emg_MultiBodyParts](https://github.com/bids-standard/bids-examples/tree/master/emg_MultiBodyParts) | EMG recording from multiple body parts with different electrode types | emg | channels, electrodes, coordsystem, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
181+
| [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, electrodes, coordsystem, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
182+
| [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, electrodes, coordsystem, emg | n/a | [@neuromechanist](https://github.com/neuromechanist) |
183+
167184
### DWI
168185

169186
<!--
@@ -220,7 +237,7 @@ DO NOT EDIT DIRECTLY.
220237
| name | description | datatypes | suffixes | link to full data | maintained by |
221238
|:--------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------|:--------------------------------|:---------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------|:-------------------------------------------|
222239
| [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) |
223-
| [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) |
240+
| [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) |
224241
| [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) |
225242
| [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) |
226243

dataset_listing.tsv

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,11 @@ mrs_fmrs Functional MRS data involving a pain stimulus task from 15 subjects [li
8585
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
8686
dwi_deriv exemplifies the storage of diffusion MRI derivates that may be generated on the Siemens XA platform. dwi dwi
8787
pheno004 Minimal dataset with subjects with imaging and/or phenotype data [@ericearl](https://github.com/ericearl) phenotype, anat T1w
88+
emg_ConcurrentIndependentUnits Concurrent EMG recording with multiple independent recording units at different sampling rates n/a [@neuromechanist](https://github.com/neuromechanist) emg channels, electrodes, coordsystem, emg, events
89+
emg_CustomBipolar Custom-made bipolar EMG recording setup with electrodes on flexors of the lower arm n/a [@neuromechanist](https://github.com/neuromechanist) emg channels, emg
90+
emg_CustomBipolarFace EMG recording from facial muscles with many-to-many mapping between sensors and muscles n/a [@neuromechanist](https://github.com/neuromechanist) emg channels, electrodes, coordsystem, emg
91+
emg_IndependentMod Commercial bipolar EMG modules recording multiple muscles with wireless sensors n/a [@neuromechanist](https://github.com/neuromechanist) emg channels, electrodes, coordsystem, emg
92+
emg_MultiBodyParts EMG recording from multiple body parts with different electrode types n/a [@neuromechanist](https://github.com/neuromechanist) emg channels, electrodes, coordsystem, emg
93+
emg_TwoHDsEMG High-density EMG grid recordings from two body parts demonstrating grid placement documentation n/a [@neuromechanist](https://github.com/neuromechanist) emg channels, electrodes, coordsystem, emg
94+
emg_TwoWristbands EMG recordings using two wristbands with dry electrodes to capture forearm muscle activity n/a [@neuromechanist](https://github.com/neuromechanist) emg channels, electrodes, coordsystem, emg
8895
mri_chunk Example MRI dataset to illustrate BIDS chunk entity. A single subject, two chunks. [@valosekj](https://github.com/valosekj) anat T1w

emg_CustomBipolar/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# EMG Custom Bipolar Example
2+
3+
This dataset demonstrates documentation of a custom-made bipolar EMG system recording:
4+
- Single channel bipolar montage
5+
- Precise electrode placement using anatomical landmarks
6+
- Inter-electrode distance specifications
7+
8+
## Dataset Structure
9+
10+
The dataset includes a single subject with a custom bipolar EMG setup:
11+
12+
```
13+
emg_CustomBipolar/
14+
├── dataset_description.json
15+
├── participants.json
16+
├── participants.tsv
17+
├── README.md
18+
└── sub-01/
19+
└── emg/
20+
├── sub-01_task-holdWeight_channels.tsv
21+
├── sub-01_task-holdWeight_emg.edf
22+
└── sub-01_task-holdWeight_emg.json
23+
```
24+
25+
## Recording Details
26+
27+
- **Electrode Setup**: Custom bipolar EMG recording from flexors of the lower arm
28+
- **Task**: Holding a weight to activate forearm flexors
29+
- **Electrode Placement**: Precise positioning using anatomical landmarks
30+
- **Inter-electrode Distance**: 2 cm between recording electrodes
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"Name": "EMG Custom Bipolar Example",
3+
"License": "BSD 3-Clause",
4+
"Authors": ["BEP042", "Contributors"],
5+
"ReferencesAndLinks": ["https://github.com/bids-standard/bids-specification/issues/1371",
6+
"https://github.com/bids-standard/bids-specification/pull/1998"],
7+
"EthicsApprovals": ["Datasets are de-identified hypotheticals and do not require ethics approval."],
8+
"BIDSVersion": "1.10.0",
9+
"HEDVersion": "8.3.0",
10+
"DatasetType": "raw",
11+
"SourceDatasets": [{"URL": "n/a"}],
12+
"Acknowledgements": "We thank the participants and their families for their time and effort. We also thank the NeuroScience Gateway team for providing computational resources.",
13+
"GeneratedBy":[ {
14+
"Name": "bids-matlab-tools",
15+
"Version": "9.1"
16+
}]
17+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"age": {
3+
"Description": "Age in years",
4+
"Units": "years"
5+
},
6+
"sex": {
7+
"Description": "self-reported sex, one of M, F, or O",
8+
"Levels": {
9+
"M": "male",
10+
"F": "female",
11+
"O": "other"
12+
}
13+
},
14+
"group": {
15+
"Description": "Experimental group the participant belonged to",
16+
"Levels": {
17+
"control": "Control group",
18+
"experiment": "Experimental group"
19+
}
20+
}
21+
}

emg_CustomBipolar/participants.tsv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
participant_id age sex group
2+
sub-01 24 F control
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
name type units target_muscle
2+
EMG1 EMG V Flexor carpi radialis, Pronator teres, Brachioradialis
1 KB
Binary file not shown.

0 commit comments

Comments
 (0)