hed-standard / hed-schemas

Repository for HED schemas. The SCORE library for clinical annotations is now available.
https://hed-schemas.readthedocs.io/en/latest/
Creative Commons Attribution 4.0 International
1 stars 11 forks source link

Proposed model of event processes in HED #42

Closed VisLab closed 8 months ago

VisLab commented 1 year ago

The HED Working Group has proposed the following working model of event processes:

Temporal marker: A point identified with a time. Event process (i.e. event): (need a definition). A process with an onset and an offset.

HED currently supports two models of event processes:

  1. Point events Event process of zero duration, modelled by a single temporal marker that is both the onset and offset.
  2. Events of temporal extent: Events that are modelled by two temporal markers (onset and offset).

Proposal: Augment HED with three additional models of event processes:

  1. Events with intermediate temporal markers
  2. Events that represent a partition of subevent processes
  3. Events that contain one or more possibly overlapping subevent processes

Model 1: Single line in the BIDS events file. Use case: Simple stimulus or response in a classical experiment.

1.5 Sensory-event, ...

Model 2: Process must be defined and be associated with separate lines in the BIDS events file represent the onset and offset, respectively. Use case: A image is shown for a long period. The Event-context derived from the Onset and Offset allow annotations for intermediate events to contain the information that the image was being displayed.

1.5 (Def/Process/1, Onset) . . . 3.5 (Def/Process/1, Offset)

Model 3: Process must be defined. Intermediate points may be defined. Use Ref tag to identify. Use case: Clinician marks the start and end of a seizure and then wishes to attach a clinical note or feature annotation to an intermediate point.

1.5 (Def/Process/1, Onset) . . . 3.2 (Ref/Process/1, (Temporal-marker, ((Acceleration, Hand), Data-maximum)))) 3.5 (Def/Process/1, Offset)

Model 4: Process with sub-process partition -- the onset of the next element of the partition marks offset of previous. Use case: A movie consists of scenes...scenes consist of shots....

1.5 (Def/Movie/1, Onset) 1.5 (Def/Scene/1, (Partition-of, Def/Movie/1)) . . . 3.2 (Def/Scene/2, (Partition-of, Def/Movie/1)) 3.5 (Def/Movie/1, Offset)

Model 4a: Process with sub-process partition -- the onset of the next element of the partition marks offset of previous. Use case: A movie consists of scenes...scenes consist of shots....

1.5 (Def/Movie/1, Onset) 1.5 (Def/Scene/1, (Partition-of, Def/Movie/1), Onset) . . . 3.2 (Def/Scene/2, (Partition-of, Def/Movie/1), Onset) 3.5 (Def/Movie/1, Offset)

Model 5: Multiple possibly overlapping subevent processes. Use case: A subject's motion consists of the movement of individual limbs, each of which can be considered an event process with its own onsets and offsets, which may not be related to each other.

1.5 (Def/Subject-movement/1, Onset) 2.5 (Def/Hand-movement/3, (Subprocess-of, Subject-movement/1), Onset) . . . 3.2 (Def/Foot-movement/4, (Subprocess-of, Subject-movement/1), Onset) 3.34 (Def/Hand-movement/3, Offset) . . . 3.4 (Def/Foot-movement/4, Offset) 3.5 (Def/Subject-movement/1, Offset)

Request comments and suggestions for tag names for Partition-of and Subprocess-of

@arnodelorme, @sappelhoff @dorahermes @happy5214 @dungscout96 @IanCa @monique2208 @smakeig @tpatpa @neuromechanist

smakeig commented 1 year ago

On second thought, my initial suggestion to make 'Ref/EVENT_INSTANCE' refer only to an 'ongoing' event may be too restrictive, as we might could use the 'Ref/' construct to annotate relationships between non-overlapping events ...

smakeig commented 1 year ago

Use Case 3 should read: Analyst marks time point of maximum accelerate of hand motion in a hand movement event.

smakeig commented 1 year ago

