iTrace
github.com
What it is
iTrace is a free, MIT-licensed toolkit for analyzing webcam eye-tracking data, with a scientific core built on NumPy and SciPy. It computes gaze in degrees of visual angle and detects fixations, saccades, and microsaccades using I-VT, I-DT, and Engbert–Kliegl methods. Pupil tools include blink detection and interpolation, preprocessing, and eye-crop segmentation measured in pixels or relative to iris size. Affine screen-space calibration reports calibration error and gaze-quality measures. The command-line tool analyzes gaze CSV files and exports JSON reports. Optional webcam capture uses OpenCV and MediaPipe, and optional interfaces include a local HTML app using FastAPI and WebSockets and a Streamlit dashboard. Live workflows can export derived gaze, pupil, and capture CSVs. By default, the workflow does not save raw eye video or persisted eye-crop images, though live viewing may send a temporary JPEG crop to a browser over a local WebSocket. The project says its checks use synthetic ground truth rather than real eye-tracking data or a reference device. Webcam pupil size is a relative proxy, not a measurement in millimetres.
Spec sheet
- Purpose
- iTrace is a webcam eye-movement analysis toolkit for gaze, saccades, microsaccades, and pupil measurements.Read 10 Oct 2026 · github.com
- Integrations
- The project lists OpenCV, MediaPipe, FastAPI, Uvicorn, Streamlit, Plotly, and Matplotlib as optional dependencies.Read 10 Oct 2026 · github.com
- License
- The software is released under the MIT License.Read 10 Oct 2026 · github.com
- Accuracy limit
- The live webcam pupil measurement is a relative proxy and does not infer pupil diameter in millimetres.Read 9 Oct 2026 · github.com
- Accuracy limitation
- The project states that live webcam pupil measurements are a relative algorithmic proxy and do not infer millimetres.Read 10 Oct 2026 · github.com
- Analysis core
- The scientific analysis core uses NumPy and SciPy, with webcam capture provided as an optional layer.Read 10 Oct 2026 · github.com
- Analysis methods
- Its analysis includes I-VT and I-DT event detection, Engbert–Kliegl microsaccade detection, and pupil blink detection and interpolation.Read 10 Oct 2026 · github.com
- Calibration
- It supports affine screen-space calibration and reports calibration error and gaze-quality measures.Read 9 Oct 2026 · github.com
- Capture and interfaces
- Optional components use OpenCV and MediaPipe for capture, FastAPI and WebSockets for a local HTML interface, and Streamlit with Plotly for a dashboard.Read 10 Oct 2026 · github.com
- Capture integrations
- Optional webcam capture uses OpenCV and MediaPipe Face Mesh iris landmarks.Read 9 Oct 2026 · github.com
- Data handling
- The README says the default export writes derived gaze, pupil, and capture CSVs without writing raw eye video or persisted eye-crop images.Read 10 Oct 2026 · github.com
- Exports
- The live app can export derived gaze, pupil, and capture-record CSVs plus a JSON analysis report; its default workflow does not save raw eye video or persisted eye-crop images.Read 9 Oct 2026 · github.com
- Gaze and events
- It computes gaze in degrees of visual angle and detects fixations, saccades, and microsaccades using I-VT, I-DT, and Engbert–Kliegl methods.Read 9 Oct 2026 · github.com
- Inputs and outputs
- The CLI can analyze gaze CSV files and export JSON reports, and can record gaze and pupil CSV data from a camera.Read 10 Oct 2026 · github.com
- Install options
- The README documents Python installation through uv, with capture, dashboard, figures, and web components available as optional extras.Read 9 Oct 2026 · github.com
- Intended audience
- The package metadata identifies science and research as its intended audience.Read 10 Oct 2026 · github.com
- Live interfaces
- Optional interfaces include a local FastAPI and WebSocket HTML app and a Streamlit dashboard.Read 9 Oct 2026 · github.com
- Pupil analysis
- Pupil tools include blink detection and interpolation, preprocessing, and eye-crop segmentation that reports pixel or pupil-to-iris-relative size.Read 9 Oct 2026 · github.com
- Security and privacy
- The project describes its default export as privacy-preserving and says live viewing may send a transient JPEG eye crop to the browser over a local WebSocket.Read 10 Oct 2026 · github.com
- Use case
- The README presents it as a reference implementation of eye-movement estimation algorithms and advises comparison with a reference device or public dataset before reporting device-level accuracy.Read 9 Oct 2026 · github.com
- Validation limit
- The project says it is algorithmically verified against synthetic ground truth but has not been validated against real eye-tracking data or a reference eye tracker.Read 9 Oct 2026 · github.com
- Validation limitation
- The README says its synthetic and closed-loop checks are not real-device validation and that no bundled real-device validation is claimed.Read 10 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Detects fixations, saccades, and microsaccades
- Reports calibration error and gaze-quality measures
- Exports gaze and pupil data as CSV
- MIT-licensed and free
Limits
- Not validated against real eye-tracking data
- Webcam pupil measurement is a relative proxy
- Default workflow does not save raw eye video
Who it suits
It suits science and research users who need an open-source reference implementation for eye-movement estimation. The project advises comparison with a reference device or public dataset before reporting device-level accuracy.
Verdict
iTrace provides several analysis methods, calibration measures, and optional capture and viewing interfaces. Its stated validation is synthetic, so compare results with a reference device or public dataset before making device-level accuracy claims.
Where Specifiction places it
- Eye Tracking Software#2 of 278.4