Downloadable runnable tutorial¶
Use a deterministic, invented synthetic eye-tracking teaching dataset, not recordings from humans. The CSV and Python runner are version-controlled in the same repository. This is a first execution/format test, not a validation dataset for inference.
- Dataset: 12 trajectories × 41 common-grid times
Normalized horizontal and vertical coordinates for 12 invented independent participant curves, with time in seconds and one synthetic trial per participant.
- Runnable Python script
Loads the CSV, checks grid and coordinate contracts, imports with the documented stable API and fits descriptive planar MFPCA.
Install and execute¶
Save both files in the same directory and run:
python -m pip install eyetrajectoriespy==1.2.0 pandas
python run_synthetic_gaze.py
The runner checks 12 curves × 41 ordered samples, finite nonmissing normalized coordinates and a common grid, calls the documented from_long_dataframe() import, then fits fit_mfpca() with a fixed two-component setting. It prints a descriptive fitted-variance summary. No random selection, hidden interpolation or inferred statistical coverage is involved.
What to try next¶
- Compare the CSV's two coordinate columns in their recorded units and time support.
- Inspect the exact schema and metadata before changing the number of curves.
- Follow the complete production-style dense workflow for module-scoped 1.2 orchestration, reporting and a reproducible component SVG.
- For paired sparse or coordinate-asynchronous data, use the corresponding native representation instead of removing CSV rows and pretending the sample times are equivalent.
Scope
This small fixture is pedagogical. Twelve independent invented curves cannot establish method power, general FPC consistency, confidence-band coverage, participant-level population claims or performance on recorded gaze. The W3 whole-function and missingness restrictions in the research library remain unchanged.
Workflow method selector · Input schema guide · Examples in GitHub