Video annotation tool for marking timed events in eye tracking research
Project description
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.
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
-
Clone this repository:
git clone https://github.com/mh-salari/zarafe.git cd zarafe
-
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 .
-
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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zarafe-2.3.3.tar.gz.
File metadata
- Download URL: zarafe-2.3.3.tar.gz
- Upload date:
- Size: 4.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50e14d55b1d8a100d5edc66e27ce3ccb3d07d782a590084227939d113155fe22
|
|
| MD5 |
68df29491e8637455ab1465daf4fee1e
|
|
| BLAKE2b-256 |
dbb13c352fef730e9e6cf50ef7070c8f8ec767e1d9d619019d31901c6db3eee6
|
File details
Details for the file zarafe-2.3.3-py3-none-any.whl.
File metadata
- Download URL: zarafe-2.3.3-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.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92b1a97f5da45c9b55966e1c71f7ba4b8fcacf32a469eec84aeebd4ebefc9e01
|
|
| MD5 |
39abe765378f058d372628cac8f7eb29
|
|
| BLAKE2b-256 |
b5a8cb6f2eb399d8201bc8bdf49abf1fe26bf37611008b413ca35a47cc4e0f9d
|