cateyes

Categorization for Eye Tracking - simplified

https://github.com/digyt/cateyes

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

eyetracking gaze-detection python
Last synced: 6 months ago · JSON representation ·

Repository

Categorization for Eye Tracking - simplified

Basic Info
  • Host: GitHub
  • Owner: DiGyt
  • License: bsd-3-clause
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 5.03 MB
Statistics
  • Stars: 30
  • Watchers: 2
  • Forks: 11
  • Open Issues: 4
  • Releases: 0
Topics
eyetracking gaze-detection python
Created over 4 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

CatEyes logo


[!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"); CatEyes segmentation plot

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.

Open in Colab


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.

Open in Colab

Documentation

CatEyes' documentation is created using pdoc3 and GitHub Pages. Click on the link below to view the documentation.

Documentation

Owner

  • Name: Dirk Gütlin
  • Login: DiGyt
  • Kind: user
  • Location: Berlin, Germany
  • Company: Free University of Berlin

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 Email 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
enhancement (1)
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.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 18 Last month
Rankings
Dependent packages count: 6.6%
Forks count: 14.5%
Stargazers count: 18.6%
Average: 19.5%
Downloads: 27.2%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

setup.py pypi
  • matplotlib *
  • nslr *
  • nslr_hmm *
  • numpy *
  • remodnav *
  • scipy *