Skip to content

New EMG examples showcasing invasive recordings#549

Open
klotz-t wants to merge 81 commits intobids-standard:masterfrom
klotz-t:emg_examples
Open

New EMG examples showcasing invasive recordings#549
klotz-t wants to merge 81 commits intobids-standard:masterfrom
klotz-t:emg_examples

Conversation

@klotz-t
Copy link
Copy Markdown

@klotz-t klotz-t commented Mar 25, 2026

The current EMG-BIDS specification does not include specifications for invasive EMG recordings (which are also highly relevant to the field). This pull request contains three examples of invasive EMG: concentric needle, fine wire, and combined invasive and surface EMG.

The following extensions (in _emg.json) should suffice to make EMG-BIDS capable of handling invasive EMG:

  • EMGType (REQUIRED): Specify the type of EMG recording. Can be either surface, invasive, or combined.
  • CannulaDiameter (RECOMMENDED if invasive EMG): Diameter of the inserted needle (it is often reported in Gauge units; decide if one wants to stay with that convention or if metric units should be used (more BIDS-like))
  • CannulaLength (RECOMMENDED if invasive EMG): Length of the inserted needle in millimeters.
  • CannulaMaterial (RECOMMENDED if invasive EMG): Material of the needle.
  • InsulatorMaterial (RECOMMENDED if fine wire or concentric needle electrode): Material used to insulate a pair of fine wire electrodes or the signal electrode from the shaft (reference) in a concentric needle.
  • SterilizationMethod (RECOMMENDED if invasive EMG): Method used to sterilize the EMG-electrodes, e.g., E-beam or ethylene oxide.
  • ElectrodeSurfaceArea (RECOMMENDED if invasive EMG, otherwise also not a bad idea to be reported): Surface area of the electrode contact in mm^2 (in the case of fine wire electrodes, only fully specified through ElectrodeDiameter (does also fit other electrode types) and ElectrodeTipLength (potentially only relevant for that type of electrode))

Here are a few additional considerations from validating these new examples with the BIDS validator (all of them pass):

  • As it is, there are fields such as ElectrodeManufacturer or ElectrodeManufacturersModelName that are identified to be included in *electrodes.tsv (if needed); however, they are not specified there, so the BIDS validator only lets you pass if you put these fields in an electrode.json file.
  • InterelectrodeDistance is currently described to belong to *electrodes.tsv (if heterogeneous); however, formally it is defined to belong to *channels.tsv. I think it makes sense to have it in the electrodes.tsv; at least, it should be described consistently.
  • It can be kind of tricky that SoftwareFilters is a required field; if channel-specific, there is nothing reasonable to put there (n/a also feels not correct). Maybe there should be an option channel-specific (next to n/a or object). In one example, I have implemented a workaround: in the corresponding object, I set the low- and high-pass cut-offs to channel-specific (to let you pass the validator).

Merge current main branch into invasive EMG branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants