HED (Hierarchical Event Descriptors) is a framework for systematically describing both laboratory and real-world events. HED tags are comma-separated path strings. The goal of HED is to describe precisely the nature of the events of interest occurring in an experiment using a common language. HED, itself, is platform-independent and data-neutral. Most people will simply annotate their events by creating a spreadsheet that associates HED tags with event codes or the events themselves. If you have such a spreadsheet, you can use the HED Online Validator (http://visual.cs.utsa.edu/hed/) to validate your spreadsheet without downloading any tools.
Once an experiment is annotated using HED, this HEDTools repository provides a suite of powerful tools for MATLAB and python to extract, search, and combine events based on these annotations. The user manual can be found online at: http://vislab.github.io/HEDTools/.
You can run HEDTools as a standalone toolbox or as a plugin for EEGLAB. In both cases, you should install EEGLAB unless you plan to use HEDTools only to validate tags from spreadsheets.
If your data files are .mat files, you can simply unzip the EEGLABPlugin/HEDToolsx.x.x.zip anywhere you choose. Execute the setup script to set the paths each time you run MATLAB. Alternatively, you can add the code contained in setup to your startup script.
If you wish to use EEGLAB, you should follow the directions above also.
To install HEDTools unzip the HEDToolsx.x.x.zip file inside the EEGLAB plugin directory. If you don’t install HEDTools via the EEGLAB menu, you can find this file at:
https://github.com/VisLab/HEDTools/tree/master/EEGLABPlugin
When you start EEGLAB again, HEDTools should be ready to use. Note: EEGLAB requires that each EEGLAB plugin be in its own subdirectory in the plugins directory of EEGLAB. Thus, if you have unzipped HEDTools correctly, you should see …/eeglab/plugins/HEDToolsx.x.x/eegplugin_hedtools.m.
Note: For convenience, EEGLABPlugin directory contains the latest released version of the HEDTools that can be unzipped into your EEGLAB plugins directory.
Note: The HEDTools will be slow to load if you have a large amount of data in your workspace when you start EEGLAB. This is because the MATLAB function to add to the Java class path clears all workspace variables. The EEGLAB startup saves all workspace variables temporarily before setting up the path and then restores the variables.
HEDTools is freely available under the GUN General Public License. Please cite the following publications if using:
N. Bigdely-Shamlo, J. Cockfield, S. Makeig, T. Rognon, C. LaValle, M. Miyakoshi, and K. Robbins (2016). Hierarchical Event Descriptors (HED): Semi-structured tagging for real-world events in large-scale EEG, Frontiers in Neuroinformatics doi: 10.3389/fninf.2016.00042.
N. Bigdely-Shamlo, S. Makeig, and K. Robbins (2016). Preparing laboratory and real-world EEG data for large-scale analysis: A containerized approach, Frontiers in Neuroinformatics 1 08 March 2016 | http://dx.doi.org/10.3389/fninf.2016.00007. PMID: 27014048, PMCID: PMC4782059.
Version 2.7.0 Released 6/28/2020
Version 2.6.0 Released 1/21/2020
Version 2.5.0 Released 8/14/2018
Version 2.4.0 Released 5/31/2018
Version 2.3.0 Released 5/14/2018
Version 2.2.0 Released 1/18/2018
Version 2.1.0 Released 1/4/2018
Version 2.0.5 Released 11/10/2017
Version 2.0.4 Released 11/9/2017
Version 2.0.3 Released 10/31/2017
Version 2.0.2 Released 9/11/2017
Version 2.0.1 Released 7/22/2017
Version 2.0.0 Released 7/16/2017
Version 1.0.4 Released 4/17/2017
Version 1.0.3 Released 2/22/2017
Version 1.0.2 Released 12/21/2016