Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] Define channel column for events and Delimiter field for column descriptions #1483

Merged
merged 7 commits into from
Nov 13, 2023
Merged
8 changes: 8 additions & 0 deletions src/schema/objects/columns.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ cardiac:
description: |
continuous pulse measurement
type: number
channel:
name: channel
display_name: Channel
description: |
Channel(s) associated with an event.
If multiple channels are specified, separate with commas (`,`) or a
VisLab marked this conversation as resolved.
Show resolved Hide resolved
delimiter specified in the `"Delimiter"` field describing the `channel`
column.
effigies marked this conversation as resolved.
Show resolved Hide resolved
sappelhoff marked this conversation as resolved.
Show resolved Hide resolved
color:
name: color
display_name: Color label
Expand Down
5 changes: 5 additions & 0 deletions src/schema/rules/tabular_data/task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ TaskEvents:
response_time: optional
HED: optional
stim_file: optional
channel:
level: optional
description_addendum: |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't completely understand why this is in the task.yaml file. Is task.yaml where it determines if tabular data applies to a particular modality?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

task.yaml is an arbitrary name. It could have been called events.yaml, but the rule schema.rules.tabular_data.task.TaskEvents defines what are valid columns in an _events.tsv file. The filename construction (and hence what modalities apply) are defined in the filename rules:

events:
suffixes:
- events
extensions:
- .tsv
- .json
datatypes:
- beh
- eeg
- ieeg
- meg
- nirs
entities:
subject: required
session: optional
task: required
acquisition: optional
run: optional

events:
suffixes:
- events
extensions:
- .tsv
- .json
datatypes:
- beh
- eeg
- ieeg
- meg
- nirs
entities:
subject: required
session: optional
task: required
acquisition: optional
run: optional

Note that this column only applies to data types where
channels are specified, such as EEG, iEEG, MEG or NIRS.
sappelhoff marked this conversation as resolved.
Show resolved Hide resolved
additional_columns: allowed
initial_columns:
- onset
Expand Down