[electrophysiology_browser] HED Tag Support
This PR adds more robust HED tag support. Closes #8910. Depends on #9032 (should be merged before reviewing) Loris-MRI counterpart: #1041
It adds SQL tables to store HED schemas as hierarchical nodes and to store the assembled HED strings as node references using a modified linked list data structure, allowing for complex groupings.
Instance-level tags which were ingested in the HED column of events.tsv files can be viewed in the EventManager component and can be edited in a limited (see below) way in the AnnotationForm component.
There is a new component called DatasetTagger which is accessible via the "Dataset Tag Manager" button at the bottom left corner of the browser. This component enables the modification of HED tags at the dataset-wide level (events.json). This will associate HED tags to Event attributes for all events in the dataset containing the respective attributes. This component enables virtually unlimited groupings of HED tags, as well their addition and removal.
Limitations:
- "Value" HED tags are not supported
- "Expanded Definitions" are not supported
- Editing the "Level description" via the "Dataset Tag Manager" is not currently supported (coming soon)
- Session-level events.json overriding and assignment not currently supported.
- Adding HED tags on an event level is currently limited to: SCORE artifacts (if SCORE schema ingested) and tags that were previously added via the ingestion of the
events.jsonor manually via the Dataset Tag Manager.
~TODO: Raisinbread modifications + HED tag inserts~
MAKE SURE YOU ADD BOTH SCHEMAS WITH THE TOOL FIRST (or use RB): HED8.2.0.xml HED_score_1.1.0.xml
Blocked by #9032
@jeffersoncasimir Can you rebase?
@jeffersoncasimir Can you rebase?
added blocking because this is needed for release testing and for https://github.com/aces/Loris-MRI/pull/1041
basically co-dependent with https://github.com/aces/Loris-MRI/pull/1041 (blocked and blocking)