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] BEP 020 Eye Tracking #1128

Open
wants to merge 184 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 126 commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
a73a9ea
create branch bep020
chloepasturel Oct 1, 2021
b43e979
Add datatype metadata and suffixes for eye tracking
chloepasturel Oct 1, 2021
ac14d18
bep020 md
greckla Nov 29, 2021
3316ef5
Update 10-eye-tracking.md
greckla Nov 29, 2021
033a948
minor update md
greckla Nov 29, 2021
971ac2a
minor updates md 2
greckla Nov 29, 2021
6236f83
final changes and working version with mkdocs
Dec 1, 2021
1d71719
add forgotten example
Dec 1, 2021
131b75d
final changes
Dec 1, 2021
b7f4d5d
latest changes
Jun 15, 2022
5aa62f7
Update 10-eye-tracking.md
mszinte Jun 16, 2022
686a5f3
Apply suggestions from code review
Remi-Gau Nov 12, 2022
4a46c9f
Merge branch 'master' into bep020
Remi-Gau Nov 12, 2022
0388cc1
fix bad latin
Remi-Gau Nov 12, 2022
e4f72c9
md lint
Remi-Gau Nov 12, 2022
19d4b6c
fix yml
Remi-Gau Nov 12, 2022
7b6721d
md lint
Remi-Gau Nov 12, 2022
6a71758
lint yml
Remi-Gau Nov 12, 2022
7941bab
add semantic line breaks
Remi-Gau Nov 12, 2022
f1c255b
move suffix
Remi-Gau Nov 12, 2022
2ffe348
rm CogPOID and CogAtlas yml
Remi-Gau Nov 12, 2022
e7658c9
move some metadata
Remi-Gau Nov 12, 2022
3d2bf96
move more metadata
Remi-Gau Nov 12, 2022
0369d4e
move more metadata
Remi-Gau Nov 12, 2022
53e80f1
rely on task.yml for events
Remi-Gau Nov 12, 2022
9f87572
change extension to tsv
Remi-Gau Nov 12, 2022
d19eaf8
fix schema
Remi-Gau Nov 12, 2022
d222325
fix links
Remi-Gau Nov 12, 2022
7c3a071
fix typos
Remi-Gau Nov 12, 2022
53d7894
fix link
Remi-Gau Nov 12, 2022
0cd1366
most of the change but mkserve not working yet
Dec 5, 2022
108c18c
some more change still not working
Dec 6, 2022
df50fd8
change in mkdocs.yml based on commments
Dec 6, 2022
c90de08
run pre-commit and fix yml
Remi-Gau Dec 6, 2022
e01eed1
Merge branch 'master' into bep020
Remi-Gau Dec 6, 2022
5cc22ba
add eyetrack modality object
Remi-Gau Dec 6, 2022
647af5e
format markdown
Remi-Gau Dec 6, 2022
77bf482
format markdown
Remi-Gau Dec 6, 2022
141e480
space missing in tabular_data/eyetrack.yaml
Dec 7, 2022
8c7618f
merging
Dec 7, 2022
d678149
fixing conflict for real
Dec 7, 2022
01332e5
automatic changes by pre-commit
Dec 7, 2022
b89469e
instru
Dec 7, 2022
8fc5f0f
pre-commit stuff
Dec 7, 2022
6fce90b
correct error of manipulation of logo.eps
Dec 7, 2022
0009d63
some test
Dec 7, 2022
dc793a3
some test
Dec 7, 2022
a5f7cfc
some test
Dec 7, 2022
2f81069
some test
Dec 7, 2022
63352df
changes of columns names
Dec 7, 2022
564a206
Update src/modality-specific-files/eye-tracking.md
mszinte Dec 8, 2022
d6e8aed
change in metadata
Dec 8, 2022
42f4527
Merge branch 'bep020' of https://github.com/mszinte/bids-specificatio…
Dec 8, 2022
7ca6a42
test new changes with pre-commit
Dec 8, 2022
7d435de
correct error in eyetrack.md
Dec 8, 2022
ea1d18f
add RecordTimeStart and RecordTimeEnd
Dec 8, 2022
49ec9e9
cahnge eye_sample to eye_timestamp
Dec 8, 2022
7fb149c
correct error example json
Dec 8, 2022
7a55abd
error in datasets links
Dec 8, 2022
e3f74f8
last round of review on main doc
Dec 8, 2022
9df5c68
slight modif of SAOI
Dec 8, 2022
c45f480
slight modif of main md
Dec 8, 2022
edc7c6f
correction of space
Dec 8, 2022
518d8f6
try without modality
Dec 8, 2022
8549d0e
Update src/modality-specific-files/eye-tracking.md
mszinte Dec 8, 2022
f194526
put back mkdocs.yaml with unsorted modality specific files
Dec 8, 2022
0e0f800
Update src/modality-specific-files/eye-tracking.md
mszinte Dec 8, 2022
15f817e
Update src/schema/objects/metadata.yaml
mszinte Dec 8, 2022
171eff9
Update src/schema/objects/metadata.yaml
mszinte Dec 8, 2022
d0c919a
Update src/schema/objects/metadata.yaml
mszinte Dec 8, 2022
39deaae
change after review of tsalo
Dec 8, 2022
b621542
Merge branch 'bep020' of https://github.com/mszinte/bids-specificatio…
Dec 8, 2022
c76af5b
put back /tool/filetree_exampl.ipynb
Dec 8, 2022
70c5edb
instru
Dec 8, 2022
9f223a1
change on metadata based on tsalo comments
Dec 8, 2022
a9bfaaf
change to desambiguate the columns in case of two eyes recording
Dec 16, 2022
4c8327b
change to account for the BEP020
Dec 16, 2022
c6a8354
change of json example in reply to https://github.com/bids-standard/b…
Dec 16, 2022
81d960e
change RecordTimeStart and RecordTimeEnd to StartTime_eyetrack (with …
Dec 16, 2022
1796cec
take out Scree settings from metadata as they were put in the main br…
Dec 16, 2022
457e339
Merge branch 'master' into bep020
mszinte Dec 16, 2022
a0410f8
insist on calibration in the text
Dec 16, 2022
e4c8ad8
add eyetrack suffix to timeseries suffixes in task.yaml in order to a…
Dec 16, 2022
f063523
point 2 on suggestion https://github.com/bids-standard/bids-specifica…
Dec 16, 2022
720311c
Merge remote-tracking branch 'upstream/master' into bep020
Remi-Gau Dec 24, 2022
7868f57
fix markdown
Remi-Gau Dec 24, 2022
8269cd3
fix markdown
Remi-Gau Dec 24, 2022
c4c342b
Merge branch 'master' into bep020
Remi-Gau Apr 5, 2023
752e38d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Apr 5, 2023
893911c
Merge branch 'master' into bep020
Remi-Gau May 23, 2023
d802ab2
Merge branch 'master' into bep020
Remi-Gau Jun 6, 2023
af48333
Merge remote-tracking branch 'upstream/master' into bep20
Remi-Gau Jun 12, 2023
37f7cd1
codespell fixes
Remi-Gau Jun 12, 2023
9ecb9ea
schema fix
Remi-Gau Jun 12, 2023
e286064
change to follow recommandations of https://doi.org/10.3758/s13428-02…
Jun 28, 2023
e513efa
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 28, 2023
a414937
Merge branch 'master' into bep020
Remi-Gau Jun 28, 2023
6f535cb
split metadata
Remi-Gau Jun 29, 2023
3ac5ca5
fix metadata
Remi-Gau Jun 29, 2023
a31fbdd
format
Remi-Gau Jun 29, 2023
17f296d
fix typo
Remi-Gau Jul 3, 2023
691ec27
update example
Remi-Gau Jul 3, 2023
a4af030
make gunzip optional
Remi-Gau Jul 3, 2023
c9787a8
Merge branch 'master' into bep020
Remi-Gau Jul 4, 2023
a0acebe
add required events.json metadata
Remi-Gau Jul 5, 2023
f96f383
fix list
Remi-Gau Jul 6, 2023
08250d3
fix list
Remi-Gau Jul 6, 2023
95d6dbf
Merge branch 'master' into bep020
Remi-Gau Sep 7, 2023
2169021
Update eye-tracking.md
mszinte Oct 5, 2023
9314fc0
Changes for metadata
julia-pfarr Oct 5, 2023
8e01771
Merge pull request #1 from julia-pfarr/julia
julia-pfarr Oct 5, 2023
1aeeff5
Merge pull request #5 from julia-pfarr/bep020
julia-pfarr Oct 26, 2023
2b85072
change unit of ScreenSize in example events.json
julia-pfarr Oct 26, 2023
754f1c0
Merge pull request #6 from julia-pfarr/bep020
julia-pfarr Nov 9, 2023
205a35f
Update src/modality-specific-files/eye-tracking.md
Remi-Gau Nov 20, 2023
cda8874
Apply suggestions from code review
Remi-Gau Nov 28, 2023
8be9429
Update src/schema/objects/columns.yaml
Remi-Gau Nov 28, 2023
e6ef2d6
Update src/schema/objects/columns.yaml
Remi-Gau Nov 28, 2023
84b869a
Update metadata.yaml
mszinte Nov 30, 2023
0ca61b4
Merge branch 'master' into bep020
Remi-Gau Nov 30, 2023
53fcd97
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 30, 2023
4c7a30f
Update src/schema/objects/metadata.yaml
Remi-Gau Nov 30, 2023
6c2b2f5
fix issues in mkdocs.yml
Remi-Gau Nov 30, 2023
79fd36b
hasty copy paste
Remi-Gau Nov 30, 2023
edc81bc
fix time stamp
Remi-Gau Nov 30, 2023
fcaaeaa
add placeholder for eventual publication
sappelhoff Nov 30, 2023
0bb5e41
Update metadata.yaml
mszinte Nov 30, 2023
c2ca15b
Update src/modality-specific-files/eye-tracking.md
mszinte Nov 30, 2023
632eca2
Update src/modality-specific-files/eye-tracking.md
mszinte Dec 7, 2023
75c0baa
Update src/modality-specific-files/near-infrared-spectroscopy.md
Remi-Gau Feb 29, 2024
05c8227
enh: a proposal for the new ``RecordingType`` (-> ``PhysioType``) idea
oesteban Feb 29, 2024
cbd2da7
enh: add eyetracking examples
oesteban Feb 29, 2024
8f90b33
enh: revise metadata specifications
oesteban Feb 29, 2024
a1126da
fix: remove duplicated metadata entry
oesteban Feb 29, 2024
e728546
restore eyetrack sidecars
oesteban Feb 29, 2024
87e93c1
Merge pull request #8 from oesteban/bep020-proposal
oesteban Feb 29, 2024
ef49458
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 29, 2024
1d05d11
fix: pacify codespell
oesteban Feb 29, 2024
2920134
fix: pacify markdown linter
oesteban Feb 29, 2024
3636333
fix: attempt to get line numbers on tsv files
oesteban Feb 29, 2024
aeac149
fix: attempt 2 to get line numbers on tsv files
oesteban Feb 29, 2024
9df5c4e
Update src/modality-specific-files/eye-tracking.md
oesteban Mar 1, 2024
b7d19b2
fix: address several issues, add example datasets, pacify remark
oesteban Mar 1, 2024
8b2e7e5
enh: better ordering, clearer definitions
oesteban Mar 1, 2024
6968915
sty: pacify remark
oesteban Mar 1, 2024
b56d7e0
enh: change zero-based to one-base indexes, more consistent with BIDS
oesteban Mar 1, 2024
a618326
fix: remove redirected URL
oesteban Mar 1, 2024
57b1737
Merge branch 'master' into bep020
oesteban Mar 1, 2024
12b1abc
enh: add columns definition for physioevents and improve eyetracker e…
oesteban Mar 1, 2024
c8d8fc3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 1, 2024
01f820d
fix: length of new message column description
oesteban Mar 1, 2024
61a1f31
fix: improved definition of ForeignIndexColumn
oesteban Mar 1, 2024
ea5cc44
Merge branch 'master' into bep020
oesteban Mar 2, 2024
1e188a0
enh: clearly state specific physio types at the outset
oesteban Mar 2, 2024
366cbc9
enh: improving and adding example file trees
oesteban Mar 2, 2024
3b71c1f
fix: normalize file tree macros and repare syntax of some
oesteban Mar 2, 2024
e209833
fix: typos and readability improvements
oesteban Mar 2, 2024
e9fcd85
review and slight text modification
Mar 21, 2024
6f0d8fb
Merge branch 'master' into bep020
Remi-Gau Mar 21, 2024
d16fd64
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 21, 2024
5ef41f4
Merge remote-tracking branch 'upstream/master' into bep020
oesteban Mar 22, 2024
311b645
fix: revert boilerplate about publication
oesteban Mar 22, 2024
90b9fba
enh: drop "old" eyetrack
oesteban Mar 22, 2024
51d7ae9
fix: ``"cyclopean"`` value for ``RecordedEye`` metadata
oesteban Mar 22, 2024
239f93c
fix: deduplicate example datasets, and move eyetrack's ones into an a…
oesteban Mar 22, 2024
f34589c
fix: missing setting eyetrack tabular data allowed to add columns
oesteban Mar 22, 2024
3606735
enh: deep reorganization of the section
oesteban Mar 24, 2024
4aed597
fix: pacify linter
oesteban Mar 24, 2024
3bbe59c
Update src/modality-specific-files/physiological-and-other-continuous…
oesteban Mar 25, 2024
3beafc6
enh: move escalating events' metadata to REQUIRED into task data section
oesteban Mar 25, 2024
8c95b8c
Merge remote-tracking branch 'upstream/master' into bep020
oesteban Apr 11, 2024
96d984e
Merge branch 'master' into bep020
oesteban May 29, 2024
f57f393
fix unit
Remi-Gau Jul 28, 2024
8b6d458
use levels to describe metadata
Remi-Gau Jul 28, 2024
6aeb1c2
Merge remote-tracking branch 'upstream/master' into pr/mszinte/1128
Remi-Gau Jul 28, 2024
e92027c
fix typo
Remi-Gau Jul 28, 2024
26c463a
minor schema fix
Remi-Gau Jul 28, 2024
a6a1c9d
Merge branch 'master' into bep020
Remi-Gau Sep 5, 2024
0ad7fb1
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 5, 2024
a5ea212
fix
Remi-Gau Sep 5, 2024
6e787b6
enh: add @Sourav-Kulkarni's suggestions about eye-tracker/screen dist…
oesteban Oct 3, 2024
9e697d2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 3, 2024
09b40d7
enh: address @qian-chu's review comment about documenting timestamp
oesteban Oct 3, 2024
cce40a0
enh: address @Remi-Gau's comment on column order
oesteban Oct 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ nav:
- Microscopy: modality-specific-files/microscopy.md
- Near-Infrared Spectroscopy: modality-specific-files/near-infrared-spectroscopy.md
- Motion: modality-specific-files/motion.md
- Eye Tracking: modality-specific-files/eye-tracking.md
- Derivatives:
- BIDS Derivatives: derivatives/introduction.md
- Common data types and metadata: derivatives/common-data-types.md
Expand Down
2 changes: 1 addition & 1 deletion src/common-principles.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ saved under a particular filename specified in the standard. This standard
aspires to describe a majority of datasets, but acknowledges that there will be
cases that do not fit. In such cases one can include additional files and
subdirectories to the existing directory structure following common sense. For example
one may want to include eye tracking data in a vendor specific format that is
one may want to include eye-tracking data in a vendor specific format that is
not covered by this standard. The most sensible place to put it is next to the
continuous recording file with the same naming scheme but different extensions.
The solutions will change from case to case and publicly available datasets will
Expand Down
4 changes: 4 additions & 0 deletions src/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,10 @@ For example:

- (publication forthcoming)

#### Eye-tracking

- (publication forthcoming)

oesteban marked this conversation as resolved.
Show resolved Hide resolved
### Research Resource Identifier (RRID)

BIDS has also a
Expand Down
2 changes: 1 addition & 1 deletion src/modality-specific-files/electroencephalography.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ and a guide for using macros can be found at
{{ MACROS___make_filename_template(
"raw",
datatypes=["eeg"],
suffixes=["eeg", "events", "physio", "stim"])
suffixes=["eeg", "events", "physio", "stim", "eyetrack"])
}}

