Loris icon indicating copy to clipboard operation
Loris copied to clipboard

[electrophysiology_browser] HED Tag Support

Open jeffersoncasimir opened this issue 2 years ago • 1 comments

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.json or 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

jeffersoncasimir avatar Jan 31 '24 00:01 jeffersoncasimir

Blocked by #9032

driusan avatar Feb 06 '24 20:02 driusan

@jeffersoncasimir Can you rebase?

laemtl avatar Feb 27 '24 16:02 laemtl

@jeffersoncasimir Can you rebase?

laemtl avatar Feb 29 '24 15:02 laemtl

added blocking because this is needed for release testing and for https://github.com/aces/Loris-MRI/pull/1041

christinerogers avatar Feb 29 '24 16:02 christinerogers

basically co-dependent with https://github.com/aces/Loris-MRI/pull/1041 (blocked and blocking)

christinerogers avatar Mar 12 '24 15:03 christinerogers