-
Notifications
You must be signed in to change notification settings - Fork 169
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
base: master
Are you sure you want to change the base?
Changes from 114 commits
a73a9ea
b43e979
ac14d18
3316ef5
033a948
971ac2a
6236f83
1d71719
131b75d
b7f4d5d
5aa62f7
686a5f3
4a46c9f
0388cc1
e4f72c9
19d4b6c
7b6721d
6a71758
7941bab
f1c255b
2ffe348
e7658c9
3d2bf96
0369d4e
53e80f1
9f87572
d19eaf8
d222325
7c3a071
53d7894
0cd1366
108c18c
df50fd8
c90de08
e01eed1
5cc22ba
647af5e
77bf482
141e480
8c7618f
d678149
01332e5
b89469e
8fc5f0f
6fce90b
0009d63
dc793a3
a5f7cfc
2f81069
63352df
564a206
d6e8aed
42f4527
7ca6a42
7d435de
ea1d18f
49ec9e9
7fb149c
7a55abd
e3f74f8
9df5c68
c45f480
edc7c6f
518d8f6
8549d0e
f194526
0e0f800
15f817e
171eff9
d0c919a
39deaae
b621542
c76af5b
70c5edb
9f223a1
a9bfaaf
4c8327b
c6a8354
81d960e
1796cec
457e339
a0410f8
e4c8ad8
f063523
720311c
7868f57
8269cd3
c4c342b
752e38d
893911c
d802ab2
af48333
37f7cd1
9ecb9ea
e286064
e513efa
a414937
6f535cb
3ac5ca5
a31fbdd
17f296d
691ec27
a4af030
c9787a8
a0acebe
f96f383
08250d3
95d6dbf
2169021
9314fc0
8e01771
1aeeff5
2b85072
754f1c0
205a35f
cda8874
8be9429
e6ef2d6
84b869a
0ca61b4
53fcd97
4c7a30f
6c2b2f5
79fd36b
edc81bc
fcaaeaa
0bb5e41
c2ca15b
632eca2
75c0baa
05c8227
cbd2da7
8f90b33
a1126da
e728546
87e93c1
ef49458
1d05d11
2920134
3636333
aeac149
9df5c4e
b7d19b2
8b2e7e5
6968915
b56d7e0
a618326
57b1737
12b1abc
c8d8fc3
01f820d
61a1f31
ea5cc44
1e188a0
366cbc9
3b71c1f
e209833
e9fcd85
6f0d8fb
d16fd64
5ef41f4
311b645
90b9fba
51d7ae9
239f93c
f34589c
3606735
4aed597
3bbe59c
3beafc6
8c95b8c
96d984e
f57f393
8b6d458
6aeb1c2
e92027c
26c463a
a6a1c9d
0ad7fb1
a5ea212
6e787b6
9e697d2
09b40d7
cce40a0
19dab86
e222088
edaeace
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
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. | ||
|
||
- **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) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi - quick question: This link leads me to a page with There was a problem hiding this comment. Choose a reason for hiding this commentThe 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] | ||
Remi-Gau marked this conversation as resolved.
Show resolved
Hide resolved
|
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ping
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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