diff --git a/src/modality-agnostic-files/events.md b/src/modality-agnostic-files/events.md index e5335a7818..5aa206bce8 100644 --- a/src/modality-agnostic-files/events.md +++ b/src/modality-agnostic-files/events.md @@ -267,7 +267,9 @@ and a guide for using macros can be found at !!! warning "Important" Some metadata of the `StimulusPresentation` object become REQUIRED with the presence of - [eye-tracking data](../modality-specific-files/physiological-recordings.md#eye-tracking) + "gaze-on-screen" + [eye-tracking data](../modality-specific-files/physiological-recordings.md#eye-tracking), + as identified by the `"SampleCoordinateSystem"` metadata. The following fields pertaining to `_events.json` of tasks that were acquired with the simultaneous recording of eye-tracking escalate to REQUIRED as they are considered diff --git a/src/modality-specific-files/physiological-recordings.md b/src/modality-specific-files/physiological-recordings.md index 65f58154d9..fd9c726c92 100644 --- a/src/modality-specific-files/physiological-recordings.md +++ b/src/modality-specific-files/physiological-recordings.md @@ -539,9 +539,9 @@ those derived from the saccade and blinks model some eye-trackers produce. !!! warning "Important" - The following fields pertaining to `_events.json` of tasks that were acquired - with the simultaneous recording of eye-tracking escalate to REQUIRED as they are considered - essential in eye-tracking data analysis: + For eye-tracking recordings where `"SampleCoordinateSystem"` is set to `"gaze-on-screen"`, + the following fields pertaining to `_events.json` escalate to REQUIRED + as they are considered essential in eye-tracking data analysis: - `StimulusPresentation.ScreenDistance`, - `StimulusPresentation.ScreenOrigin`, diff --git a/src/schema/objects/metadata.yaml b/src/schema/objects/metadata.yaml index 1ac84bfc36..e54326c215 100644 --- a/src/schema/objects/metadata.yaml +++ b/src/schema/objects/metadata.yaml @@ -3592,7 +3592,7 @@ ScreenResolution: (for example `[1920, 1200]` for a screen of 1920-width by 1080-height pixels), if no screen use `n/a`. `ScreenResolution` is REQUIRED when the experiment included simultaneous eye-tracking - recordings. + recordings with `SampleCoordinateSystem` matching `"gaze-on-screen"`. anyOf: - type: array items: @@ -3610,7 +3610,7 @@ ScreenSize: (for example `[0.472, 0.295]` for a screen of 47.2-width by 29.5-height cm), if no screen use `n/a`. `ScreenSize` is REQUIRED when the experiment included simultaneous eye-tracking - recordings. + recordings with `SampleCoordinateSystem` matching `"gaze-on-screen"`. anyOf: - type: array items: @@ -4005,21 +4005,6 @@ StimulusPresentation: $ref: objects.metadata.SoftwareVersion Code: $ref: objects.metadata.Code -StimulusPresentation__eyetrack: - $ref: objects.metadata.StimulusPresentation - required: - - ScreenDistance - - ScreenOrigin - - ScreenResolution - - ScreenSize - recommended: - - OperatingSystem - - ScreenRefreshRate - - SoftwareName - - SoftwareRRID - - SoftwareVersion - - Code - - HeadStabilization StopTime_eyetrack: name: StopTime display_name: Eye-tracking recording stop time diff --git a/src/schema/rules/checks/eyetrack.yaml b/src/schema/rules/checks/eyetrack.yaml index c4b5690df0..3f9b24ff39 100644 --- a/src/schema/rules/checks/eyetrack.yaml +++ b/src/schema/rules/checks/eyetrack.yaml @@ -10,11 +10,12 @@ EyetrackingStimulusPresentation: - suffix == 'physio' - extension == '.tsv.gz' - sidecar.PhysioType == 'eyetrack' + - sidecar.SampleCoordinateSystem == 'gaze-on-screen' checks: - - '"ScreenDistance" in associations.events.sidecar.StimulusPresentation' + - associations.events.sidecar.StimulusPresentation.ScreenDistance != 'n/a' - '"ScreenOrigin" in associations.events.sidecar.StimulusPresentation' - - '"ScreenResolution" in associations.events.sidecar.StimulusPresentation' - - '"ScreenSize" in associations.events.sidecar.StimulusPresentation' + - associations.events.sidecar.StimulusPresentation.ScreenResolution != 'n/a' + - associations.events.sidecar.StimulusPresentation.ScreenSize != 'n/a' OnsetSourceConsistency: issue: