Scientific Python · eye-tracking methodology

Make the uncertainty visible before you trust the conclusion.

GazeAudit turns structural QC, gaze-measurement uncertainty, analysis-readiness decisions, and defensible alternative pipelines into an auditable robustness record.

0.2.0 stable release 3.10–3.13 Python 3 frozen cases MIT licensed
Executable documentation Specification-space audit
synthetic demo
Code-generated synthetic specification curve showing endpoint estimates across declared analytical choices
Generated by GazeAudit's plotting API and byte-verified in CI. Open this exact plot →
Stable release Install the current 0.2.0 release
pip install gazeaudit==0.2.0

Choose your research task

Start from the decision you need to defend.

GazeAudit is organised around methodological questions. Select a task to see the shortest route into the package.

Structural preflight

Find data-shape problems before analysis choices enter the picture.

Map semantic columns with GazeStudy, identify non-finite coordinates and timestamps, missing identifiers, duplicate timestamps, and decreasing within-trial time.

Scientific boundary

An audit framework, not an automatic quality score.

GazeAudit does

Make methodological choices explicit.

  • Surface structural QC diagnostics.
  • Propagate declared measurement uncertainty.
  • Evaluate researcher-defined specification spaces.
  • Record readiness and publication provenance.
GazeAudit does not

Decide scientific validity for you.

  • It does not provide universal QC cutoffs.
  • It does not automatically exclude participants.
  • It does not search for a favourable specification.
  • It does not turn sensitivity summaries into causal evidence.

Executable visual methods

See the audit before you read the table.

The public plotting API produces deterministic SVGs for QC, readiness, robustness, sensitivity, and measurement uncertainty.

Browse all 14 plots →

All figures in this section use deterministic synthetic demonstration data and are regenerated from executable Python in CI.

Frozen validation programme

Three real cases. Three different outcomes.

Robustness is allowed to fail, survive, or remain incomplete. These labels are protocol-bound scientific records—not generic scores for the source datasets.

Validation matrix →
IncompleteGazeBase
Observed GazeBase detector completeness plot

Five frozen detector specifications reached 322/322 finite participant estimates; two reached 0/322, so the predeclared completeness gate was not satisfied.

Read the frozen case →
Robust negativeKorthals
Observed Korthals hard and uncertainty-propagated AOI effects

The uncertainty-propagated effect moved toward zero, but all 2,000 prespecified measurement-model draws remained below zero.

Read the frozen case →
Materially fragilePedrotti / de Chambrier
Observed Pedrotti sampling-rate sensitivity plot

The endpoint retained its negative direction while magnitude recovery failed at lower sampling rates under the frozen perturbation protocol.

Read the frozen case →

One auditable workflow

From incoming gaze data to a publication record.

The workflow keeps measurement assumptions, readiness decisions, specification choices, and reporting artifacts visible as separate scientific decisions.

Six-stage GazeAudit workflow from gaze data to a reproducible audit bundle

Start from a defensible question

Would your eye-tracking conclusion survive reasonable uncertainty and analytical choices?

Run the smallest example, inspect the public API, or reproduce the complete visual gallery from source.

Documentation search

Find the right documentation

↑↓ navigateEnter openEsc close