The EEG community uses a variety of formats for storing raw data, and there is
Expand Down
213 changes: 213 additions & 0 deletions src/modality-specific-files/eye-tracking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
# Eye-tracking including gaze position and pupil size

Support for eye-tracking dataset developed as a
[BIDS Extension Proposal](../extensions.md#bids-extension-proposals).
Please see [Citing BIDS](../introduction.md#citing-bids) on how to
appropriately credit this extension when referring to it in the context
of the academic literature.

## Terminology and conventions

Eyetracking-BIDS is fully consistent with the BIDS specification as a whole.
However, BIDS was initially developed in the context of MRI,
so some terminology may be unfamiliar to researchers from other fields.
This section adds clarifications to
[Common Principles - Definitions](../common-principles.md#definitions) for the
eye-tracking context.

- **Eye-tracker** - refers to the apparatus allowing the records of gaze
position and/or pupil size.
Copy link

Choose a reason for hiding this comment

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

Furthermore, at least one eye tracker (tobii Spectrum) also provides a data stream for the openness of the eye (the distance between the eyelids). Should that be included? Thats changes in many places.

Copy link

Choose a reason for hiding this comment

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

ping

Copy link
Collaborator

@Remi-Gau Remi-Gau Dec 16, 2022

Choose a reason for hiding this comment

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

Given that this is not common to all eyetrackers it may be premature to add this, no?
Also nothing prevents users from adding extra "columns" to their data file to store that information.

Copy link
Author

Choose a reason for hiding this comment

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

Hmm I'm curious about this, maybe we could add recommended columns in the tabular file...
But I have never deal with such data.
@dcnieho would you like to join our Matrix channel to share more of this us. Most in general Tobii users could be of great help for this BEP (and you seems to have this experience).
https://matrix.to/#/#bids-bep020:matrix.org


- **Screen** - Video display used to present visual stimulation (for example
projector, monitor, tablet).

## Eye-tracking data

With EyeTracking-BIDS, we wish to promote the adoption of good practices in
the management of scientific data.

### Template

<!--
This block generates a filetree exanple.
A guide for editing it can be found at
https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md.
-->
{{ MACROS___make_filetree_example(

{
"sub-<label>": {
"<datatype>": {
"<matches>_eyetrack.json": "",
"<matches>_eyetrack.tsv[.gz]": "",
oesteban marked this conversation as resolved.
Show resolved Hide resolved
},
}
}

) }}

Eye-tracking data MUST be stored in the main data recording modality or
`<datatype>` directory (for example `func` when combined with fMRI, or
`beh` when combined with behavioral measures).

In the template filenames, the `<matches>` part corresponds to task filename
before the suffix. For example, when fMRI is considered the main modality with
files such as `sub-01_ses-1_task-pRF_run-1_bold.nii.gz`, `<matches>` would
then correspond to `sub-01_ses-1_task-pRF_run-1`.

### Tabular file (`*_eyetrack.tsv[.gz]`)

The eye-tracking data must be saved in `.tsv` or `.tsv.gz` format.
The tabular files consist of one row per sample and a set of REQUIRED and
OPTIONAL columns.

<!--
This block generates a columns table.
The definitions of these fields can be found in
src/schema/rules/tabular_data/eyetrack.yaml
and a guide for using macros can be found at
https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md
-->
{{ MACROS___make_columns_table("eyetrack.EyeTracking") }}

Throughout BIDS you can indicate missing values with `n/a` (for "not
available").

We encourage users to put the eye-tracking raw data within the
`/sourcedata` directory (for example put eye-tracker proprietary files before
conversion to `tsv.gz` format in the sourcedata directory).
oesteban marked this conversation as resolved.
Show resolved Hide resolved

oesteban marked this conversation as resolved.
Show resolved Hide resolved
### Sidecar JSON document (`*_eyetrack.json`)

#### Required fields

The following specific eye-tracking fields MUST be present:

<!-- This block generates a metadata table.
These tables are defined in
src/schema/rules/sidecars
The definitions of the fields specified in these tables may be found in
src/schema/objects/metadata.yaml
A guide for using macros can be found at
https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md
-->
{{ MACROS___make_sidecar_table("eyetrack.EyeTrackingRequired") }}

Note that the following fields from `*_events.json` files
are REQUIRED as they are considered essential in eye-tracking data analysis:

- `StimulusPresentation.ScreenSize`,
- `StimulusPresentation.ScreenResolution`,
- `StimulusPresentation.ScreenDistance`.

#### Recommended fields

Although not REQUIRED for the validity of your dataset, the following fields
are important and should be well documented. In particular, we highly
RECOMMEND to carefully document the calibration metadata.
mszinte marked this conversation as resolved.
Show resolved Hide resolved

<!-- This block generates a metadata table.
These tables are defined in
src/schema/rules/sidecars
The definitions of the fields specified in these tables may be found in
src/schema/objects/metadata.yaml
A guide for using macros can be found at
https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md
-->
{{ MACROS___make_sidecar_table("eyetrack.EyeTrackingRecommended") }}

#### Hardware information

<!-- This block generates a metadata table.
These tables are defined in
src/schema/rules/sidecars
The definitions of the fields specified in these tables may be found in
src/schema/objects/metadata.yaml
A guide for using macros can be found at
https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md
-->
{{ MACROS___make_sidecar_table("eyetrack.EyeTrackingHardware") }}

### Example sidecar JSON document

Below is an example of the sidecar JSON files
for a fMRI dataset with eye-tracking data.

<!-- This block generates a file tree.
A guide for using macros can be found at
https://github.com/bids-standard/bids-specification/blob/master/macros_doc.md
-->
{{ MACROS___make_filetree_example(
{
"sub-01": {
"func": {
"sub-01_task-visualSearch_bold.nii.gz": "",
"sub-01_task-visualSearch_bold.json": "",
"sub-01_task-visualSearch_events.tsv": "",
"sub-01_task-visualSearch_events.json": "",
"sub-01_task-visualSearch_eyetrack.tsv": "",
"sub-01_task-visualSearch_eyetrack.json": "",
},
}
}
) }}

Content of `sub-01_task-visualSearch_eyetrack.json`:

```JSON
{
"Manufacturer": "SR-Research",
"ManufacturersModelName": "EYELINK II CL v4.56 Aug 18 2010",
"DeviceSerialNumber": "17535483",
"SoftwareVersion": "SREB1.10.1630 WIN32 LID:F2AE011 Mod:2017.04.21 15:19 CEST",
"SamplingFrequency": 1000,
"SampleCoordinateUnits": "pixel",
"SampleCoordinateSystem": "gaze-on-screen",
"EnvironmentCoordinates": "top-left",
"RecordedEye": "Both",
mszinte marked this conversation as resolved.
Show resolved Hide resolved
"ScreenAOIDefinition": ["square",
[100, 150, 300, 350]]
}
```

Content of `sub-01_task-VisualSearch_events.json`:

```JSON
{
"TaskName": "Visual Search",
"InstitutionName": "Stanford University",
"InstitutionAddress": "450 Serra Mall, Stanford, CA 94305-2004, USA",
"StimulusPresentation": {
"ScreenDistance": 60,
"ScreenRefreshRate": 60,
"ScreenResolution": [1024, 768],
"ScreenSize": [0.386, 0.29]
}
}
```

### Example Datasets
<!--
1. Datasets will be updated later to adapt to the agreed format.
2. We aim at adding a last example converting published dataset from openeuro.
-->

- Combined behavior and eye-tracking fixation and saccade data,
measured with an Eyelink (SR Research), from 8 particpants reading 320
embedded target words and invisible boundary (see
[Gagl, 2016](https://peerj.com/articles/2467/)).

[BIDS dataset](https://zenodo.org/record/1228659)

- Combined behavior and eye-tracking position and pupil data, measured with
an Eyelink (SR Research), from 26 participants performing a
binocular rivalry task (see
[Brascamp et.al, 2021](https://doi.org/10.7554/eLife.66161)).

[BIDS dataset](https://doi.org/10.5061/dryad.41ns1rncp)
Copy link
Contributor

Choose a reason for hiding this comment

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

Hi - quick question: This link leads me to a page with behavioral.zip and eye.zip files. Upon downloading and unpacking, the files are not organized in BIDS format. I was wondering if this is an error or I'm missing something. Just wanted to bring this to your attention. thanks!

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks for the ping. We are currently working on converting those datasets, so at the moment the link point to the source data (non bidsified).


- Combined resting-state fMRI and eye-tracking data, measured with an Eyelink
(SR research), from 20 participants keeping their gaze steady at the
screen center.

[BIDS dataset](https://openneuro.org/datasets/ds004158/versions/2.0.1)
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ and a guide for using macros can be found at
{{ MACROS___make_filename_template(
"raw",
datatypes=["ieeg"],
suffixes=["ieeg", "events", "physio", "stim"])
suffixes=["ieeg", "events", "physio", "stim", "eyetrack"])
}}

The iEEG community uses a variety of formats for storing raw data, and there is
Expand Down
2 changes: 1 addition & 1 deletion src/modality-specific-files/magnetoencephalography.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ and a guide for using macros can be found at
{{ MACROS___make_filename_template(
"raw",
datatypes=["meg"],
suffixes=["meg", "markers", "events", "physio", "stim"])
suffixes=["meg", "markers", "events", "physio", "stim", "eyetrack"])
}}

Unprocessed MEG data MUST be stored in the native file format of the MEG
Expand Down
2 changes: 1 addition & 1 deletion src/modality-specific-files/near-infrared-spectroscopy.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ and a guide for using macros can be found at
{{ MACROS___make_filename_template(
"raw",
datatypes=["nirs"],
suffixes=["nirs", "events", "physio", "stim"])
suffixes=["nirs", "events", "channels", "optodes", "coordsystem", "physio", "stim", "eyetrack"])
Remi-Gau marked this conversation as resolved.
Show resolved Hide resolved
}}

Only the *Shared Near Infrared Spectroscopy Format* ([SNIRF](https://github.com/fNIRS/snirf))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,10 @@ Note that when supplying a `*_<physio|stim>.tsv.gz` file, an accompanying

The [`recording-<label>`](../appendices/entities.md#recording)
entity MAY be used to distinguish between several recording files.
For example `sub-01_task-bart_recording-eyetracking_physio.tsv.gz` to contain
the eyetracking data in a certain sampling frequency, and
`sub-01_task-bart_recording-breathing_physio.tsv.gz` to contain respiratory
For example `sub-01_task-bart_recording-breathing_physio.tsv.gz` to contain respiratory
oesteban marked this conversation as resolved.
Show resolved Hide resolved
measurements in a different sampling frequency.

Physiological recordings (including eyetracking) SHOULD use the `_physio`
Physiological recordings SHOULD use the `_physio`
suffix, and signals related to the stimulus SHOULD use `_stim` suffix.

The following table specifies metadata fields for the `*_<physio|stim>.json` file.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ and a guide for using macros can be found at
{{ MACROS___make_filename_template(
"raw",
datatypes=["pet"],
suffixes=["pet", "events", "physio", "stim"])
suffixes=["pet", "events", "physio", "stim", "eyetrack"])
}}

PET data MUST be stored in the `pet` directory.
Expand Down
49 changes: 49 additions & 0 deletions src/schema/objects/columns.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,55 @@ duration:
- type: string
enum:
- n/a
eye1_x_coordinate:
name: eye1_x_coordinate
display_name: Eye 1 x-coordinate
description: |
Gaze position x-coordinate of the first recorded eye.
mszinte marked this conversation as resolved.
Show resolved Hide resolved
If the two eyes are recorded, it MUST be the left eye x-coordinate.
type: integer
eye1_y_coordinate:
name: eye1_y_coordinate
display_name: Eye 1 y-coordinate
description: |
Gaze position y-coordinate of the first recorded eye.
If the two eyes are recorded, it MUST be the left eye y-coordinate.
type: integer
eye1_pupil_size:
name: eye1_pupil_size
display_name: Eye 1 pupil size
description: |
Pupil size of the first recorded eye.
If the two eyes are recorded, it MUST be the left eye pupil size.
type: integer
eye2_x_coordinate:
name: eye2_x_coordinate
display_name: Eye 2 x-coordinate
description: |
Gaze position x-coordinate of the second recorded eye.
If the two eyes are recorded, it MUST be the right eye x-coordinate.
type: integer
eye2_y_coordinate:
name: eye2_y_coordinate
display_name: Eye 2 y-coordinate
description: |
Gaze position y-coordinate of the second recorded eye.
If the two eyes are recorded, it MUST be the right eye y-coordinate.
type: integer
eye2_pupil_size:
name: eye2_pupil_size
display_name: Eye 2 pupil size
description: |
Pupil size of the second recorded eye.
If the two eyes are recorded, it MUST be the right eye pupil size.
type: integer
et_timestamp:
name: timestamp
display_name: Eye-tracking sample timestamp
description: |
Eye-tracker timestamp of the sampled recorded eye(s) gaze position
coordinates and/or pupil size.
type: integer
filename:
name: filename
display_name: Filename
Expand Down
5 changes: 5 additions & 0 deletions src/schema/objects/datatypes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ eeg:
value: eeg
display_name: Electroencephalography
description: Electroencephalography
eyetrack:
value: eyetrack
display_name: Eye-tracking
description: |
Eye-tracking including gaze position and pupil size
fmap:
value: fmap
display_name: Field maps
Expand Down
Loading