Repository: mne-tools/mne-python

Issue:
Add HED to glossary
In MNE, we can describe events using hierarchical event descriptors (HED), such as `stim/a`, `stim/b` etc. They should be mentioned in the glossary and potentially a reference to the original publication should be added to an Epochs/events tutorial

Publication:
http://sccn.ucsd.edu/~nima/downloads/HED_globalsip_paper.pdf



Discussion:
:+1: 

There is also a more recent paper: https://osf.io/5fg73/

the initial paper talks about "first generation HED", but the standard is planning to release the third generation in 2021.
Yes but I don't think we currently support anything beyond HED "1.0", do we?
> Yes but I don't think we currently support anything beyond HED "1.0", do we?

I am not sure that MNE supports HED 1.0 fully :thinking: it looks to me more like some (more or less coincidental) overlap between features, but I may be wrong.
I can work on this one! :)
@anaradanovic This sounds great!
Would you like me to include examples in the description?
@anaradanovic Yes why not!

Resolving patch:
diff --git a/mne/epochs.py b/mne/epochs.py
--- a/mne/epochs.py
+++ b/mne/epochs.py
@@ -2107,9 +2107,10 @@ def make_metadata(events, event_id, tmin, tmax, sfreq,
         (default), rows are created for **all** event types present in
         ``event_id``.
     keep_first : str | list of str | None
-        Specify subsets of hierarchical event descriptors (HEDs) matching
-        events of which  the **first occurrence** within each
-        time window shall be stored in addition to the original events.
+        Specify subsets of :term:`hierarchical event descriptors` (HEDs,
+        inspired by :footcite:`BigdelyShamloEtAl2013`) matching events of which
+        the **first occurrence** within each time window shall be stored in
+        addition to the original events.
 
         .. note::
            There is currently no way to retain **all** occurrences of a
@@ -2124,7 +2125,7 @@ def make_metadata(events, event_id, tmin, tmax, sfreq,
         case, you can pass ``keep_first='response'``. This will add two new
         columns to the metadata: ``response``, indicating at what **time** the
         event  occurred, relative to the time-locked event; and
-        ``first_response``, stating which **type** (``'left'`` or``'right'``)
+        ``first_response``, stating which **type** (``'left'`` or ``'right'``)
         of event occurred.
         To match specific subsets of HEDs describing different sets of events,
         pass a list of these subsets, e.g.
@@ -2183,6 +2184,10 @@ def make_metadata(events, event_id, tmin, tmax, sfreq,
     before or after an epoch, e.g. during the inter-trial interval.
 
     .. versionadded:: 0.23
+
+    References
+    ----------
+    .. footbibliography::
     """
     from .utils.mixin import _hid_match
     pd = _check_pandas_installed()
diff --git a/tutorials/epochs/plot_40_autogenerate_metadata.py b/tutorials/epochs/plot_40_autogenerate_metadata.py
--- a/tutorials/epochs/plot_40_autogenerate_metadata.py
+++ b/tutorials/epochs/plot_40_autogenerate_metadata.py
@@ -147,18 +147,18 @@
 # ``response/right``. We would like to map those to "correct" and "incorrect".
 # To make this easier, we can ask `~mne.epochs.make_metadata` to generate an
 # entirely **new** column that refers to the first response observed during the
-# given time interval. This works by passing a subset of the hierarchical
-# event descriptions (HEDs) used to name events via the ``keep_first``
+# given time interval. This works by passing a subset of the
+# :term:`hierarchical event descriptors` (HEDs, inspired by
+# :footcite:`BigdelyShamloEtAl2013`) used to name events via the ``keep_first``
 # parameter. For example, in the case of the HEDs ``response/left`` and
 # ``response/right``, we could pass ``keep_first='response'`` to generate a new
-# column, ``response``, containing the latency of the respective event.
-# This value pertains only the first (or, in this specific example: the only)
+# column, ``response``, containing the latency of the respective event. This
+# value pertains only the first (or, in this specific example: the only)
 # response, regardless of side (left or right). To indicate **which** event
 # type (here: response side) was matched, a second column is added:
-# ``first_recponse``. The values in this column are the event types sans
-# the string used for matching, as it is already encoded as the column name,
-# i.e. in our example, it we expect it to only contain ``'left'`` and
-# ``'right'``.
+# ``first_response``. The values in this column are the event types without the
+# string used for matching, as it is already encoded as the column name, i.e.
+# in our example, we expect it to only contain ``'left'`` and ``'right'``.
 
 keep_first = 'response'
 metadata, events, event_id = mne.epochs.make_metadata(
@@ -430,3 +430,8 @@
 fig.suptitle('ERN (Difference Wave)', fontweight='bold')
 
 fig
+
+###############################################################################
+# References
+# ^^^^^^^^^^
+# .. footbibliography::


Test patch: