Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
1 of 3 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
Categorization for Eye Tracking - simplified
Basic Info
Statistics
- Stars: 30
- Watchers: 2
- Forks: 11
- Open Issues: 4
- Releases: 0
Topics
Metadata Files
README.md

[!WARNING]
This toolbox is currently not actively maintained. I would love to, but we all know that the incentives set for scientists don't really encourage work like this. :')
Categorization for Eye Tracking - simplified
Introduction
This Python Toolbox was developed for Peter König's Neurobiopsychology Lab at the Institute of Cognitive Science, Osnabrück. Its aim is to provide easy access to different automated gaze classification algorithms and to generate a unified, simplistic, and elegant way of handling eye tracking data.
Currently available gaze classification algorithms are: - REMoDNaV: Dar *, A. H., Wagner *, A. S. & Hanke, M. (2019). REMoDNaV: Robust Eye Movement Detection for Natural Viewing. bioRxiv. DOI: 10.1101/619254 - U'n'Eye: Bellet, M. E., Bellet, J., Nienborg, H., Hafed, Z. M., & Berens, P. (2019). Human-level saccade detection performance using deep neural networks. Journal of neurophysiology, 121(2), 646-661. - NSLR-HMM: Pekkanen, J., & Lappi, O. (2017). A new and general approach to signal denoising and eye movement classification based on segmented linear regression. Scientific reports, 7(1), 1-13. - I-DT dispersion-based algorithm: Salvucci, D. D., & Goldberg, J. H. (2000). Identifying fixations and saccades in eye-tracking protocols. In Proceedings of the 2000 symposium on Eye tracking research & applications. - I-VT velocity-based algorithm: Salvucci, D. D., & Goldberg, J. H. (2000). Identifying fixations and saccades in eye-tracking protocols. In Proceedings of the 2000 symposium on Eye tracking research & applications.
Of course we will aim to include more gaze classification algorithms in the future. Suggestions and links to implementations are always welcome.
Installation
Currently, the way to install the package is:
pip install git+https://github.com/DiGyt/cateyes.git
However, proper PyPI support might follow.
Examples
CatEyes is intended to work on a simple and intuitive level. This includes reducing all the overhead from external classification algorithms and relying on fundamental Python objects that can be used with whatever data format and workflow you are working.
python
classification = cateyes.classify_nslr_hmm(gaze_x, gaze_y, times)
CatEyes also provides simple but flexible plotting functions which can be used to visualize classified gaze data and can be further customized with matplotlib.pyplot.
python
fig, axes = plt.subplots(2, figsize=(15, 6), sharex=True)
cateyes.plot_segmentation(gaze_x, times, classification, events, ax=axes[0],
show_event_text=False, show_legend=False)
cateyes.plot_segmentation(gaze_y, times, classification, events, ax=axes[1])
axes[0].set_ylabel("Theta (in degree)")
axes[1].set_ylabel("Phi (in degree)")
axes[1].set_xlabel("Time in seconds");

To get started, we recommend going through our example notebooks. You can simply run them via your internet browser (on Google Colab's hosted runtime) by clicking on the "open in Colab" button.
Minimal use example
This minimal example applies the NSLR-HMM algorithm to a simple 2D gaze array and plots the results using the CatEyes plotting functions.
Pandas workflow example
This notebook gives a more extensive example on CatEyes, including data organisation and manipulation with pandas (including e.g. resampling, interpolating, median-boxcar-filtering). The NSLR-HMM and REMoDNaV classification algorithms are applied and visualized using different internal and external plotting functions.
Documentation
CatEyes' documentation is created using pdoc3 and GitHub Pages. Click on the link below to view the documentation.
Owner
- Name: Dirk Gütlin
- Login: DiGyt
- Kind: user
- Location: Berlin, Germany
- Company: Free University of Berlin
- Website: https://digyt.github.io/
- Twitter: DirkGutlin
- Repositories: 7
- Profile: https://github.com/DiGyt
Citation (citation.cff)
cff-version: 1.2.0 message: "If you use this software, feel free to cite it:" authors: - family-names: "Gütlin" given-names: "Dirk" orcid: " https://orcid.org/0000-0003-3822-896X" title: "CatEyes" version: 0.0.3 date-released: 2021-12-18 url: "https://github.com/DiGyt/cateyes"
GitHub Events
Total
- Watch event: 7
- Push event: 1
- Fork event: 1
Last Year
- Watch event: 7
- Push event: 1
- Fork event: 1
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 218
- Total Committers: 3
- Avg Commits per committer: 72.667
- Development Distribution Score (DDS): 0.5
Top Committers
| Name | Commits | |
|---|---|---|
| dguetlin | d****n@g****m | 109 |
| Dirk Gütlin | 3****t@u****m | 107 |
| Benedikt Ehinger | b****r@v****e | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 8
- Total pull requests: 4
- Average time to close issues: 2 months
- Average time to close pull requests: 4 days
- Total issue authors: 6
- Total pull request authors: 3
- Average comments per issue: 1.5
- Average comments per pull request: 0.5
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- beppefolder (3)
- AlfredLTennyson (1)
- DiGyt (1)
- behinger (1)
- JaccomoLorenz (1)
- LuccaMartins (1)
Pull Request Authors
- behinger (2)
- Fohlen (1)
- DiGyt (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 18 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
- Total maintainers: 1
pypi.org: cateyes
Uniform Categorization of Eyetracking in Python.
- Homepage: https://github.com/DiGyt/cateyes
- Documentation: https://cateyes.readthedocs.io/
- License: BSD-3
-
Latest release: 0.0.5
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- matplotlib *
- nslr *
- nslr_hmm *
- numpy *
- remodnav *
- scipy *