Video summary
The presentation introduces HED, an open-source system for Hierarchical Event Descriptors designed to address critical gaps in neuroimaging data sharing and analysis. While existing standards like BIDS focus on high-level dataset standardization, they often lack the granular detail required for analyzing time-series neuroimaging data. HED solves this by providing unambiguous, context-rich event descriptions that allow researchers to search datasets based on experimental design tasks and cognitive processes rather than just file names. By integrating with BIDS, HED enables machine-actionable data sharing where events are tagged with specific vocabularies organized in a tree structure, allowing for flexible searching where querying a parent term automatically includes all its child terms.
The system supports two primary workflows for annotating event files: individual event annotation and the use of JSON sidecar files for unique event codes. In the first approach, users annotate every single event marker directly within the event file, which is particularly useful for clinical scenarios like marking seizures in EEG data. The second, more scalable approach involves creating a dictionary of unique event codes found in the dataset and applying HED tags to these codes via JSON sidecars; this leverages BIDS's inheritance principle to apply annotations across all recordings in a dataset efficiently. To assist users, the presenter demonstrated online tools that generate validated JSON templates by reading an event file and listing unique values, allowing annotators to quickly assign tags such as "sensory event," "visual presentation," or specific instructions like "get ready" using a simple recipe-based process.
Beyond basic annotation, the talk highlighted advanced tooling for data curation and analysis, including the CAGER graphical interface and the HED remodeling tools. The remodeling tools allow users to perform complex transformations on event files without writing code by defining operations in a JSON file, such as filtering events based on specific tag queries or automatically generating design matrices. These tools also include robust backup mechanisms that preserve original event files before applying transformations, ensuring data integrity during iterative analysis. Furthermore, the system has evolved through several generations to support features like temporal extent for events that unfold over time and specialized library schemas, such as SCORE for clinical neurological annotations, which help standardize tagging across diverse paradigms and institutions.
Looking toward the future, HED aims to better integrate with experimental control software to insert tags earlier in the data acquisition process and is developing specialized vocabularies for domains like movies and language. The presenter also clarified that while HED complements formal ontologies by offering a user-friendly, fine-grained interface for annotating events over time, it can still be embedded within formal ontology structures for downstream processing. The project continues to expand its ecosystem with support for multiple programming languages including Python, MATLAB, and JavaScript, alongside extensive online documentation and community resources. Ultimately, HED provides a practical framework that bridges the gap between raw experimental logs and sophisticated multi-dataset analyses, empowering neuroimaging researchers to extract deeper insights from their data.
Read the full video transcript
um so thank you for joining the software
highlight on head which is hierarchical
event descriptors I know some of you
some of you haven't met yet um but I'm
today I'm going to talk about what head
is and what it uh brings to Fair data
sets now head is completely uh open
source and everything is online and I'll
also share my slides afterwards um for
the the meeting so I'm going to address
these questions um first what is head
and what problem it solves for for
fair then I'm going to talk about how
head is integrated into bids bids stands
for brain Imaging data
structure and I'm going to talk about
tools that support head annotation
validation and Analysis and why they're
useful and finally I'll address the work
that's ongoing and planned for the
future
so uh there's a data sharing Gap uh Fair
requirements generally focus on
highlevel
standardization uh at the data set level
and data set search is generally at the
uh publisher of the for the Publishers
is generally at the data set level
unfortunately that's not the granularity
that's actually needed for analyzing
neuroimaging time ser iies um they need
detailed unambiguous event
descriptions um ideally data search
would be based on experimental design
tasks and cognitive
processes and uh events need a
context um which is what else is going
on um while these events occur
so had which is hierarchical vent
descriptors Plus bids uh we contend
gives a practical path to machine
actionable data sharing and I'll talk
about what that means uh
shortly so head
annotations um are comma separated lists
of head tags so for example sensory
event visual presentation and Q are
examples of head tags and head tags come
from specific vocabularies that are
organized in a tree structure so on the
left you see a snapshot of our schema
viewer um which is partially open some
of these elements are collapsed um so
they have items under them and you can
uh reference reference the head tag by
its schema path so for example sensory
event could be addressed as event SL
sensory event when you give an
annotation but the individual terms in
the head schema are unique and so you
could just use sensor event um you don't
have to provide the full
path now head is a subtag system and
what that means is that it consists of a
group of hierarchically organized terms
and in each
subtree the nodes uh satisfy and is a
relationship so sensory event is a event
and uh this is important because it
allows for search generalizability so if
I search for event I'm going to get um
all the data that's been tagged with uh
children of that as well as tagged with
events so I'll get data features or
sensory events as well um so had
um well so if you look at the uh uh
schema uh let me just point out a couple
of things structurally which are useful
in The annotation uh there's basically
three kinds of subt trees here uh
there's the noun trees like event agent
and item and then there are verb um Tre
action and finally there are descriptive
tags um which are under the property and
relationship so head supports Advanced
annotation features such such as the
representation of ongoing events and
searching annotations based on
experimental
design now the head vocabulary viewer is
available and uh the schemas are on
GitHub so everything is open
so head um is well integrated into bids
and as part of the data set validation
for bids it uh head is validated
in order to use head with bids you
simply need to specify the head version
you're using in the data script the data
set description Json
file and uh then you can go ahead and
annotate your data set and we're going
to go through some of the tools that
allow you to easily annotate a bid's
data set so there are basically two use
cases in annotating head in bids the
first use case is that you annotate each
individual event and this is very useful
for artifact annotation or um in the
case of clinical
neurologists um they may want to
annotate seizure features in an EEG
signal and so those are unique to the
particular point in the data set they're
not something that's generally
applicable across the data sets so use
case case one is IND annotate each event
an individually but there's a second use
case that's also useful and that's um to
recognize that most experiments use
unique lab specific event codes that um
are applicable across all of the Imaging
data in a particular data set
unfortunately those unique codes are not
applicable across multiple data sets and
that's part of what had
brings um to the table we take those
unique event codes that are lab specific
and provide um a matching
annotation that then can be used across
data sets to do um multi- dat set
analysis so the Second Use case which
uses um which annotates the unique event
codes uh uses Json side cards which is
part of the bid's data set
standard and you can use combinations of
these
approaches so there are tools for
supporting annotation using either
approach and I'm going to demonstrate
those now and once you do that um the
annotations can be used directly by dat
data analysis tools to do things like
extracting the particular sections of
data where particular sensory events
have been uh presented or responses have
been made or much more
sophisticated uh types of queries so
let's take a look at how you actually do
annotation in bids um bids event files
are represented in tab separated value
files and we see an excerpt of a typical
event file on the
left each row represents an event marker
in the underly neuroimaging data set so
the what the events give you is
information about what is happening as
the experiment uh unfolds and this is
critical to being able to analyze um the
cognitive processes that are going on
now in the event file each column
represents specific information about
that event and in
bids uh all event file must have an
onset column and a duration column the
onset column gives the time relative to
the offset of the matching data Imaging
data set that this event marker
occurred and the duration uh column is a
little tricky and isn't always uh it's
not always obvious what duration is it's
referring to and head can solve some of
the problems of am ambiguity in this so
so for use case one which is annotating
the individual events um you can use an
optional head column and if you use a
head column in your event file then that
can only contain head annotations but
you don't have to do it there and um so
to annotate individual events you simply
Place head
annotations uh next to the rows of the
events that you want to annotate so use
case one is directly annotating each
event in the events file now the second
approach uh uses sidecars and this
relies on the fact that um many of the
event codes are going to be repeated so
there are a lot fewer event codes than
there actually are events in the data
set so you start with an events data set
and you create a dictionary of the
unique values and we can have uh we have
a tool for doing
that and once you have that much smaller
number of unique values you simply fill
in the head annotations for those
values that's all you need to do to
annotate the data set and bids actually
has an inheritance principle which means
that for most data sets you only have to
provide these annotations in a single
Json file at the top level because
they're applicable across all the
recordings in the event file now you can
do specific things for individual files
but mostly you're going to be producing
a single Json side car file with the
head annotations for The Unique event
codes in the data
set so you fill in the head annotations
and then at analysis time there are
tools that actually look up these
annotations and produce a an assembled
annotation for each event marker in the
data set and those can be fed directly
into there's strings that can be fed
directly into analysis tools and we have
a number of analysis tools that use
these uh event
annotations for example you can filter
based on head tags and other information
to get a reduced um event file that
focuses on the exactly the event markers
that you need for your your data set so
that brings us to the problem of
actually getting the head annotations
into the data set and we have tools for
that
also so our task here is to fill in head
annotations in this dictionary of the
unique event codes in the data set and
we're going to do that by using a um a
recipe and we have a recipe for sort of
basic simple annotation and there's a
caveat here that um
head provides some much more
sophisticated capabilities for
annotation but basic annotation is
really useful and it's fairly easy to do
so you get a lot of benefit from that
first um insertion of annotation it will
provide a lot of usefulness for your
data so the recipe is very simple and um
the table is online in our
documentation you ask what kind of event
it is
and um in this case maybe sensory event
and then if you picked a sensory event
you add um the supporting tags so if
it's a sensory event then you might say
well what kind of modality is it is it a
visual presentation or an auditory
presentation or something else um one of
the things that we've recognized is that
a lot of sensory events are not that
occur during an experiment are not exper
enal stimulus there are instructionally
uh things and other things that go on
and they all cause um neuroimaging
responses and so if you don't annotate
all those things that aren't exactly
experimentally uh stimuli then you can't
regress out the interference that these
other U sensory events occur so it's
very important to report all your
sensory events and then to distinguish
what kind of sensory events there are
and so you could follow on with saying
okay well this is an experimental
stimulus or this is instructional or a Q
and then you can say well what kind of
thing was presented in there and head
provides tags for that so for example
this non WM code is a sensory event it's
a visual presentation it's instructional
and a Q and it's a dash black and it
says get ready basically
um think about what um remember what you
saw in the um previous seven
presentations of
letters uh the
correct event code goes is annotated as
a sensory event it's an auditory
presentation and it's a beep which
provides feedback so these very simple
annotations can be done fairly quickly
and you can follow the recipe to get a
very basic um annotation in and then
recognize that annotation and
restructuring of event files is an
iterative process and as you proceed
through analysis and other phases using
the data set you may need other kinds of
information and the idea is that it's
easy to reannotate if you need it simply
by changing the Json
sidecar so uh B basic information is
straightforward and we've got some
supporting tools for that and I'm uh
going to summarize some of the tools
that we have and then go into a little
more detail so our main code base is in
Python and those head tools are released
on piie so you can um automatically
download them as part of your
requirements when you run
python we've implemented a lot of our
online tools um a lot of our Tools in
online
format and we have both a web-based form
so you can fill in a menu and and do
something and we also have them
implemented as web services and these
are very useful for doing an initial
annotation or analysis using a single
file um they're not good for annotating
for doing something over the entire data
set but they're great for debugging and
um doing a basic annotation
they're implo deployed in Docker and the
docker containers are available on
GitHub if you want we also have um a
userfriendly standalone guey for
annotation which is
cager and um in bids bids doesn't
actually have head annotation directly
in in it instead um they have a library
they call on which is the Head validator
Library which is available on npm and
and when bids recognizes that there's
head annotation in the data set it calls
on our head validator to check to make
sure that those head tags are correct um
we've also been working on some matlb
tools um and Matt these mat lab tools
are well integrated into EEG lab um and
we have uh head services and other
direct calls in matlb as well so mat lab
users can use these as well
now I'd like to uh give a demo of what
the online menu tools look like for
doing annotation of the Json side car
that I talked about in use case 2 so
that so on the left is an example of the
online menu for the event
file uh for processing event files and
you'll see that there four possible
actions here validate assembling
annotations generating a sidecar
template or
Remodeling and we're going to generate a
sidecar template here from an events
file so it's going to read in an events
file and actually generate a Json side
card that we can fill in with head
anotations so we browse all we have to
do is provide a single event file and
once we do that the server reads the
event file and lists the columns that
are in the the event file the column
headers and it
also uh processes the contents of the
events file and lists the number of
unique event codes in each uh column in
parentheses so you see onset has got
350 different unique values in that
column and and that is basically the
length of the event file but many of the
columns have a much smaller number uh
the event type the task role um and the
memory condition have um very small
number of unique codes letter and trial
have a larger number now I'm going to
annotate the event type the task roll
the letter and the trial column and
there are two kinds of annotation here
one is you annotate each unique value in
a column and the second one is you just
annot the column as a whole and I'm
going to demonstrate those two uh by
designating the event type and the task
rule as categorical columns so they're
going to be each unique value is going
to be annotated individually and I'm not
going to designate letter and trial as
categorical so they'll be annotated
using a single
annotation once I've selected The
Columns I want to
annotate I press process and a Json side
car is
generated it's a legitimate validated
Jason sidecar so it if you put it in
your bids data set um your bid's data
set will will validate the annotations
aren't all that useful they're mainly
labels and
descriptions but the idea is that you
then fill them in so um you'll see
here that the event type which I
selected as a categorical column has
individual entries for each unique value
in that column and there are seven
listed there are seven
here the uh on the other hand the letter
which was not designated as a uh
annotation a categorical
annotation just has one entry and you'll
notice it has a number sign and the idea
is you provide a head
annotation and somewhere in there is a
number sign placeholder when The
annotation is
assembled the value in the column will
be substituted for this number sign
placeholder now bids also allows
descriptions in the levels and it's very
important to provide P full text
descriptions of your events in addition
to the Head annotations so the idea is
you simply fill in these um annotation
template sections using the recipe and
you're done so it's a fairly quick
process
and
um I actually made a YouTube video which
is on our YouTube CH they had YouTube
channel that goes through this process
and does The annotation um using these
tools so I'm all next going to just
briefly show our cager tool for
annotation and you'll notice that on the
left so this is a gooey on the left are
the unique vent um codes that were in
the event type column which is um at the
top and in order to annotate
I click the show head schema and that
provides an additional window with the
events that I need to um the event tags
that I want to
select then I
simply uh click on the
different tags as I want to annotate and
my annotation is assembled and I'm done
so cager is available as a standalone
tool and it's a plugin that's also
integrated into mat lab and EEG
lab
so the next kind of tool that I'm going
to introduce are the head remodeling
tools and the head remodeling tools are
a platform for implementing a lot of our
analysis as well as validation and other
kinds of tools so it's a an interface
basically which allows um user access to
the tool Suites that are provided in
head
tools so the remodeling tools have two
types of information of operations one
are
transformations and transformation
operations take an event file and they
do something with it to produce a new
event file and we have a large number of
operations um available
there but the the idea is they actually
change the event file they don't store
any state but they um make a
transformation the second kind of um
operation in the remodeling tools or
summaries and they take also as input an
event file they may also require the
Json side car with the head annotations
if it's a head operation and a head
schema if that's needed and they do not
change the event file in any way but
they analyze it and save the information
about that event file in um a global
context file Global context structure
and then after you've processed an
entire data set uh the idea is that you
can then request the output um of these
summaries and either as an overall data
set summary or summarizing individual
results
so the advantage of having this sort of
um tool set is is that you specify the
operations in adjacent file this is very
reminiscent reminiscent of the bid stats
models and we're hoping that some of
these will be um actually incorporated
into the bid stats
Transformations but the idea is that you
don't need any programming and you can
pick your operations from a series of
templates and string them together to to
transform event files in various ways
and the Json file with the remodeling
instructions gives you a record of what
you've done so you can repeat it um and
you have Providence for the
operations and most of the head tool
functionality is now available through
this interface that's not the only way
that the functionality is available but
this is very convenient um for
nitty-gritty data analysis and for data
curation
so I'm going to uh give you a few
examples of what you can do with the
remodeling tools and one of the examples
is
to in a single file so the the example
here is we want to do something on a
single file and we the online tools will
allow you to do this without any um
information so you start with an events
file
and and each operation has h a format
which is basically operation description
and then parameters and most people use
this this by going to the documentation
and um cutting the template out put
pasting it in their file and then
filling
the queries in in the remodeling file
give it to Yes um we I mean I lost you
for a bit in the middle would you maybe
repeat a little bit of the slide please
uh sure so I did get a flash up that
said my internet connection was unable
so um so in the let me just start over
on this one um so the idea of the
remodeling tools is that you provide the
instructions in a
Json file and this allows you to perform
the operations without any programming
and you have a record of what you did so
you can repeat it um so you start with
your events file if you need a Json side
car uh because you have head annotations
you could provide that and you give it
the Json um remodeling file and in and
all of the instructions are in the same
format you list operation you have want
you should give a description of what
you were aiming for when you gave this
operation and then you provide
parameters um and in this case the only
relevant one is what queries you're
going to ask of the head tags associated
with these event
markers um to pick out the rows in the
event file that satisfy the queries so
um we have correct action and incorrect
action which are really simple queries
uh but again the emphasis is that head
supports very complex
queries
um that allow you to do
very uh sophisticated
searching
so you could run this since it's on a
single file you could run it
online um and test it and see what the
results are and the process is that the
head annotations for each row are
assembled and then it
computes factors based on the results of
the query
so the idea is that it if it produces a
column and the answer to the first query
which is is it a correct action is
labeled in a column called
correct it produces a column of zeros
and ones indicating whether
the individual rows satisfied that query
and so you can produce an arbitrary
number of factors you can have any
number of queries here and and um one of
the things is you can actually since
head supports quering the design Matrix
you could produce a a design Matrix
automatically if your head annotation
has um the information about the design
Matrix and one of the important things
is that queries can be very
complex so let me just show you an
example of how head tags have been used
in this kind of um factoring this is a
study that we did a couple years ago we
used 18 head tag EEG studies and um we
used
ersps uh we calc for each individual
data recording and there were over a
thousand and recordings in this uh set
of 18 studies um we
computed uh the ersps
for um each of the channels in the data
set using linear um
regression and uh got a vector uh which
is shown here as the spectrogram but
yeah you know we it's linearized as a
vector to go into TS and E which which
is a uh Dimension
reducing algorithm designed to take very
high dimensional data and produce nice
pictures in two or three dimensions and
what you can see here is that the if you
color the projections based on the
dominant head tags that were in that
that annotation there are well-defined
clusters even though uh these data sets
came from different kinds of paradigms
different headsets completely different
subject
pools different numbers of channels um
there still is a commonality among the
head tags um and the idea is that by
Common producing common tagging across
many studies you can combine the results
to increase the statistical power of
your
studies so I want to demonstrate also um
the experimental condition
summary um so this is an example of the
summary operation
and this would have been run from the
command line because I wanted to do the
entire data set so I start by um giving
the Json remodeling file and this is for
conditioned variables so this is
something which allows
us to
tag um and summarize the design Matrix
or the condition variables in a data set
so I start with the remodeling file and
it's very simple the only thing that I
have to provide is the tag type that I'm
going to use and in this type it's
condition variable and since I'm running
this from the command line I'd have to
produce some arguments and I'll show you
those very shortly and once I do that um
it'll go through the whole data set and
produce a summary of the condition
variables or the design Matrix um in the
data so this is an excerpt from the
overall summary the the all of the
summary tools produce an overall summary
of the complete data set as well as
individual summaries of each um event
file uh separately and you can select
what you want out of that um when you do
the setup with the arguments so if you
look at this overall
summary under this data set line You'll
see that this particular data set had
three condition variables a total of
63,000 events and there are 126 event
files now um I'm only showing part of
this and so I'm only actually showing
one condition variable and then the rest
is is down the the line and that
conditioned variable was key assignment
and key assignment actually had two
levels um there was a right symmetry
condition and a left symmetry condition
I'm only showing the right one and what
the summary says after going through the
whole data set is that the right
symmetry
condition had uh 35,000 events in 60
files
and you'll notice that the key
assignment um only appeared in 108 of
the total 126 event files and the reason
that that was the case is that this data
set also had some behavior of files that
didn't have that information in it and
then the summary will provide um a
description if you gave a description at
which is always encouraged and it'll
tell you what the uh head tags is
associated with this summary
were so these can be run automatically
um on data sets very simply now let's
look at how they might be
called
so one example is to call the these
remodeling tools from Python and in both
cases whether you call it from python or
the command line you use the Run
remodel uh
module and the to run it from python
which could be a Jupiter notebook you
simply call um the main program of run
remodel with an argument list and the
argument list if you look down below um
there's a data root which is the root of
the data set that you want to analyze so
you have a choice with these tools of
ass assuming it's a bid's data set and
using that information to gather all the
um events or if you if it's not a bids
data set then giving the data set root
will cause the tools to find all the
event files in that directory tree and
analyze the data set um using that
information so in this particular
example um I have the data set root and
you also have to give the model path
which is the the Json remodeling file
with the
instructions and I'm using in here A
minus B option which is bids say okay
it's a bids data set and that will GA
allow me to gather all the information
like the Json side cars um it'll use the
data set description and other things to
find the
information now the final
um argument here was a minus X and
that's a list of the directories to not
use when doing the analysis so I
mentioned that there were these
behavioral event files in the data set
so I'm excluding the be directory
because um I don't want to analyze those
Behavioral Studies and I'm incl
excluding the derivatives directory if
you're familiar with bids because that
has doesn't have the event files in
it so I can run it either from the
command line or from Python and um I can
also run it from Matt lab and we are
providing wrappers for uh a lot of
things but the Run remodel will allow
you to run everything um that's
available through the remodeling tools
um using just one command and giving the
arguments in a Cell array instead of a a
square bracket list but other than that
um it runs the same
way so let step back a little bit and
talk about what the workflow for event
files is for most people so an
experiment starts with the experimental
logs and from those experimental logs uh
the researchers have to generate the
event files and this is often a very
arduous
process um and very often from our
experience multiple iterations are
required to actually turn the
information from
logs uh into event files so that was
part of the impetus for developing the
remodeling tools we curated a lot of
data and the process of converting
experimental logs to generate event
files and CH and curating them caused us
to do the same operations over and over
again and this was a motivation for
making a tool set that would make this
easy and
repeatable uh then you're going to want
to validate the data and this will
include head validation if you've put in
head data sets and then you want to do
an analysis and what we F also found
from art experience is that
often event files need to be
restructured to support a particular
kind of analysis
when you curate the data initially you
can't possibly anticipate all possible
uses of the data and so another place
where we ended up doing a lot of
refactoring of our event files um
depending on what was needed turn was in
the analysis phas so the remodeling
tools um are used because we found that
we were repeating the same operations
over and over for multiple data
sets now I want to talk a little bit
more about the process of remodeling
with and without backups I haven't
mentioned backups and the remodeling but
one of the problems with transforming
event files is that it changes the event
files and if you do multiple
Transformations it's very easy to lose
lose track of where you are and to lose
the information from your original event
files so we
recommend that you actually use the head
remodeling tools to do a backup and the
the backup um produces a directory tree
of the original event files and the
derivatives directory um and that's the
so you've got your you know the starting
point at which you um
curated the data once you've done that
you you don't have to think about the
backups anymore and each time you want
to do
remodeling when you call the
remodeler um it copies the original
event files back into to the data set uh
and applies the Json remodeling file to
these copies
so you always know what the state of the
event files are when you do the
Transformations um after you do the
Transformations the remodeling writes
overwrites the event files in your data
set but remember you've got a backup
copy and you can always restore them at
any time and the consequence of this for
the Json files is that generally you
just you take have a Jason
transformation file and you and the
operations so it always starts from the
original you can also run this without
backups um and for summaries that's you
don't need backups at all because the
event files are never
changed so I'd like to step back and
just um give you an overview of of head
past and present head's been around for
well more than a decade and it started
out
um as Nema bdal shamlo PhD thesis under
Scott
MC and the design of the head hierarchy
was a single event hierarchy it had cogp
as a subset and it was used as the basis
for uh one of the first EEG repository
open repositories um that we came
available this was head it which is uh
still in operation and it had 12 studies
in the S format which is the EEG study
format um
and this had initial
vocabulary um had some problems which as
we went to annotate more data sets were
detected um and so second H generation
head was born um as part of an army
project um which
was a
multi-institution project
to uh instrument the brain and body at
work and EEG was the
neuroimaging uh format used in this
study in this uh Consortium thing and
one of the important deliverables of
this was an open
repository um with well curated uh EEG
studies they had it had ey tracking and
lots of other information um like the
the experimental logs um and and the
result with 30 head annotated data sets
um and as part of that
using um the data caused a redesign and
this is when head became a subtag system
so U things were separated out into aor
orthogonal sub
hierarchies um during this time it was
incorporated into bids so had is bed in
bids for a long time and
um validators and the online tools were
created
so in about n
2019 the head working group was formed
and um the goal was
to move forward with much more
sophisticated
annotations um that were allowed a
better representation of events their
inter
relationships and um the context in
which these events occurred and so from
2019 on a group of us have been working
um and head Generation 3 the first
version of which was
8.0.0 was released in August of 200 uh
21 and it has a significant number of
advances one of which was the single tag
annotation which allows you to just put
the tag individual tags rather than the
Full Pass which is a great Boon to
annotators um but another thing that was
a real advancement is the introduction
of Library schema so as we the group was
working to try to to clean up the the
hierarchy and um really review each term
that was in it uh it became a clear
clear that the hierarchy could easily um
suffer from bloating because each
individual Paradigm had its own kind of
tags that were needed that were only
applicable to that Paradigm so for
example the Army
um repository had a lot of
driving uh studies in it and that
required information about the steering
angle and and things like that which
were not really generally applicable
across data sets so the idea of
additional vocabularies that would be
field specific was introduced and our
first uh Library schema was just
introduced this is the score schema uh
which is based on the score standard for
neurological clinical neurological
annotation so this is something that
clinical neurologists use used to
annotate things like seizures and sleep
um problems in EEG
recordings and
uh so score was just released and
examples have been incorporated into
vids another advancement has been the
events of temporal
extent so as mentioned head has lots of
advanced features which I haven't talked
about today um one of the important
things is this events of temporal extent
um so the idea
is events are real events not event
markers but real events are actually
things with a start and end and they may
have intermediate points that is they
unfold over a period of time and head
has a mechanism for allowing annotation
of this in a fairly straightforward way
I didn't cover it today but
um we do annotate data sets that way and
it's very useful in tools and so an
example of why you might want to do that
is a seizure extends over a period of
time and you want to Mark the start and
the end but you want this to be an event
and have intermediate points marking uh
unusual features another example is
annotation of a reaching motion and in
motion capture they're going to be
several phases as somebody reaches to
grab or touch um and another uh item
that we've given is the event context so
they're tools for
finding events that are
ongoing at a time in the data set so you
might look at an individual marker and
it says you're producing a stimulus but
you might also want to know what else is
happening at that time and the head
tools allow you to extract that event
context to see what other events are
ongoing um at a point in time and head
also supports uh sophisticated
searching so under development we were
developing a number of specialized
Library vocabularies uh some for movies
and language and we're working on
encoding the relationships between
events and tasks and between different
relationships within event files and uh
an important item is integrating better
with experimental Control software so
that head tags can be inserted fairly
early in the
process now one of the things that I
often get asked is well why isn't head
in
ontology and how is it what it's um
what's its relationship to ontologies
and um my response is well head is
complimentary to formal ontologies and
it's really a front-facing user
technology uh
and by frontf facing I mean that mere
Mor mortals can annotate and if you've
ever tried to annotate something in
detail using ontologies you'll know that
um it's meant for machine annotation and
it's fairly hard to annotate um you know
as a
user
um another is that head is meant to
operate at a very fine grain and most of
the formal ontologies that are in
existence um are more high level so
they're for tasks or diseases or uh
items but it's not about unfolding over
time so head is primarily concerned
about what happens during an
experiment whereas informal ontologies
mostly are not um
however uh head can be embedded into a
formal antology and the idea is that the
subclass relationship um gives the uh
the graphical structure for the ontology
and we do have plans to embed head in in
antology and then um provide more
complex graphical
relationships between the nodes for
Downstream um more sophisticated
processing but for The annotation end
and for doing um the more
straightforward analysis viewing had in
its um implementation as a subtag system
is much more
usable so
um with that I'm going to end I'd like
to acknowledge the members of the
headwork group
particularly um young Tren who who is
working on cager Monique Dennison who's
worked on the remodeling T pal Alia
who's um done the score Library schema
um and Ian Kellan and uh Alexander Jones
who've worked on the python and
JavaScript
toolbase all of our stuff is online we
have a very good resources page with
lots of very detailed documentation and
we have a YouTube channel with some of
the um demos online so with that I'm
going to stop
sharing and uh bring it back to
you thanks very much K that was very
very very very interesting and useful um
I