https://github.com/ccp-eva/eyewit
πβπ¨ Bootstrapping common eye-tracking tasks
https://github.com/ccp-eva/eyewit
eye-tracking r tobii tobii-eye-tracker
Last synced: 3 months ago
JSON representation
πβπ¨ Bootstrapping common eye-tracking tasks
- Host: GitHub
- URL: https://github.com/ccp-eva/eyewit
- Owner: ccp-eva
- License: mit
- Created: 2020-04-10T20:23:49.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-08-10T17:23:30.000Z (about 2 years ago)
- Last Synced: 2025-07-15T06:42:42.522Z (3 months ago)
- Topics: eye-tracking, r, tobii, tobii-eye-tracker
- Language: R
- Homepage:
- Size: 1.99 MB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README

# eyewit
### Tobii Eyetracking Utility Functions
> An R package for pre-processing raw eye-tracking data around _Tobii's I-VT Fixation Filter_
---
## Installation
`devtools::install_github("ccp-eva/eyewit/eyewit")`
Or specific release/tag, e.g,:
`devtools::install_github("ccp-eva/eyewit/eyewit@v0.3.6")`
## Whatβs Happening
### eyewit Roadmap
#### Release 0.5
Progress is tracked here: https://github.com/ccp-eva/eyewit/projects/4
Now that eyewit is an actual R package, I need to address the following points:
- [ ] Allmost all functions need proper documentation
- [ ] Many functions need unit tests
- [ ] Refactor functions (espacially `get_looks`)
#### Release 0.6
Progress is tracked here: https://github.com/ccp-eva/eyewit/projects/8
### January 2022
- [x] Successfully converted to an R package (`devtools::install_github("ccp-eva/eyewit/eyewit")`)
## Common Abbreviations
Those abbreviations are used either in the docs or in the code...
## Functions
## Fixation Index Summary
The function `fi`
As of January 2022, functions are being refactored and documented in their corresponding helper files. This table will is out of date and will be removed!
| **Objects** | **Description** |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| interface | Contains user defined parameters for the experiment: raw files directory, x, y column names, AOI information, etc. |
| preflight() | Takes a `df` and the `interface` as input and performs several checks (check for required columns, fix column names, check that rownames are in an incremental order (i.e., no missing rows or prior pre-processing), check if single AOIs are not overlapping |
| get_startend_pos() | Returns a list of start and end positions for a given `df` and a `regex` pattern. Those position pairs define usually a trial |
| get_trial_count() | Based on a single or multiple provided trialscopes, the function calculates the trial count |
| allocate_trials() | Creates an enumerated "Trial" column in the provided df for a single or multiple trialscopes |
| get_aois() | To be documented |
| fi2rn() | To be documented |
| get_gazeshift_latency() | To be documented |
| value_parser_by_key() | To be documented |
| get_looks | To be documented & To be refactored |
| get_first_free_fi() | Utility function for get_looks() (specifically for `omit_first_overflow_fi` parameter) |
| get_lookaway_scope_end() | Utility function for get_looks() (specifically for `lookaway_stop` parameter) |
| get_non_fixation_data() | To be documented |
| get_objects() | To be documented |
| get_preflook_pos() | To be documented, (legacy, tailor-made function) |
| is_aoilist_overlapping() | Part of the preflight() to check overlapping aois |
| is_hitname_in_range() | Returns TRUE/FALSE for a given vec, target hitname, fixation start index, and fixation stop index |
| merge_startend_chunks() | Utility function for get_trial_count() and allocate_trials() |
## Contribution
Feel free to open PRs or discuss enhancements and code reviews