From 187ce78ec50a0667bd8dae00c3953ed4ca34a440 Mon Sep 17 00:00:00 2001 From: Daniel McCloy Date: Thu, 5 Dec 2024 17:05:55 -0600 Subject: [PATCH 01/22] BEP 042: Electromyography (EMG) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Seyed (Yahya) Shirazi Co-authored-by: Jörn M. Horschig Co-authored-by: Chris Markiewicz Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- mkdocs.yml | 1 + src/introduction.md | 4 + .../electromyography.md | 680 ++++++++++++++++++ .../images/emg_electrodes1.png | Bin 0 -> 386108 bytes src/schema/meta/associations.yaml | 16 +- src/schema/meta/context.yaml | 23 +- src/schema/objects/columns.yaml | 69 +- src/schema/objects/common_principles.yaml | 8 +- src/schema/objects/datatypes.yaml | 4 + src/schema/objects/enums.yaml | 21 +- src/schema/objects/metadata.yaml | 138 ++++ src/schema/objects/modalities.yaml | 4 + src/schema/objects/suffixes.yaml | 7 +- src/schema/rules/checks/channels.yaml | 3 +- src/schema/rules/checks/emg.yaml | 42 ++ src/schema/rules/errors.yaml | 2 + src/schema/rules/files/raw/channels.yaml | 47 +- src/schema/rules/files/raw/emg.yaml | 17 + src/schema/rules/files/raw/events.yaml | 8 + src/schema/rules/files/raw/photo.yaml | 8 + src/schema/rules/json/emg.yaml | 57 ++ src/schema/rules/modalities.yaml | 3 + src/schema/rules/sidecars/emg.yaml | 87 +++ src/schema/rules/tabular_data/emg.yaml | 54 ++ 24 files changed, 1288 insertions(+), 15 deletions(-) create mode 100644 src/modality-specific-files/electromyography.md create mode 100644 src/modality-specific-files/images/emg_electrodes1.png create mode 100644 src/schema/rules/checks/emg.yaml create mode 100644 src/schema/rules/files/raw/emg.yaml create mode 100644 src/schema/rules/json/emg.yaml create mode 100644 src/schema/rules/sidecars/emg.yaml create mode 100644 src/schema/rules/tabular_data/emg.yaml diff --git a/mkdocs.yml b/mkdocs.yml index 28ba5d5b5a..a32b0c0bd8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -24,6 +24,7 @@ nav: - Near-Infrared Spectroscopy: modality-specific-files/near-infrared-spectroscopy.md - Motion: modality-specific-files/motion.md - Magnetic Resonance Spectroscopy: modality-specific-files/magnetic-resonance-spectroscopy.md + - Electromyography: modality-specific-files/electromyography.md - Derivatives: - BIDS Derivatives: derivatives/introduction.md - Common data types and metadata: derivatives/common-data-types.md diff --git a/src/introduction.md b/src/introduction.md index 2a5a377fe7..84e4ceea7c 100644 --- a/src/introduction.md +++ b/src/introduction.md @@ -192,6 +192,10 @@ For example: Scientific Data 12, (13841). [doi:10.1038/s41597-025-05543-2](https://doi.org/10.1038/s41597-025-05543-2) +#### EMG + +- (publication forthcoming) + ### Research Resource Identifier (RRID) BIDS has also a diff --git a/src/modality-specific-files/electromyography.md b/src/modality-specific-files/electromyography.md new file mode 100644 index 0000000000..4db33061b7 --- /dev/null +++ b/src/modality-specific-files/electromyography.md @@ -0,0 +1,680 @@ +# Electromyography + +Support for Electromyography (EMG) was developed as a +[BIDS Extension Proposal](../extensions.md#bids-extension-proposals). +Please see [Citing BIDS](../introduction.md#citing-bids) on how to appropriately credit +this extension when referring to it in the context of the academic literature. + +!!! example "Example datasets" + + Electromyography datasets formatted according to this specification are available on + the [BIDS examples repository](https://github.com/bids-standard/bids-examples#emg) + and can be emulated when curating new datasets. + +## EMG data + +{{ MACROS___make_filename_template( +"raw", +datatypes=["emg"], +suffixes=["emg", "events"]) +}} + +EMG device manufacturers use a variety of formats for storing raw data, and there is +no single standard that all researchers agree on. For BIDS, EMG data MUST be +stored in one of the following formats: + +| **Format** | **Extension(s)** | **Description** | +| ------------------------------------------------------------------ | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Biosemi data format](https://www.biosemi.com/faq/file_format.htm) | `.bdf` | Each recording consists of a single `.bdf` file. [`bdf+`](https://www.teuniz.net/edfbrowser/bdfplus%20format%20description.html) files are permitted. The capital `.BDF` extension MUST NOT be used. | +| [European data format](https://www.edfplus.info/) | `.edf` | Each recording consists of a single `.edf` file. [`edf+`](https://www.edfplus.info/specs/edfplus.html) files are permitted. The capital `.EDF` extension MUST NOT be used. | + +EDF, EDF+, BDF, and BDF+ are all open data formats with broad support in various programming languages for reading and writing the files. BDF and BDF+ formats store data samples using 3 bytes instead of 2 bytes as in EDF and EDF+ formats, allowing for greater resolution. EDF+/BDF+ accommodate more header metadata than EDF/BDF, and support storing event or annotation information in the file. Thus it is RECOMMENDED to use the BDF+ data format. + +The [`recording-