From 96667771a8b90b03088a07f8d7b64a8093f418c0 Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Wed, 23 Aug 2023 11:29:06 -0500 Subject: [PATCH 01/17] Update hed.md Update the HED specification page with respect to the latest HED developments, including HED-SCORE example, partnered library schemas and HED standard schema version 8.2.0. --- src/appendices/hed.md | 200 ++++++++++++++++++------------------------ 1 file changed, 83 insertions(+), 117 deletions(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index abbe092d32..a591876a4d 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -1,48 +1,32 @@ # Hierarchical Event Descriptors -Hierarchical Event Descriptors (HED) are a controlled vocabulary of terms describing -events in a machine-actionable form so that algorithms can use the information without -manual recoding. -HED annotation can be used to describe any experimental events by combining -information from the dataset's `events.tsv` files and `events.json` sidecars. +Hierarchical Event Descriptors (HED) are a controlled vocabulary of terms describing events in a machine-actionable form so that algorithms can use the information without manual recoding. +HED annotation can be used to describe any experimental events by combining information from the dataset's `events.tsv` files and `events.json` sidecars. ## HED annotations and vocabulary -A HED annotation consists of terms selected from a controlled -hierarchical vocabulary (the HED schema). -Individual terms are comma-separated and may be grouped using parentheses to indicate -association. -See [https://www.hedtags.org/display_hed.html](https://www.hedtags.org/display_hed.html) -to view the HED schema and the -[HED resources](https://www.hed-resources.org) site for additional information. - -Starting with HED version 8.0.0, HED allows users to annotate using individual -terms or partial paths in the HED vocabulary (for example `Red` or `Visual-presentation`) -rather than the full paths in the HED hierarchy ( -`Property/Sensory-property/Sensory-attribute/Visual-attribute/Color/CSS-color/Red-color/Red` -or -`Property/Sensory-property/Sensory-presentation/Visual-presentation`). - -HED specific tools MUST treat the short (single term) and long (full path) HED tag forms interchangeably, -converting between the forms when necessary based on the HED schema. -Examples of test datasets using the various forms can be found in -[hed-examples/datasets](https://github.com/hed-standard/hed-examples/tree/main/datasets) +A HED annotation consists of terms selected from a controlled hierarchical vocabulary (the HED schema). +Individual terms are comma-separated and may be grouped using parentheses to indicate association. +See the [HED Schema Browser](https://www.hedtags.org/display_hed.html) to view the HED schema and the [HED resources](https://www.hed-resources.org) site for additional information. + +Starting with HED version 8.0.0, HED allows users to annotate using individual terms or partial paths in the HED vocabulary (for example `Red` or `Visual-presentation`) rather than the full paths in the HED hierarchy (`Property/Sensory-property/Sensory-attribute/Visual-attribute/Color/CSS-color/Red-color/Red` or `Property/Sensory-property/Sensory-presentation/Visual-presentation`). + +HED specific tools MUST treat the short (single term) and long (full path) HED tag forms interchangeably, converting between the forms, when necessary, based on the HED schema. +Examples of test datasets using the various forms can be found in [hed-examples/datasets](https://github.com/hed-standard/hed-examples/tree/main/datasets) on GitHub. **Using the short form for tags is strongly RECOMMENDED whenever possible**. ## Annotating events -Event-related data in BIDS appears in tab-separated value (`events.tsv`) -files in various places in the dataset hierarchy -(see [Events](../modality-specific-files/task-events.md)). +Event-related data in BIDS appears in tab-separated value (`events.tsv`) files in various places in the dataset hierarchy (see [Events](../modality-specific-files/task-events.md)). + +### Annotation using a JSON sidecar `events.tsv` files MUST have `onset` and `duration` columns. -Dataset curators MAY also include additional columns and define their -meanings in associated JSON sidecar files (`events.json`). +Dataset curators MAY also include additional columns and define their meanings in associated JSON sidecar files (`events.json`). -Example: An excerpt from an `events.tsv` file containing three columns -(`trial_type`, `response_time`, and `stim_file`) in addition to -the required `onset` and `duration` columns. +**Example:** +An excerpt from an `events.tsv` file containing three columns (`trial_type`, `response_time`, and `stim_file`) in addition to the required `onset` and `duration` columns. ```Text onset duration trial_type response_time stim_file @@ -50,24 +34,17 @@ onset duration trial_type response_time stim_file 5.6 0.6 stop 1.739 images/blue_square.jpg ``` -The `trial_type` column in the above example contains a limited number of distinct -values (`go` and `stop`). -This type of column is referred to as a *categorical* column, -and the column's meaning can be annotated by assigning HED tags to describe -each of these distinct values. +The `trial_type` column in the above example contains a limited number of distinct values (`go` and `stop`). +This type of column is referred to as a *categorical* column, and the column's meaning can be annotated by assigning HED tags to describe each of these distinct values. The JSON sidecar provides a [JSON object](https://www.json.org/json-en.html) of annotations for these categorical values. That is, the object is a dictionary mapping the categorical values to corresponding HED annotations. -In contrast, the `response_time` and `stim_file` columns could potentially contain -distinct values in every row. -These columns are referred to as *value* columns and are annotated by creating -a HED tag string to describe a general pattern for these values. -The HED annotation for a value column must include a `#` placeholder, -which dedicated HED tools MUST replace by the actual column value when the annotations -are assembled for analysis. +In contrast, the `response_time` and `stim_file` columns could potentially contain distinct values in every row. +These columns are referred to as *value* columns and are annotated by creating a HED tag string to describe a general pattern for these values. +The HED annotation for a value column must include a `#` placeholder, which dedicated HED tools MUST replace by the actual column value when the annotations are assembled for analysis. -Example: An accompanying `events.json` sidecar describing both categorical and -value columns of the previous example. +**Example:** +An accompanying `events.json` sidecar describing both categorical and value columns of the previous example. The `duration` column is also annotated as a value column. ```JSON @@ -104,12 +81,10 @@ The `duration` column is also annotated as a value column. } ``` -Dedicated HED tools MUST assemble the HED annotation for each event (row) by concatenating the -annotations for each column, along with the annotation contained directly in a `HED` column -of that row as described in the next section. +Dedicated HED tools MUST assemble the HED annotation for each event (row) by concatenating the annotations for each column, along with the annotation contained directly in a `HED` column of that row as described in the next section. -Example: The fully assembled annotation for the first event in the above -`events.tsv` file with onset `1.2` (the first row) is: +**Example:** +The fully assembled annotation for the first event in the above `events.tsv` file with onset `1.2` (the first row) is: ```Text Duration/0.6 s, Sensory-event, Visual-presentation, (Square, Blue), @@ -117,87 +92,61 @@ Duration/0.6 s, Sensory-event, Visual-presentation, (Square, Blue), Pathname/images/red_square.jpg ``` -## Annotation using the `HED` column +### Annotation using the `HED` column -Another tagging strategy is to annotate individual events directly by -including a `HED` column in the `events.tsv` file. -This approach is necessary when each event has annotations that are unique -and do not fit into a standard set of patterns, -such as during manual annotation of artifacts or signal features. +Another tagging strategy is to annotate individual events directly by including a `HED` column in the `events.tsv` file. +This approach is necessary when each event has annotations that are unique and do not fit into a standard set of patterns, such as during manual annotation of artifacts or signal features. -Some acquisition or presentation software systems may produce -individual annotations for each event during the experiment. -These individualized annotations may be placed into the `HED` column of the `events.tsv` file -when the data is converted into BIDS format. +Some acquisition or presentation software systems may produce individual annotations for each event during the experiment. +These individualized annotations may be placed into the `HED` column of the `events.tsv` file when the data is converted into BIDS format. -Dedicated HED tools that assemble the full annotation for events MUST not distinguish -between HED annotations extracted from `events.json` sidecars and those -appearing in the `HED` column of `events.tsv` files. -The HED strings from all sources are concatenated to form the final -event annotations. +Dedicated HED tools that assemble the full annotation for events MUST not distinguish between HED annotations extracted from `events.json` sidecars and those appearing in the `HED` column of `events.tsv` files. +The HED strings from all sources are concatenated to form the final event annotations. Annotations placed in sidecars are the RECOMMENDED way to annotate data using HED. -These annotations are preferred to those placed -directly in the `HED` column, because they are simpler, more compact, -more easily edited, and less prone to inconsistencies. +These annotations are preferred to those placed directly in the `HED` column, because they are simpler, more compact, more easily edited, and less prone to inconsistencies. ## HED and the BIDS inheritance principle -Most studies have event files whose columns contain categorical and -numerical values that are similar across the recordings in the study. -If possible, users should annotate these columns in a single -`events.json` sidecar placed at the top level in the dataset. +Most studies have event files whose columns contain categorical and numerical values that are similar across the recordings in the study. +If possible, users should annotate these columns in a single `events.json` sidecar placed at the top level in the dataset. -If some recordings in the dataset have a column whose values deviate from a -standard pattern, then the annotations for that column MUST be placed in -sidecars located deeper in the dataset directory hierarchy. -According to the BIDS [Inheritance Principle](../common-principles.md#the-inheritance-principle), -once a column key in a sidecar (that is, the column name found in the `events.tsv` files) is set, -information about that column cannot be overridden by a sidecar appearing in a directory -closer to the dataset root. +If some recordings in the dataset have a column whose values deviate from a standard pattern, then the annotations for that column MUST be placed in sidecars located deeper in the dataset directory hierarchy. +According to the BIDS [Inheritance Principle](../common-principles.md#the-inheritance-principle), once a column key in a sidecar (that is, the column name found in the `events.tsv` files) is set, information about that column cannot be overridden by a sidecar appearing in a directory closer to the dataset root. ## HED schema versions -The HED vocabulary is specified by a HED schema, -which delineates the allowed HED path strings. -The version of HED used in tagging a dataset should be provided in the `HEDVersion` -field of the `dataset_description.json` file located in the dataset root directory. -This allows for a proper validation of the HED annotations -(for example using the `bids-validator`). +The HED vocabulary is specified by a HED schema, which delineates the allowed HED path strings. +The version of HED used in tagging a dataset should be provided in the `HEDVersion` field of the `dataset_description.json` file located in the dataset root directory. +This allows for a proper validation of the HED annotations (for example using the `bids-validator`). -Example: The following `dataset_description.json` file specifies that the -[`HED8.1.0.xml`](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) -file from the `standard_schema/hedxml` directory of the -[`hed-schemas`](https://github.com/hed-standard/hed-schemas) -repository on GitHub should be used to validate the study event annotations. +**Example:** The following `dataset_description.json` file specifies that the [`HED8.2.0.xml`](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml) file from the `standard_schema/hedxml` directory of the [`hed-schemas`](https://github.com/hed-standard/hed-schemas) repository on GitHub should be used to validate the study event annotations. ```JSON { "Name": "A great experiment", - "BIDSVersion": "1.7.0", - "HEDVersion": "8.1.0" + "BIDSVersion": "1.8.0", + "HEDVersion": "8.2.0" } ``` -If you omit the `HEDVersion` field from the dataset description file, -a warning will be generated and -any present HED information will be validated using the latest version of the HED schema. -This is bound to result in problems, and hence, it is strongly RECOMMENDED that the -`HEDVersion` field be included when using HED in a BIDS dataset. +If you omit the `HEDVersion` field from the dataset description file, a warning will be generated and any present HED information will be validated using the latest version of the HED schema. +This is bound to result in problems, and hence, it is strongly RECOMMENDED that the `HEDVersion` field be included when using HED in a BIDS dataset. ### Using HED library schemas -HED also allows you to use one or more specialized vocabularies along with or instead of -the standard vocabulary. These specialized vocabularies are developed by -communities of users and are available in the GitHub -[hed-schemas](https://github.com/hed-standard/hed-schemas) repository. +HED also allows you to use one or more specialized vocabularies along with or instead of the standard vocabulary. These specialized vocabularies are developed by communities of users and are available in the GitHub [hed-schemas](https://github.com/hed-standard/hed-schemas) repository. Library schema are specified in the form `library-version>`. -Example: The following `dataset_description.json` file specifies that the -[HED8.1.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) -standard schema should be used along with the -SCORE library for clinical neurological annotation located at -[HED_score_1.0.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedxml/HED_score_1.0.0.xml). +#### Partnered library schemas + +Partnered library schemas were introduced in HED specification version 3.2.0 and are supported by HED standard schema versions ≥ 8.2.0. A partnered library schema version is tied to a specific version of the HED standard schema as specified in its header. A given library schema version is either partnered or standalone. + +**Note:** Whether a particular library schema version is partnered or unpartnered is fixed when the library is released and cannot be changed. For example, [HED-SCDORE version 1.0.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.0.0.mediawiki) is unpartnered, but [HED-SCDORE version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) is partnered with standard schema version 8.2.0. + +##### Unpartnered library schemas example + +The following `dataset_description.json` file specifies that the [HED8.1.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) standard schema should be used along with the HED-SCDORE library schema for clinical neurological annotation located at [HED_score_1.0.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedxml/HED_score_1.0.0.xml). ```JSON { @@ -206,22 +155,20 @@ SCORE library for clinical neurological annotation located at "HEDVersion": ["8.1.0", "sc:score_1.0.0"] } ``` -The `sc:` is a user-chosen prefixes used to distinguish the sources -of the terms in the HED annotation. +The `sc:` is a user-chosen prefixes used to distinguish the sources of the terms in the HED annotation. The prefixes MUST be alphanumeric. Any number of prefixed schemas may be used in addition to a non-prefixed one. -The following HED annotation from this dataset uses the `sc:` prefix with -`Photomyogenic-response` and `Wicket-spikes` because these terms are from the -SCORE library, while `Data-feature` is from the standard HED schema. +The following HED annotation from this dataset uses the `sc:` prefix with `Eye-blink-artifact` and `Seizure-PNES` because these terms are from the HED-SCDORE library schema, while `Data-feature` is from the standard HED schema. ```Text -Data-feature, sc:Photomyogenic-response, sc:Wicket-spikes +Data-feature, sc:Eye-blink-artifact, sc:Seizure-PNES ``` +##### Single unpartnered library schema example + If only one schema is being used for annotation, the prefix can be omitted entirely. -The following `dataset_description.json` indicates that only the SCORE library version -0.0.1 will be used for HED annotation in this dataset. +The following `dataset_description.json` indicates that only the HED-SCDORE library schema version 1.0.0 will be used for HED annotation in this dataset. ```JSON { @@ -231,8 +178,27 @@ The following `dataset_description.json` indicates that only the SCORE library v } ``` -The corresponding notations in the dataset do not have a prefix: +The corresponding anotations in the dataset do not have a prefix: ```Text -Photomyogenic-response, Wicket-spikes +Eye-blink-artifact, Seizure-PNES ``` + +##### Partnered library schema example + +The following `dataset_description.json` file specifies that the HED-SCORE library schema [version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) is used. +This particular library schema version is partnered with standard schema version [8.2.0](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml). + +```JSON +{ + "Name": "A great experiment", + "BIDSVersion": "1.8.0", + "HEDVersion": "score_1.1.0" +} +``` +The corresponding anotations in the dataset uses tags from the HED-SCORE library schema (`Eye-blink-artifact` and `Seizure-PNES`) and from the standard HED (`Data-feature`) as follows: + +```Text +Data-feature, Eye-blink-artifact, Seizure-PNES +``` + From faf93b300bbb686ffd6c795f8ae41d9ba4e9299e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 20:45:27 +0000 Subject: [PATCH 02/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/appendices/hed.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index a591876a4d..283b77dad5 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -146,7 +146,7 @@ Partnered library schemas were introduced in HED specification version 3.2.0 and ##### Unpartnered library schemas example -The following `dataset_description.json` file specifies that the [HED8.1.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) standard schema should be used along with the HED-SCDORE library schema for clinical neurological annotation located at [HED_score_1.0.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedxml/HED_score_1.0.0.xml). +The following `dataset_description.json` file specifies that the [HED8.1.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) standard schema should be used along with the HED-SCDORE library schema for clinical neurological annotation located at [HED_score_1.0.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedxml/HED_score_1.0.0.xml). ```JSON { @@ -201,4 +201,3 @@ The corresponding anotations in the dataset uses tags from the HED-SCORE library ```Text Data-feature, Eye-blink-artifact, Seizure-PNES ``` - From abae3c73979938928ee36cd5b4e9d855e9b09c5e Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Wed, 23 Aug 2023 16:31:42 -0500 Subject: [PATCH 03/17] Update hed.md Correct for proper use of semantic line breaks. --- src/appendices/hed.md | 183 ++++++++++++++++++++++++++++++------------ 1 file changed, 130 insertions(+), 53 deletions(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index 283b77dad5..80c96fbe82 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -1,32 +1,48 @@ # Hierarchical Event Descriptors -Hierarchical Event Descriptors (HED) are a controlled vocabulary of terms describing events in a machine-actionable form so that algorithms can use the information without manual recoding. -HED annotation can be used to describe any experimental events by combining information from the dataset's `events.tsv` files and `events.json` sidecars. +Hierarchical Event Descriptors (HED) are a controlled vocabulary of terms describing +events in a machine-actionable form so that algorithms can use the information without +manual recoding. +HED annotation can be used to describe any experimental events by combining +information from the dataset's `events.tsv` files and `events.json` sidecars. ## HED annotations and vocabulary -A HED annotation consists of terms selected from a controlled hierarchical vocabulary (the HED schema). -Individual terms are comma-separated and may be grouped using parentheses to indicate association. -See the [HED Schema Browser](https://www.hedtags.org/display_hed.html) to view the HED schema and the [HED resources](https://www.hed-resources.org) site for additional information. - -Starting with HED version 8.0.0, HED allows users to annotate using individual terms or partial paths in the HED vocabulary (for example `Red` or `Visual-presentation`) rather than the full paths in the HED hierarchy (`Property/Sensory-property/Sensory-attribute/Visual-attribute/Color/CSS-color/Red-color/Red` or `Property/Sensory-property/Sensory-presentation/Visual-presentation`). - -HED specific tools MUST treat the short (single term) and long (full path) HED tag forms interchangeably, converting between the forms, when necessary, based on the HED schema. -Examples of test datasets using the various forms can be found in [hed-examples/datasets](https://github.com/hed-standard/hed-examples/tree/main/datasets) +A HED annotation consists of terms selected from a controlled +hierarchical vocabulary (the HED schema). +Individual terms are comma-separated and may be grouped using parentheses to indicate +association. +See the [HED Schema Browser](https://www.hedtags.org/display_hed.html) +to view the HED schema and the +[HED resources](https://www.hed-resources.org) site for additional information. + +Starting with HED version 8.0.0, HED allows users to annotate using individual +terms or partial paths in the HED vocabulary (for example `Red` or `Visual-presentation`) +rather than the full paths in the HED hierarchy ( +`Property/Sensory-property/Sensory-attribute/Visual-attribute/Color/CSS-color/Red-color/Red` +or +`Property/Sensory-property/Sensory-presentation/Visual-presentation`). + +HED specific tools MUST treat the short (single term) and long (full path) HED tag forms interchangeably, +converting between the forms, when necessary, based on the HED schema. +Examples of test datasets using the various forms can be found in +[hed-examples/datasets](https://github.com/hed-standard/hed-examples/tree/main/datasets) on GitHub. **Using the short form for tags is strongly RECOMMENDED whenever possible**. ## Annotating events -Event-related data in BIDS appears in tab-separated value (`events.tsv`) files in various places in the dataset hierarchy (see [Events](../modality-specific-files/task-events.md)). - -### Annotation using a JSON sidecar +Event-related data in BIDS appears in tab-separated value (`events.tsv`) +files in various places in the dataset hierarchy +(see [Events](../modality-specific-files/task-events.md)). `events.tsv` files MUST have `onset` and `duration` columns. -Dataset curators MAY also include additional columns and define their meanings in associated JSON sidecar files (`events.json`). +Dataset curators MAY also include additional columns and define their +meanings in associated JSON sidecar files (`events.json`). -**Example:** -An excerpt from an `events.tsv` file containing three columns (`trial_type`, `response_time`, and `stim_file`) in addition to the required `onset` and `duration` columns. +**Example:** An excerpt from an `events.tsv` file containing three columns +(`trial_type`, `response_time`, and `stim_file`) in addition to +the required `onset` and `duration` columns. ```Text onset duration trial_type response_time stim_file @@ -34,17 +50,24 @@ onset duration trial_type response_time stim_file 5.6 0.6 stop 1.739 images/blue_square.jpg ``` -The `trial_type` column in the above example contains a limited number of distinct values (`go` and `stop`). -This type of column is referred to as a *categorical* column, and the column's meaning can be annotated by assigning HED tags to describe each of these distinct values. +The `trial_type` column in the above example contains a limited number of distinct +values (`go` and `stop`). +This type of column is referred to as a *categorical* column, +and the column's meaning can be annotated by assigning HED tags to describe +each of these distinct values. The JSON sidecar provides a [JSON object](https://www.json.org/json-en.html) of annotations for these categorical values. That is, the object is a dictionary mapping the categorical values to corresponding HED annotations. -In contrast, the `response_time` and `stim_file` columns could potentially contain distinct values in every row. -These columns are referred to as *value* columns and are annotated by creating a HED tag string to describe a general pattern for these values. -The HED annotation for a value column must include a `#` placeholder, which dedicated HED tools MUST replace by the actual column value when the annotations are assembled for analysis. +In contrast, the `response_time` and `stim_file` columns could potentially contain +distinct values in every row. +These columns are referred to as *value* columns and are annotated by creating +a HED tag string to describe a general pattern for these values. +The HED annotation for a value column must include a `#` placeholder, +which dedicated HED tools MUST replace by the actual column value when the annotations +are assembled for analysis. -**Example:** -An accompanying `events.json` sidecar describing both categorical and value columns of the previous example. +**Example:** An accompanying `events.json` sidecar describing both categorical and +value columns of the previous example. The `duration` column is also annotated as a value column. ```JSON @@ -81,10 +104,12 @@ The `duration` column is also annotated as a value column. } ``` -Dedicated HED tools MUST assemble the HED annotation for each event (row) by concatenating the annotations for each column, along with the annotation contained directly in a `HED` column of that row as described in the next section. +Dedicated HED tools MUST assemble the HED annotation for each event (row) by concatenating the +annotations for each column, along with the annotation contained directly in a `HED` column +of that row as described in the next section. -**Example:** -The fully assembled annotation for the first event in the above `events.tsv` file with onset `1.2` (the first row) is: +**Example:** The fully assembled annotation for the first event in the above +`events.tsv` file with onset `1.2` (the first row) is: ```Text Duration/0.6 s, Sensory-event, Visual-presentation, (Square, Blue), @@ -94,33 +119,57 @@ Pathname/images/red_square.jpg ### Annotation using the `HED` column -Another tagging strategy is to annotate individual events directly by including a `HED` column in the `events.tsv` file. -This approach is necessary when each event has annotations that are unique and do not fit into a standard set of patterns, such as during manual annotation of artifacts or signal features. +Another tagging strategy is to annotate individual events directly by +including a `HED` column in the `events.tsv` file. +This approach is necessary when each event has annotations that are unique +and do not fit into a standard set of patterns, +such as during manual annotation of artifacts or signal features. -Some acquisition or presentation software systems may produce individual annotations for each event during the experiment. -These individualized annotations may be placed into the `HED` column of the `events.tsv` file when the data is converted into BIDS format. +Some acquisition or presentation software systems may produce +individual annotations for each event during the experiment. +These individualized annotations may be placed into the `HED` column of the `events.tsv` file +when the data is converted into BIDS format. -Dedicated HED tools that assemble the full annotation for events MUST not distinguish between HED annotations extracted from `events.json` sidecars and those appearing in the `HED` column of `events.tsv` files. -The HED strings from all sources are concatenated to form the final event annotations. +Dedicated HED tools that assemble the full annotation for events MUST not distinguish +between HED annotations extracted from `events.json` sidecars and those +appearing in the `HED` column of `events.tsv` files. +The HED strings from all sources are concatenated to form the final +event annotations. Annotations placed in sidecars are the RECOMMENDED way to annotate data using HED. -These annotations are preferred to those placed directly in the `HED` column, because they are simpler, more compact, more easily edited, and less prone to inconsistencies. +These annotations are preferred to those placed +directly in the `HED` column, because they are simpler, more compact, +more easily edited, and less prone to inconsistencies. ## HED and the BIDS inheritance principle -Most studies have event files whose columns contain categorical and numerical values that are similar across the recordings in the study. -If possible, users should annotate these columns in a single `events.json` sidecar placed at the top level in the dataset. +Most studies have event files whose columns contain categorical and +numerical values that are similar across the recordings in the study. +If possible, users should annotate these columns in a single +`events.json` sidecar placed at the top level in the dataset. -If some recordings in the dataset have a column whose values deviate from a standard pattern, then the annotations for that column MUST be placed in sidecars located deeper in the dataset directory hierarchy. -According to the BIDS [Inheritance Principle](../common-principles.md#the-inheritance-principle), once a column key in a sidecar (that is, the column name found in the `events.tsv` files) is set, information about that column cannot be overridden by a sidecar appearing in a directory closer to the dataset root. +If some recordings in the dataset have a column whose values deviate from a +standard pattern, then the annotations for that column MUST be placed in +sidecars located deeper in the dataset directory hierarchy. +According to the BIDS [Inheritance Principle](../common-principles.md#the-inheritance-principle), +once a column key in a sidecar (that is, the column name found in the `events.tsv` files) is set, +information about that column cannot be overridden by a sidecar appearing in a directory +closer to the dataset root. ## HED schema versions -The HED vocabulary is specified by a HED schema, which delineates the allowed HED path strings. -The version of HED used in tagging a dataset should be provided in the `HEDVersion` field of the `dataset_description.json` file located in the dataset root directory. -This allows for a proper validation of the HED annotations (for example using the `bids-validator`). +The HED vocabulary is specified by a HED schema, +which delineates the allowed HED path strings. +The version of HED used in tagging a dataset should be provided in the `HEDVersion` +field of the `dataset_description.json` file located in the dataset root directory. +This allows for a proper validation of the HED annotations +(for example using the `bids-validator`). -**Example:** The following `dataset_description.json` file specifies that the [`HED8.2.0.xml`](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml) file from the `standard_schema/hedxml` directory of the [`hed-schemas`](https://github.com/hed-standard/hed-schemas) repository on GitHub should be used to validate the study event annotations. +**Example:** The following `dataset_description.json` file specifies that the +[`HED8.2.0.xml`](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml) +file from the `standard_schema/hedxml` directory of the +[`hed-schemas`](https://github.com/hed-standard/hed-schemas) +repository on GitHub should be used to validate the study event annotations. ```JSON { @@ -130,23 +179,42 @@ This allows for a proper validation of the HED annotations (for example using th } ``` -If you omit the `HEDVersion` field from the dataset description file, a warning will be generated and any present HED information will be validated using the latest version of the HED schema. -This is bound to result in problems, and hence, it is strongly RECOMMENDED that the `HEDVersion` field be included when using HED in a BIDS dataset. +If you omit the `HEDVersion` field from the dataset description file, +a warning will be generated and +any present HED information will be validated using the latest version of the HED schema. +This is bound to result in problems, and hence, it is strongly RECOMMENDED that the +`HEDVersion` field be included when using HED in a BIDS dataset. ### Using HED library schemas -HED also allows you to use one or more specialized vocabularies along with or instead of the standard vocabulary. These specialized vocabularies are developed by communities of users and are available in the GitHub [hed-schemas](https://github.com/hed-standard/hed-schemas) repository. +HED also allows you to use one or more specialized vocabularies along with or instead of +the standard vocabulary. These specialized vocabularies are developed by +communities of users and are available in the GitHub +[hed-schemas](https://github.com/hed-standard/hed-schemas) repository. Library schema are specified in the form `library-version>`. #### Partnered library schemas -Partnered library schemas were introduced in HED specification version 3.2.0 and are supported by HED standard schema versions ≥ 8.2.0. A partnered library schema version is tied to a specific version of the HED standard schema as specified in its header. A given library schema version is either partnered or standalone. +Partnered library schemas were introduced in HED specification version 3.2.0 +and are supported by HED standard schema versions ≥ 8.2.0. +A partnered library schema version is tied to a specific version of +the HED standard schema as specified in its header. A given library schema +version is either partnered or standalone. -**Note:** Whether a particular library schema version is partnered or unpartnered is fixed when the library is released and cannot be changed. For example, [HED-SCDORE version 1.0.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.0.0.mediawiki) is unpartnered, but [HED-SCDORE version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) is partnered with standard schema version 8.2.0. +**Note:** Whether a particular library schema version is partnered or +unpartnered is fixed when the library is released and cannot be changed. +For example, +[HED-SCDORE version 1.0.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.0.0.mediawiki) +is unpartnered, but [HED-SCDORE version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) +is partnered with standard schema version 8.2.0. ##### Unpartnered library schemas example -The following `dataset_description.json` file specifies that the [HED8.1.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) standard schema should be used along with the HED-SCDORE library schema for clinical neurological annotation located at [HED_score_1.0.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedxml/HED_score_1.0.0.xml). +The following `dataset_description.json` file specifies that the +[HED8.1.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) +standard schema should be used along with the HED-SCDORE library schema +for clinical neurological annotation located at +[HED_score_1.0.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedxml/HED_score_1.0.0.xml). ```JSON { @@ -155,11 +223,14 @@ The following `dataset_description.json` file specifies that the [HED8.1.0.xml]( "HEDVersion": ["8.1.0", "sc:score_1.0.0"] } ``` -The `sc:` is a user-chosen prefixes used to distinguish the sources of the terms in the HED annotation. +The `sc:` is a user-chosen prefixes used to distinguish the sources +of the terms in the HED annotation. The prefixes MUST be alphanumeric. Any number of prefixed schemas may be used in addition to a non-prefixed one. -The following HED annotation from this dataset uses the `sc:` prefix with `Eye-blink-artifact` and `Seizure-PNES` because these terms are from the HED-SCDORE library schema, while `Data-feature` is from the standard HED schema. +The following HED annotation from this dataset uses the `sc:` prefix with +`Eye-blink-artifact` and `Seizure-PNES` because these terms are from the +HED-SCDORE library schema, while `Data-feature` is from the standard HED schema. ```Text Data-feature, sc:Eye-blink-artifact, sc:Seizure-PNES @@ -168,7 +239,8 @@ Data-feature, sc:Eye-blink-artifact, sc:Seizure-PNES ##### Single unpartnered library schema example If only one schema is being used for annotation, the prefix can be omitted entirely. -The following `dataset_description.json` indicates that only the HED-SCDORE library schema version 1.0.0 will be used for HED annotation in this dataset. +The following `dataset_description.json` indicates that only the HED-SCDORE library schema version +1.0.0 will be used for HED annotation in this dataset. ```JSON { @@ -186,8 +258,11 @@ Eye-blink-artifact, Seizure-PNES ##### Partnered library schema example -The following `dataset_description.json` file specifies that the HED-SCORE library schema [version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) is used. -This particular library schema version is partnered with standard schema version [8.2.0](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml). +The following `dataset_description.json` file specifies that +the HED-SCORE library schema +[version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) is used. +This particular library schema version is partnered with standard schema version +[8.2.0](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml). ```JSON { @@ -196,7 +271,9 @@ This particular library schema version is partnered with standard schema version "HEDVersion": "score_1.1.0" } ``` -The corresponding anotations in the dataset uses tags from the HED-SCORE library schema (`Eye-blink-artifact` and `Seizure-PNES`) and from the standard HED (`Data-feature`) as follows: +The corresponding anotations in the dataset uses tags from the +HED-SCORE library schema (`Eye-blink-artifact` and `Seizure-PNES`) and from the standard HED (`Data-feature`) +as follows: ```Text Data-feature, Eye-blink-artifact, Seizure-PNES From 1f08baf09c3031f3563f08c136a554a67f6dbe10 Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Wed, 30 Aug 2023 14:27:37 -0500 Subject: [PATCH 04/17] Update hed.md Corrected typos. --- src/appendices/hed.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index 80c96fbe82..16d9e86a1d 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -204,15 +204,15 @@ version is either partnered or standalone. **Note:** Whether a particular library schema version is partnered or unpartnered is fixed when the library is released and cannot be changed. For example, -[HED-SCDORE version 1.0.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.0.0.mediawiki) -is unpartnered, but [HED-SCDORE version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) +[HED-SCORE version 1.0.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.0.0.mediawiki) +is unpartnered, but [HED-SCORE version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) is partnered with standard schema version 8.2.0. ##### Unpartnered library schemas example The following `dataset_description.json` file specifies that the [HED8.1.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) -standard schema should be used along with the HED-SCDORE library schema +standard schema should be used along with the HED-SCORE library schema for clinical neurological annotation located at [HED_score_1.0.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedxml/HED_score_1.0.0.xml). @@ -230,7 +230,7 @@ Any number of prefixed schemas may be used in addition to a non-prefixed one. The following HED annotation from this dataset uses the `sc:` prefix with `Eye-blink-artifact` and `Seizure-PNES` because these terms are from the -HED-SCDORE library schema, while `Data-feature` is from the standard HED schema. +HED-SCORE library schema, while `Data-feature` is from the standard HED schema. ```Text Data-feature, sc:Eye-blink-artifact, sc:Seizure-PNES @@ -239,7 +239,7 @@ Data-feature, sc:Eye-blink-artifact, sc:Seizure-PNES ##### Single unpartnered library schema example If only one schema is being used for annotation, the prefix can be omitted entirely. -The following `dataset_description.json` indicates that only the HED-SCDORE library schema version +The following `dataset_description.json` indicates that only the HED-SCORE library schema version 1.0.0 will be used for HED annotation in this dataset. ```JSON @@ -250,7 +250,7 @@ The following `dataset_description.json` indicates that only the HED-SCDORE libr } ``` -The corresponding anotations in the dataset do not have a prefix: +The corresponding annotations in the dataset do not have a prefix: ```Text Eye-blink-artifact, Seizure-PNES From f2a8d730dd39bb51cc150425778aba361156eef7 Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Wed, 30 Aug 2023 14:28:40 -0500 Subject: [PATCH 05/17] Update hed.md Removed 'version' per PR review. --- src/appendices/hed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index 16d9e86a1d..e4b50cdd46 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -197,7 +197,7 @@ Library schema are specified in the form `library-version>`. Partnered library schemas were introduced in HED specification version 3.2.0 and are supported by HED standard schema versions ≥ 8.2.0. -A partnered library schema version is tied to a specific version of +A partnered library schema is tied to a specific version of the HED standard schema as specified in its header. A given library schema version is either partnered or standalone. From e88abc42dc8fd1c523282a960d0602dbfc8b4992 Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Wed, 30 Aug 2023 15:01:57 -0500 Subject: [PATCH 06/17] Update hed.md Corrected typos. --- src/appendices/hed.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index e4b50cdd46..13907862ec 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -191,7 +191,7 @@ HED also allows you to use one or more specialized vocabularies along with or in the standard vocabulary. These specialized vocabularies are developed by communities of users and are available in the GitHub [hed-schemas](https://github.com/hed-standard/hed-schemas) repository. -Library schema are specified in the form `library-version>`. +Library schema is specified in the form `library-version>`. #### Partnered library schemas @@ -261,7 +261,7 @@ Eye-blink-artifact, Seizure-PNES The following `dataset_description.json` file specifies that the HED-SCORE library schema [version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) is used. -This particular library schema version is partnered with standard schema version +This particular library schema version is partnered with the standard schema version [8.2.0](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml). ```JSON @@ -271,7 +271,7 @@ This particular library schema version is partnered with standard schema version "HEDVersion": "score_1.1.0" } ``` -The corresponding anotations in the dataset uses tags from the +The corresponding annotations in the dataset use tags from the HED-SCORE library schema (`Eye-blink-artifact` and `Seizure-PNES`) and from the standard HED (`Data-feature`) as follows: From 6a4373ce1c7ec5e42f385a2df826214795c6ff9f Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Wed, 30 Aug 2023 15:22:22 -0500 Subject: [PATCH 07/17] Update hed.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When referring to the column name, ‘duration’ is used, and when referring to the HED tag, ‘Duration’ is used. --- src/appendices/hed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index 13907862ec..aba5c809c0 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -72,7 +72,7 @@ The `duration` column is also annotated as a value column. ```JSON { - "Duration": { + "duration": { "LongName": "Image duration", "Description": "Duration of the image presentations", "Units": "s", From 51f7867bd0391e9a9ccc39f362ee38262320d523 Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Thu, 31 Aug 2023 12:09:45 -0500 Subject: [PATCH 08/17] Update hed.md Correcting standard schema example (validated with https://hedtools.org/hed/string) --- src/appendices/hed.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index aba5c809c0..4d95b70cf5 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -112,9 +112,8 @@ of that row as described in the next section. `events.tsv` file with onset `1.2` (the first row) is: ```Text -Duration/0.6 s, Sensory-event, Visual-presentation, (Square, Blue), -(Delay/1.435 ms, Agent-action, (Experiment-participant, (Press, Mouse-button))), -Pathname/images/red_square.jpg +(Duration/0.6 s, Sensory-event, Visual-presentation, ((Square, Blue), Pathname/images/blue_square.jpg)), +(Delay/1.435 ms, Agent-action, (Experiment-participant, (Press, Mouse-button))) ``` ### Annotation using the `HED` column From 3fc2e7589034ff1574e938d71ffb53283775c1db Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Thu, 31 Aug 2023 12:45:47 -0500 Subject: [PATCH 09/17] Update hed.md Updated `HEDVersion` field use statement --- src/appendices/hed.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/appendices/hed.md b/src/appendices/hed.md index 4d95b70cf5..6608b0b777 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -178,11 +178,10 @@ repository on GitHub should be used to validate the study event annotations. } ``` -If you omit the `HEDVersion` field from the dataset description file, -a warning will be generated and -any present HED information will be validated using the latest version of the HED schema. -This is bound to result in problems, and hence, it is strongly RECOMMENDED that the -`HEDVersion` field be included when using HED in a BIDS dataset. +An error will be generated by the BIDS validator if the `HEDVersion` +field is missing from the dataset description file. To avoid this, +include a `HEDVersion` field in the dataset_description.json +if you are using HED annotations. ### Using HED library schemas From a1759473bc176a24986e7a68174607f19aab75e8 Mon Sep 17 00:00:00 2001 From: Tal Pal Attia Date: Fri, 1 Sep 2023 10:49:28 -0500 Subject: [PATCH 10/17] Revert "Merge branch 'master' into master" This reverts commit f4b937b26be42c12d715eeec31f3413b822ce1da, reversing changes made to 3fc2e7589034ff1574e938d71ffb53283775c1db. --- .../magnetoencephalography.md | 15 ++++---- src/schema/objects/columns.yaml | 3 -- src/schema/objects/entities.yaml | 4 +-- src/schema/rules/checks/asl.yaml | 36 +++++++++---------- src/schema/rules/checks/dataset.yaml | 13 ++++--- src/schema/rules/checks/dwi.yaml | 10 +++--- src/schema/rules/checks/events.yaml | 2 +- src/schema/rules/checks/fmap.yaml | 6 ++-- src/schema/rules/checks/func.yaml | 16 ++++----- src/schema/rules/checks/general.yaml | 6 ++-- src/schema/rules/checks/hints.yaml | 7 ++-- src/schema/rules/checks/micr.yaml | 3 +- src/schema/rules/checks/mri.yaml | 27 +++++++------- src/schema/rules/checks/nifti.yaml | 6 ++-- src/schema/rules/checks/nirs.yaml | 10 +++--- src/schema/rules/checks/privacy.yaml | 7 ++-- src/schema/rules/files/raw/anat.yaml | 1 - src/schema/rules/files/raw/channels.yaml | 9 ----- src/schema/rules/sidecars/anat.yaml | 19 ++++++++-- src/schema/rules/sidecars/asl.yaml | 15 ++++++++ src/schema/rules/sidecars/dwi.yaml | 6 ++-- src/schema/rules/sidecars/eeg.yaml | 13 +++++++ src/schema/rules/sidecars/fmap.yaml | 25 +++++++------ src/schema/rules/sidecars/func.yaml | 9 ----- src/schema/rules/sidecars/ieeg.yaml | 9 +++++ src/schema/rules/sidecars/meg.yaml | 28 ++++++++++----- src/schema/rules/sidecars/micr.yaml | 9 +++-- src/schema/rules/sidecars/motion.yaml | 5 +++ src/schema/rules/sidecars/mri.yaml | 3 +- src/schema/rules/sidecars/nirs.yaml | 3 +- src/schema/rules/sidecars/pet.yaml | 26 +++++++------- src/schema/rules/tabular_data/nirs.yaml | 2 -- src/schema/rules/tabular_data/pet.yaml | 17 +++++---- 33 files changed, 207 insertions(+), 163 deletions(-) diff --git a/src/modality-specific-files/magnetoencephalography.md b/src/modality-specific-files/magnetoencephalography.md index 490662d34a..c85e20f7ce 100644 --- a/src/modality-specific-files/magnetoencephalography.md +++ b/src/modality-specific-files/magnetoencephalography.md @@ -89,20 +89,17 @@ which some installations impose to be run on raw data prior to analysis. Such processing steps are needed for example because of active shielding software corrections that have to be performed to before the MEG data can actually be exploited. -### Recording (i)EEG simultaneously with MEG +### Recording EEG simultaneously with MEG -Note that if (i)EEG is recorded with a separate amplifier, +Note that if EEG is recorded with a separate amplifier, it SHOULD be stored separately under a new `/eeg` data type -(see the [EEG](electroencephalography.md) and -[iEEG](intracranial-electroencephalography.md) specifications). +(see [the EEG specification](electroencephalography.md)). -If however (i)EEG is recorded simultaneously **with the same MEG system**, +If however EEG is recorded simultaneously **with the same MEG system**, it MAY be stored under the `/meg` data type. In that case, it SHOULD have the same sampling frequency as MEG (see `SamplingFrequency` field below). -Furthermore, (i)EEG sensor coordinates MAY be recorded in an -[`electrodes.tsv`](electroencephalography.md#electrodes-description-_electrodestsv) -file using MEG-specific coordinate systems -(see [Coordinate System JSON](#coordinate-system-json-_coordsystemjson) below and +Furthermore, the EEG sensor coordinates SHOULD be specified using MEG-specific coordinate +systems (see [coordinates section](#coordinate-system-json-_coordsystemjson) below and the [Coordinate Systems Appendix](../appendices/coordinate-systems.md)). ### Sidecar JSON (`*_meg.json`) diff --git a/src/schema/objects/columns.yaml b/src/schema/objects/columns.yaml index 65fbde5a6c..bd1ab1478e 100644 --- a/src/schema/objects/columns.yaml +++ b/src/schema/objects/columns.yaml @@ -37,9 +37,6 @@ age: display_name: Subject age description: | Numeric value in years (float or integer value). - - It is recommended to tag participant ages that are 89 or higher as 89+, - for privacy purposes. type: number unit: year cardiac: diff --git a/src/schema/objects/entities.yaml b/src/schema/objects/entities.yaml index 74740444f1..3260b4a3d4 100644 --- a/src/schema/objects/entities.yaml +++ b/src/schema/objects/entities.yaml @@ -199,7 +199,7 @@ part: `part-real`/`part-imag` pairs of files. Phase images MAY be in radians or in arbitrary units. - The sidecar JSON file MUST include the `"Units"` of the `phase` image. + The sidecar JSON file MUST include the units of the `phase` image. The possible options are `"rad"` or `"arbitrary"`. When there is only a magnitude image of a given type, the `part` entity MAY be @@ -356,7 +356,7 @@ stain: although the label may be different. Descriptions of antibodies SHOULD also be indicated in the `"SamplePrimaryAntibodies"` - and/or `"SampleSecondaryAntibodies"` metadata fields, as appropriate. + and/or `"SampleSecondaryAntobodies"` metadata fields, as appropriate. type: string format: label subject: diff --git a/src/schema/rules/checks/asl.yaml b/src/schema/rules/checks/asl.yaml index 1b42593212..cda02f4325 100644 --- a/src/schema/rules/checks/asl.yaml +++ b/src/schema/rules/checks/asl.yaml @@ -15,7 +15,7 @@ ASLLabelingDurationNiftiLength: an array of numbers must be specified, for which any `m0scan` in the timeseries has a `LabelingDuration` of zero. In case an array of numbers is provided, its length should be equal to the number of volumes specified in - the associated `aslcontext.tsv`. Corresponds to DICOM Tag 0018,9258 `ASL Pulse Train Duration`. + `*_aslcontext.tsv`. Corresponds to DICOM Tag 0018,9258 `ASL Pulse Train Duration`. level: error selectors: - suffix == "asl" @@ -30,7 +30,7 @@ ASLContextConsistent: issue: code: ASLCONTEXT_TSV_NOT_CONSISTENT message: | - The number of volumes in the 'aslcontext.tsv' for this file does not match the number of + The number of volumes in the '*_aslcontext.tsv' for this file does not match the number of values in the NIfTI header. level: error selectors: @@ -68,7 +68,7 @@ ASLFlipAngleASLContextLength: code: FLIP_ANGLE_NOT_MATCHING_ASLCONTEXT_TSV message: | The number of values for 'FlipAngle' for this file does not match the number of volumes in the - associated 'aslcontext.tsv'. + 'sub-