Skip to main content

Zarafe zarafe

PyPI version Downloads License DOI

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

Release files for zarafe 2.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zarafe 2.3.5
File Size Uploaded
zarafe-2.3.5.tar.gz 4.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for zarafe 2.3.5
File Interpreter ABI Platform
zarafe-2.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 8.0 MB

Release files / zarafe-2.3.5.tar.gz

Download URL zarafe-2.3.5.tar.gz
Size 4.0 MB
Tags Source
SHA-256 checksum
How to use checksums
b7a0eb23de788e10f874aa20a7e48b917a6dfbae33f579e35b64560a802f9759
BLAKE2b-256 checksum
How to use checksums
1de21d9a111a9f53a843d0bf2155302c2b00396adf5ef96355fff944ac523d5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / zarafe-2.3.5-py3-none-any.whl

Download URL zarafe-2.3.5-py3-none-any.whl
Size 4.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
bb169ea3f34e4eb778c8f20fc4d13049b3bb85a22dcbbd452a5019b9d9ddef4a
BLAKE2b-256 checksum
How to use checksums
e153441c53283a8a25a6e8d7a6087ce55db54a3826cf94e2e4ac0c09c3327408
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

2.3.5 This release

2 release files

2.3.3

2 release files

2.0.0

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page