Skip to content

v0.24.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 14:12

Added

  • Comparisons subtab (ENG-8) — score the selected scanpath against other scanpaths of the same text, grouped by a Comparison column you pick (regime / repeated-reading id / model generation / participant / trial); closest shown, ranked by NLD. Line assignment (drift-correction grid) is now its own top-level subtab.
  • Corpus Analysis (AN) — question-oriented views Per text · Per reader · Groups (profile one cohort or compare two): metric distributions + word profiles, per-text heatmaps pooled over readers, reader summaries, and group differences with effect sizes; shared measure / aggregation / spread pickers with 95% bootstrap CI bands.
  • Image-based stimuli (VIZ-4) — show a stimulus image on any dataset: an upload overrides a dataset's built-in image; image_path / image_x / image_y columns declare native per-trial images; Align to text (X/Y offset + scale) and an opacity slider fit/dim it.
  • Colour saccades by reading type (VIZ-8) — Uniform / By type (forward · skip · refixation · return-sweep · regression), editable class colours, optional legend.
  • "Linear reading" view (VIZ-9) — arched saccades + snap each fixation above its word.
  • Animated replay autoplays on load (VIZ-10) — at the configured speed; an Autoplay on load checkbox turns it off. Slider is now a linear time scrubber with an elapsed/total-seconds readout (VIZ-11).
  • Vertical drift correction (PRE-3) — the ten Carr et al. (2021) line-assignment algorithms, applied in place or compared in the Line assignment subtab.
  • Separable-layer export (VIZ-5) — one file per layer (boxes / fixations / saccades / heatmap / labels / image) that register when stacked.
  • Heatmap colour scaling: Linear or Log (VIZ-3).
  • Public OneStop corpus (DATA-3) — all four regimes, seven parts, two variants; shareable via deep link. The bundled demo now ships per-trial stimulus images.
  • Data sidebar reorganized (DATA-8/9) — one flat source picker tagged by kind, one ordered ⚙️ Configure group, native folder picker; plus stable trial selectors + annotation markers (UX-5/6), a quick-view preset indicator (VIZ-12), a configurable word-hover measure (VIZ-13), and a px-vs-pt font note (VIZ-1).

Every feature reaches all surfaces: UI · deep-link + Share · Save & restore · CLI · headless API.

Changed

  • Save & restore configs are versioned (ENG-11) — a schema version + migration on load; a newer config restores best-effort with a warning.
  • Word labels are left-aligned in their AOI box (was centered) so they coincide with the stimulus image + fixations.
  • Author list (ENG-14) — full co-author set with affiliations in the About panel, CITATION.cff, and README.
  • Slightly larger small text (VIZ-2).

Fixed

  • Branded theme applies from any launch directory (BUG-6) — injected as --theme.* flags, so python -m scanpath_studio from anywhere renders the pinned blue theme instead of Streamlit's default red.
  • Bulk export no longer skips trials whose words don't join (VIZ-5) — a fixations-only / non-joining-words dataset now exports instead of reporting "empty data".
  • Large uploads no longer OOM-crash the hosted demo (BUG-5) — a pre-parse size guard warns and asks to confirm above ~25 MB.
  • MultiplEYE stimulus text alignment (BUG-3), the bundled-demo stimulus-image vertical origin, and "No data found" when run outside the repo root (default data dirs anchored to the project root).

Docs


Install/upgrade: pip install -U scanpath-studio