Model 3b: Use Ref tag to identify a defined event using a defined marker. Use case: Analyst marks time point of maximum acceleration of hand motion in a hand movement event, including some individual marker parameter(s) ( ... ).

1.5 (Def/Process/1, Onset) . . . 3.2 (Ref/Process/1, (Def/Max-accel, ( ... )) 3.5 (Def/Process/1, Offset)

smakeig commented 1 year ago

?Could Case 4 also use additional parameters as in:

1.5 (Def/Scene/1, (Partition-of, Def/Movie/1, ( ... )))

smakeig commented 1 year ago

Possibly,

event tagged as Partition-of --> (Phase-of, Event) marker tagged as Temporal-marker --> (Marker-of, Event)

using this model: [--------------EventProcess---------------------] % an event ...

                                    [ EvPhase  |  EvPhase          |    EvPhase                   ]  % with 3 phases ...
                                                      ^                         ^
                         ELSE                     |                          |
                                                EvMarker            EvMarker                                % or, with 2 intermediate markers

That is, either record the Event/1 phases (sub-events), OR record its phase boundary markers (event phase markers) ...

VisLab commented 1 year ago

?Could Case 4 also use additional parameters as in:

1.5 (Def/Scene/1, (Partition-of, Def/Movie/1, ( ... )))

Yes

VisLab commented 1 year ago

Possibly,

event tagged as Partition-of --> (Phase-of, Event) marker tagged as Temporal-marker --> (Marker-of, Event)

using this model: [--------------EventProcess---------------------] % an event ...

                                    [ EvPhase  |  EvPhase          |    EvPhase                   ]  % with 3 phases ...
                                                      ^                         ^
                         ELSE                     |                          |
                                                EvMarker            EvMarker                                % or, with 2 intermediate markers

That is, either record the Event/1 phases (sub-events), OR record its phase boundary markers (event phase markers) ...

Those are two different non-equivalent cases:

The first has subprocesses that are event processes with temporal extent. Intermediate events will receive information about these subprocesses in their (Event-context ....).

The second is annotations of specific points, but not defining event processes. Those point annotations do not affect the event context of intermediate events.

Example: Say the overall event process is a movie and the EvPhase represent scene subprocesses. Any event-marker occurring within EvPhase1 (Scene1) will know it's in Scene1 Movie1 by its Event-context.

In the second case, any event marker occurring before EvMarker1 will not know anything about EvMarker1

smakeig commented 1 year ago

Question: Do event markers have context, or events ? ... Yes, both events and event markers should have context (as, in a movie, "He began to speak just as they began hurtling over the falls." Here, both the Onset and (sudden!) Offset of his utterance have distinct meanings as regards brain dynamics within context! Whereas in, "He told her he loved her during a quiet scene in the movie they were watching," the entire utterance (as event) occurs within the context of a longer (movie) event. Aided by tachistoscopic (sudden) presentation practice, measures of event-related brain dynamics (ERPs, ERSPs, etc.) have focused on event-marker-related (e.g., onset-related) dynamics. Methods for event-related dynamics per se (e.g., perturbations in brain dynamics occurring during an event not related to its (sudden or un-sudden) onset) have not been specifically developed. Though I suppose the methods Julie and I developed for the emotion imagination study are an example of such a method (e.g., source-resolved spectral changes during/through an long-duration event). One might add to this, changes in source network dynamics, etc...

VisLab commented 1 year ago

Every point in time has a context, which is defined as what is unfolding at that instant in time.

HED can calculate the "context" at ANY point in time, not just at the event markers.

At a given time marker, HED distinguishes between what is actually happening at that marker (HED tags out side of the Event-context tag group which are the tags associated directly with the marker) from the context derived from the ongoing event processes.

Only event processes contribute information to the Event-context tag group.

To clarify: event processes contribute to the Event-context at other points in time than their onset.

In:

"He began to speak just as they began hurtling over the falls."

The word "began" implies a process with temporal extent.

monique2208 commented 1 year ago

I have a question related to the current models of event processes.

The way I read it suggest that HED views processes that do not have onset and offset marked as zero-duration. But this is not how it currently is in BIDS, where there is also information in the duration column. This duration is already used by fitlins to model events, not as a single point.

Are model 1 and 2 truly model different event-processes, or are they two representations of the same thing. Onset and duration can be translated into onset and offset.

I am concerned because using duration is the current BIDS standard. When we extent event processes, they need to work together properly so we can calculate context appropriatly, and to associate the right events with each other. If we model events that are not associated with an onset and offset as single points, can we partition them? Can we associate temporal markers to them?

Or do we want people to not use model 1 anymore?

smakeig commented 1 year ago

If only events (and not markers) contribute to context, then for a (e.g., movie) event subdivided by scene-change markers, each scene must be treated by HED as an event. How is this to be done?

Scott

On Tue, Dec 6, 2022 at 11:14 AM VisLab @.***> wrote:

Every point in time has a context, which is defined as what is unfolding at that instant in time.

HED can calculate the "context" at ANY point in time, not just at the event markers.

At a given time marker, HED distinguishes between what is actually happening at that marker (HED tags out side of the Event-context tag group which are the tags associated directly with the marker) from the context derived from the ongoing event processes.

Only event processes contribute information to the Event-context tag group.

To clarify: event processes contribute to the Event-context at other points in time than their onset.

In:

"He began to speak just as they began hurtling over the falls."

The word "began" implies a process with temporal extent.

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/hed-standard/hed-schemas/issues/42*issuecomment-1339617218__;Iw!!Mih3wA!FT0JVCShhruO4Xlaik3jciy0yDMOPHQQjCcdgaTAW0t76H2IH6GHd7WEGetngSKmZcJ_9e3_j89rJ4cf5mqaGpFI$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AKN2SFQQOOHAJCXJG6FV2MTWL5Q3VANCNFSM6AAAAAASUWXQ54__;!!Mih3wA!FT0JVCShhruO4Xlaik3jciy0yDMOPHQQjCcdgaTAW0t76H2IH6GHd7WEGetngSKmZcJ_9e3_j89rJ4cf5mKDUEUD$ . You are receiving this because you were mentioned.Message ID: @.***>

-- Scott Makeig, Research Scientist and Director, Swartz Center for Computational Neuroscience, Institute for Neural Computation, University of California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

smakeig commented 1 year ago

Monique -

Yes, BIDS only records event onset markers - not events themselves (or their nature, other than as e.g. trigger codes). HED annotates the more detailed nature of the events to which the onset markers (lines in the events.tsv files) represent. HED has no direct representation of events either -

Although -- Kay, is there a stack buffer in the HED context code to say which events are current? If so (or else), how are events represented in the context code?

Monique - HED does not consider events as ever having 0 duration, though putting an actual or implied 0 in the Duration column of an events/tsv file entry will in effect say that -- good example: button press responses, which have always been (erroneously) treated by the field as zero-duration events.

Scott

On Wed, Dec 7, 2022 at 4:15 AM monique2208 @.***> wrote:

I have a question related to the current models of event processes.

The way I read it suggest that HED views processes that do not have onset and offset marked as zero-duration. But this is not how it currently is in BIDS, where there is also information in the duration column. This duration is already used by fitlins to model events, not as a single point.

Are model 1 and 2 truly model different event-processes, or are they two representations of the same thing. Onset and duration can be translated into onset and offset.

I am concerned because using duration is the current BIDS standard. When we extent event processes, they need to work together properly so we can calculate context appropriatly, and to associate the right events with each other. If we model events that are not associated with an onset and offset as single points, can we partition them? Can we associate temporal markers to them?

Or do we want people to not use model 1 anymore?

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/hed-standard/hed-schemas/issues/42*issuecomment-1340629904__;Iw!!Mih3wA!AIRJ9UaIGJaMDSQSrYQjzGb_PeGgXGwhQBwyiqOEgKcQWvSX8Fg1FglAtqDXlI6vUaoIPMceflCFWDTubM69WQy7$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AKN2SFUFT4J737AZ5X5LX53WMBITDANCNFSM6AAAAAASUWXQ54__;!!Mih3wA!AIRJ9UaIGJaMDSQSrYQjzGb_PeGgXGwhQBwyiqOEgKcQWvSX8Fg1FglAtqDXlI6vUaoIPMceflCFWDTubK39HpIZ$ . You are receiving this because you were mentioned.Message ID: @.***>

-- Scott Makeig, Research Scientist and Director, Swartz Center for Computational Neuroscience, Institute for Neural Computation, University of California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

VisLab commented 1 year ago

The way I read it suggest that HED views processes that do not have onset and offset marked as zero-duration. But this is not how it currently is in BIDS, where there is also information in the duration column. This duration is already used by fitlins to model events, not as a single point.

It depends on how you tag this. We haven't completely fleshed out the specification, but the section in the specification on Temporal scope explains how if you tag assign HED tags to the BIDS duration column, tools should expand this information in the Event-context of intermediate events.

(We will need the [ ] in the sidecars as is under discussion so that the Duration tag can be correctly applied to the correct tags when the HED tags are assembled for the event.)

VisLab commented 1 year ago

Are model 1 and 2 truly model different event-processes, or are they two representations of the same thing. Onset and duration can be translated into onset and offset.

They are the same if every line in the event file represents exactly one event process. However.....

In reality, in most real experiments a temporal marker can represent many things happening. For example, in the Wakeman-Hanson Face data, The following HED tags are associated with the showing of the stimulus face:

Sensory-event, Experimental-stimulus, (Def/Face-image, Onset),(Def/Blink-inhibition-task, Onset), (Def/Cross-only, Offset)

These tags indicate that the experimental stimulus (display of the face image occurs), but also that the fixation cross turns off and that the participant is supposed to stop blinking when the face appears. The BIDS duration if used, would probably be associated with how long the face image is displayed, but in more complicated situations --- the data on openNeuro is often ambiguous.

The HED solution (assuming we've got Square brackets) is:

Sensory-event, Experimental-stimulus, (Def/Face-image, [duration]),(Def/Blink-inhibition-task, Onset), (Def/Cross-only, Offset)

and the duration column would have the associated HED tags Duration/#.

neuromechanist commented 1 year ago

The way I read it suggest that HED views processes that do not have onset and offset marked as zero-duration. But this is not how it currently is in BIDS, ...

Thanks, @VisLab, for the clarification on the duration.

Looking at your paper, Robbins et al. NeuroImage 2021, I also got the impression that it is more preferred to have the Onset-Offset markers than the duration, precisely as it gives the possibility to have multiple tags tied to the same key.

However, this might raise the question that this scenario (i.e., multiple tags triggered at the same latency) usually is the case that happens. The only model with the Duration tag, would be model 4, with the sub-process partition.

Having all models that imply a duration defined as an Onset-Offset pair and model 4 as duration would result in a BIDS events table with n/a for the duration column for all rows except the sub-process partitions. I think this might be unnecessarily inconsistent, not optimal for the human reader, and confuses them why some intervals are provided as Onset-Offset while some have duration.

VisLab commented 1 year ago

However, this might raise the question that this scenario (i.e., multiple tags triggered at the same latency) usually is the case that happens. The only model with the Duration tag, would be model 4, with the sub-process partition.

No, the Duration tag corresponds to Model 2 with a phantom offset which may not appear as an actual event. However, the Event-context would still be set for intermediate temporal points.

Models 4 and 5 are only relevant for events that have semantic relationships with other events.

VisLab commented 1 year ago

...is there a stack buffer in the HED context code to say which events are current? If so (or else), how are events represented in the context code?

When the HED tags are assembled for an event (by analysis tools), an (Event-context ..) tag group is created. It has the information about ongoing "events" in the sense of what tags are active.

The HED validator just checks for correctly matching onsets-offsets (Python). The onset-offset checking is not yet in the HED-javascript validator as we decided putting in the library handling was more important. It is on the todo list.

VisLab commented 1 year ago

HED does not consider events as ever having 0 duration, though putting an actual or implied 0 in the Duration column of an events/tsv file entry will in effect say that -- good example: button press responses, which have always been (erroneously) treated by the field as zero-duration events.

I'll have to disagree with this statement. Model 1 is for "point" events. Point events are relevant and useful. All of our representations of events are "models" of reality. Different models are useful in different situations.

smakeig commented 1 year ago

Kay - I feel quite against combining events into a single HED string. Rather, for your example:

xx.xxx Sensory-event, Experimental-stimulus, (Def/Face-image, Onset) % one event per entry (row) in the events.tsv table % [BY THE WAY: searching for 'sensory-event' on the schema page returns an incorrect response] xx.xxx Experiment-structure, Def/Blink-inhibition-task, Onset) % Yes, here someone would have to write a script to add these task-condition events to the events.tsv files. % But HED could provide that tool ... *xx.xxx Sensory-event, Experimental-stimulus, (*Def/Cross-only, Offset) % And here, there should be a possible referent to the particular 'cross-only' event % (to also be able to handle the overlapping events problem)

On Wed, Dec 7, 2022 at 11:13 AM VisLab @.***> wrote:

Are model 1 and 2 truly model different event-processes, or are they two representations of the same thing. Onset and duration can be translated into onset and offset.

They are the same if every line in the event file represents exactly one event process. However.....

In reality, in most real experiments a temporal marker can represent many things happening. For example, in the Wakeman-Hanson Face data, The following HED tags are associated with the showing of the stimulus face:

Sensory-event, Experimental-stimulus, (Def/Face-image, Onset),(Def/Blink-inhibition-task, Onset), (Def/Cross-only, Offset)

These tags indicate that the experimental stimulus (display of the face image occurs), but also that the fixation cross turns off and that the participant is supposed to stop blinking when the face appears. The BIDS duration if used, would probably be associated with how long the face image is displayed, but in more complicated situations --- the data on openNeuro is often ambiguous.

The HED solution (assuming we've got Square brackets) is:

Sensory-event, Experimental-stimulus, (Def/Face-image, [duration]),(Def/Blink-inhibition-task, Onset), (Def/Cross-only, Offset)

and the duration column would have the associated HED tags Duration/#.

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/hed-standard/hed-schemas/issues/42*issuecomment-1341212533__;Iw!!Mih3wA!Gzypzgwkw1UAKvzt-bRZzzfeQdiyjn-y-Bqsn07dazr__ydFq5dH9Y9X2R029ldwXhIRNIdAbZTqK8dM7hB4E61U$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AKN2SFU5WNZWUBKSVKGMDQLWMCZRPANCNFSM6AAAAAASUWXQ54__;!!Mih3wA!Gzypzgwkw1UAKvzt-bRZzzfeQdiyjn-y-Bqsn07dazr__ydFq5dH9Y9X2R029ldwXhIRNIdAbZTqK8dM7oUTeSoh$ . You are receiving this because you were mentioned.Message ID: @.***>

-- Scott Makeig, Research Scientist and Director, Swartz Center for Computational Neuroscience, Institute for Neural Computation, University of California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

smakeig commented 1 year ago

...is there a stack buffer in the HED context code to say which events are current? If so (or else), how are events represented in the context code?

When the HED tags are assembled for an event (by analysis tools), an (Event-context ..) tag group is created. It has the information about ongoing "events" in the sense of what tags are active.

How is a tag 'active'? For example '../Green' is a tag (saying something green is or was shown, or imagined...). Is it 'green-ness' that is active, or the event (e.g., sensory presentation) associated with the 'Green' tag that is active (e..g, the display of a green house)??

On Wed, Dec 7, 2022 at 12:28 PM VisLab @.***> wrote:

...is there a stack buffer in the HED context code to say which events are current? If so (or else), how are events represented in the context code?

When the HED tags are assembled for an event (by analysis tools), an (Event-context ..) tag group is created. It has the information about ongoing "events" in the sense of what tags are active.

The HED validator just checks for correctly matching onsets-offsets (Python). The onset-offset checking is not yet in the HED-javascript validator as we decided putting in the library handling was more important. It is on the todo list.

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/hed-standard/hed-schemas/issues/42*issuecomment-1341319075__;Iw!!Mih3wA!HttsOEnB-hHBch2vSZvEnWRyqmKPPf8w98oGA1fEJZ8VFDx62dovuNypWs_9gqtLXzksfJkgF0p5LR7G0E_eLF5g$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AKN2SFQLI7RN4Y3CG7WW2N3WMDCL7ANCNFSM6AAAAAASUWXQ54__;!!Mih3wA!HttsOEnB-hHBch2vSZvEnWRyqmKPPf8w98oGA1fEJZ8VFDx62dovuNypWs_9gqtLXzksfJkgF0p5LR7G0MpXWcN7$ . You are receiving this because you were mentioned.Message ID: @.***>

-- Scott Makeig, Research Scientist and Director, Swartz Center for Computational Neuroscience, Institute for Neural Computation, University of California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

smakeig commented 1 year ago

Point events are relevant and useful. All of our representations of events are "models" of reality. Different models are useful in different situations.

If HED is to elevate single time-point events to primary status, along with enduring Events, and timepoint-marking Markers, then a new marker category should be created for use instead of 'Onset'. ('Bang'? 'Justnow'? 'Mar'? or just '!'? - I'd prefer the last one). This would handle (unfortunate) cases (such as button presses) in which no duration is given, either explicitly (Offset) or implicitly (duration).

On Wed, Dec 7, 2022 at 12:33 PM VisLab @.***> wrote:

HED does not consider events as ever having 0 duration, though putting an actual or implied 0 in the Duration column of an events/tsv file entry will in effect say that -- good example: button press responses, which have always been (erroneously) treated by the field as zero-duration events.

I'll have to disagree with this statement. Model 1 is for "point" events. Point events are relevant and useful. All of our representations of events are "models" of reality. Different models are useful in different situations.

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/hed-standard/hed-schemas/issues/42*issuecomment-1341324704__;Iw!!Mih3wA!D5U2hqlAcxCJYH96hcF0KfCWDAQwuDdC7NCwYswyRfi-Y2oRh9f-tfK7wpv66Lwx-sZgN466015fuHHwnPQPHG_Q$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AKN2SFQXMDOBF3RH7ZXEQ5DWMDC5DANCNFSM6AAAAAASUWXQ54__;!!Mih3wA!D5U2hqlAcxCJYH96hcF0KfCWDAQwuDdC7NCwYswyRfi-Y2oRh9f-tfK7wpv66Lwx-sZgN466015fuHHwnBVdWZd_$ . You are receiving this because you were mentioned.Message ID: @.***>

-- Scott Makeig, Research Scientist and Director, Swartz Center for Computational Neuroscience, Institute for Neural Computation, University of California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

VisLab commented 1 year ago

@neuromechanist

Having all models that imply a duration defined as an Onset-Offset pair and model 4 as duration would result in a BIDS events table with n/a for the duration column for all rows except the sub-process partitions. I think this might be unnecessarily inconsistent, not optimal for the human reader, and confuses them why some intervals are provided as Onset-Offset while some have duration.

Model 4 is strictly for a point annotation with an implied 0 duration. Using a Duration with it would be an error.

I guess we also need another model for a strict point event with no parent relationship to other events.

We may need to make another pass at disentangling these relations.

neuromechanist commented 1 year ago

@VisLab

Model 4: Process with sub-process partition -- the onset of the next element of the partition marks offset of previous. Use case: A movie consists of scenes...scenes consist of shots....

Update: after our conversation, I believe that the model number was mixed, so I removed my comment about that.

Overall, my point was about the need to use the duration column consistently, either for all models with duration or for none. I think that mixing and matching duration and onset-offset would cause confusion.

VisLab commented 1 year ago

@smakeig

I feel quite against combining events into a single HED string. Rather, for your example:

xx.xxx Sensory-event, Experimental-stimulus, (Def/Face-image, Onset) % one event per entry (row) in the events.tsv table

HED is a system of assigning annotations to stuff. This stuff could be lines in .tsv files such as the events.tsv or participants.tsv. The stuff can be other things --- depending on what analysis tools are developed.

HED has tags that allow tools to infer various event models when HED tags are applied to event files.

The issue of what information is contained in each line of a events.tsv file is a different problem.

One of the reasons that we are developing the remodeling tools is that we recognized that the form of the events.tsv file needed for a particular analysis varies substantially across applications. People who share data cannot anticipate the optimal form of the event file needed for every application.

I absolutely agree with the importance of actually recording the information. How it is represented is less important as long as it is transformable.

The key is to assure that all of the needed information is recorded in some form. The remodeling tools can unfold these compound events as needed.

smakeig commented 1 year ago

The BIDS 'Duration' column comes (blindly) from a long history of ERP experiments in which the stimuli were tones or visual presentations with constant duration - about 1981, I actually used Galambos' Grass? analogue stimulator with a Duration dial... I convinced Galambos to get a lab computer not long after ...

Scott

On Thu, Dec 8, 2022 at 9:52 AM VisLab @.***> wrote:

@smakeig https://urldefense.com/v3/__https://github.com/smakeig__;!!Mih3wA!CoTlazFBlBijov-Ljw2rgF11OPHU9hSeZDvq7EnYtHhZI4zod0DWCSgX3Ikmvd3VYDz0AQo-hfJN3rMUvFtf_LHq$

I feel quite against combining events into a single HED string. Rather, for your example:

xx.xxx Sensory-event, Experimental-stimulus, (Def/Face-image, Onset) % one event per entry (row) in the events.tsv table

HED is a system of assigning annotations to stuff. This stuff could be lines in .tsv files such as the events.tsv or participants.tsv. The stuff can be other things --- depending on what analysis tools are developed.

HED has tags that allow tools to infer various event models when HED tags are applied to event files.

The issue of what information is contained in each line of a events.tsv file is a different problem.

One of the reasons that we are developing the remodeling tools is that we recognized that the form of the events.tsv file needed for a particular analysis varies substantially across applications. People who share data cannot anticipate the optimal form of the event file needed for every application.

I absolutely agree with the importance of actually recording the information. How it is represented is less important as long as it is transformable.

The key is to assure that all of the needed information is recorded in some form. The remodeling tools can unfold these compound events as needed.

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/hed-standard/hed-schemas/issues/42*issuecomment-1342852966__;Iw!!Mih3wA!CoTlazFBlBijov-Ljw2rgF11OPHU9hSeZDvq7EnYtHhZI4zod0DWCSgX3Ikmvd3VYDz0AQo-hfJN3rMUvNqf3zO5$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AKN2SFSXXKF3GD54IYZHINLWMHYZHANCNFSM6AAAAAASUWXQ54__;!!Mih3wA!CoTlazFBlBijov-Ljw2rgF11OPHU9hSeZDvq7EnYtHhZI4zod0DWCSgX3Ikmvd3VYDz0AQo-hfJN3rMUvGGsm7qU$ . You are receiving this because you were mentioned.Message ID: @.***>

-- Scott Makeig, Research Scientist and Director, Swartz Center for Computational Neuroscience, Institute for Neural Computation, University of California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

VisLab commented 1 year ago

The current version of the HED specification has a description of how the Duration tag models events of temporal extent.

HED specification for Duration

Validators don't need to do anything special with Duration. Tools should add the tags grouped with it to the Event-context group during analysis. The Duration doesn't require a definition.

Please comment.

VisLab commented 8 months ago

The handling of event processes in HED has been incorporated into the HED specification as well has the HED Python and JavaScript tools.