Skip to main content

Video annotation tool for marking timed events in eye tracking research

Project description

Zarafe zarafe

Zarafe is an open-source video annotation tool that unifies time-based event marking across different head-mounted eye trackers through a single, easy-to-use interface.

EyE Annotation Tool Main Page

Why Zarafe?

Working with different head-mounted eye trackers means dealing with multiple proprietary software tools for annotation. This creates several challenges:

  • Multiple software learning curves: Each eye tracker requires learning different annotation software
  • Licensing barriers: Proprietary tools require licenses and may not be readily available
  • Training overhead: Domain experts (like surgeons) need training on multiple platforms
  • Fragmented workflows: Inconsistent annotation formats across different devices

Zarafe solves these problems by providing a unified annotation platform that works with different eye trackers.

Features

This tool allows users to:

  • Load directories containing worldCamera.mp4 recordings and gazeData.tsv files
  • View eye tracking videos with gaze position overlays
  • Create, mark and manage time-based event annotations
  • Save annotations to CSV files for further analysis
  • Work with data from any supported eye tracker through a single interface

Data Preparation

Important: Before using Zarafe, you need to convert your eye tracking data:

Zarafe uses glassesValidator to import your eye tracking data. Some eye trackers require preprocessing before importing:

  • Pupil Labs: Export from Pupil/Neon Player (disable World Video Exporter) or Pupil Cloud
  • Meta Project Aria Gen 1: Process in Aria Studio with MPS eye gaze run, then use provided export script
  • SMI ETG: Export raw data and scene video from BeGaze with specific settings

For detailed preprocessing instructions for your specific eye tracker, see the glassesValidator preprocessing guide.

The import process will generate the required worldCamera.mp4 and gazeData.tsv files.

Zarafe expects a specific directory structure with each recording in its own folder containing both files.

Installation

Requirements: Python ≥3.9 (tested on Python 3.9-3.12)

Option 1: Install from PyPI (Recommended)

pip install zarafe
zarafe

Option 2: Install from Source

  1. Clone this repository:

    git clone https://github.com/mh-salari/zarafe.git
    cd zarafe
    
  2. Install dependencies (choose one method):

    Option A: Using uv (recommended)

    # Install uv from https://docs.astral.sh/uv/getting-started/installation/
    
    # Install dependencies
    uv sync
    

    Option B: Using pip

    pip install -e .
    
  3. Run the application:

    # With uv
    uv run python main.py
    
    # With pip
    python main.py
    

Notes

Zarafe is developed by Mohammadhossein Salari with assistance from Claude 3.7 Sonnet and Claude Sonnet 4, AI assistants developed by Anthropic.

Important Disclaimer: This software ships as-is and was developed as part of my PhD project to serve personal research needs. Please make a complete backup of your data before using this tool. Use at your own risk.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Zarafe uses glassesValidator for data import. If you use this functionality, please cite:

Niehorster, D.C., Hessels, R.S., Benjamins, J.S., Nyström, M. and Hooge, I.T.C. (2023). GlassesValidator: A data quality tool for eye tracking glasses. Behavior Research Methods. doi: 10.3758/s13428-023-02105-5

This project has received funding from the European Union's Horizon Europe research and innovation funding program under grant agreement No 101072410, Eyes4ICU project.

Funded by EU Eyes4ICU

Giraffe icon downloaded from Flaticon, created by smalllikeart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zarafe-1.0.4.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zarafe-1.0.4-py3-none-any.whl (4.0 MB view details)

Uploaded Python 3

File details

Details for the file zarafe-1.0.4.tar.gz.

File metadata

  • Download URL: zarafe-1.0.4.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for zarafe-1.0.4.tar.gz
Algorithm Hash digest
SHA256 d9eb7470b04759d4e72480dc8a05d032bc75dd1c665df00620f5242a382bdc03
MD5 44e5c69da7f94f325286faa19affa345
BLAKE2b-256 e10f0c5c0c6af9af1c43ac0807d6e95d4b93dfad51c00dd0ac45a0ec3f37e0c1

See more details on using hashes here.

File details

Details for the file zarafe-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: zarafe-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for zarafe-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 692df97ee55ac2212dcedefee9f002615028c276e0a6f889ee284f856feb67b1
MD5 e8be0055a34314080a75132e3a0c7b65
BLAKE2b-256 cbcd54f15ff01981190beb9e2bab17c81d3856b78aed49b24f9a36446064c2a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page