Skip to content

Latest commit

 

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eyeprocess eyeprocess logo

Vendor-neutral infrastructure for reproducible eye-tracking and multimodal process-data research.

eyeprocess transforms heterogeneous eye-tracking, pupillometry, behavioural, and biometric exports into validated, analysis-ready process data. It combines vendor-neutral harmonization with first-class Gazepoint support, explicit quality and provenance controls, gaze/AOI/scanpath analysis, pupillometry and biometric workflows, interoperability, and psychometric/process modelling.

Current formal release: 0.11.1

Website · Reference · Articles · GitHub · Releases

What eyeprocess provides

Area Capabilities
Import and harmonization Vendor-aware readers, generic mappings, canonical schemas, explicit timebase and coordinate handling
Validation and provenance Source inspection, schema coverage, quality audits, source fingerprints, validation corpora, provenance manifests
Gaze and AOI analysis Trial construction, AOI registration and assignment, fixation summaries, scanpaths, transitions, visual diagnostics
Pupil and biometrics Pupil preprocessing, binocular handling, physiological synchronization, quality-aware feature derivation
Process and psychometric modelling IRT, response-time models, multimodal process measurement, validation and sensitivity infrastructure
Interoperability and storage Eye-Tracking-BIDS, Arrow/Parquet workflows, conversion bridges, auditable storage contracts

Design commitments

  • Harmonize semantics, not merely column names.
  • Retain native timestamps and source files.
  • Record every timebase and coordinate transformation.
  • Keep vendor-produced and package-derived ocular events distinguishable.
  • Never resample, interpolate, clip, reconstruct, or exclude observations silently.
  • Treat gaze, pupil, and physiology as observations—not automatic psychological constructs.
  • Keep Gazepoint support deep while the canonical representation remains vendor-neutral.

Supported inputs

Ecosystem Initial interface Support level
Gazepoint Analysis read_gazepoint(), read_gazepoint_folder() First class
Gazepoint Biometrics read_gazepoint_biometrics() First class
Generic CSV/TSV read_eye_generic() Universal mapping
Tobii Pro Lab read_tobii() Dedicated
Pupil Labs Neon read_pupil_neon() Dedicated
Pupil Labs Core read_pupil_core() Dedicated
EyeLink ASC read_eyelink_asc() Dedicated
EyeLink Data Viewer read_eyelink_report() Explicit mapping
EyeLink EDF read_eyelink_edf() Local EDF2ASC bridge
SMI BeGaze ASCII read_smi() Legacy dedicated
Custom adapters register_eye_adapter() Extensible

Support level and empirical validation are deliberately kept separate. The existence of an adapter is not treated as proof of production compatibility with every exporter or software version.

Installation

Install the exact formal GitHub release:

install.packages("remotes")
remotes::install_github("stefanosbalaskas/eyeprocess", ref = "v0.11.1")

For the current development branch:

remotes::install_github("stefanosbalaskas/eyeprocess")

Optional modelling backends are deliberately not mandatory dependencies. Install only the engines required for a specific analysis.

Quick start

library(eyeprocess)

x <- read_gazepoint_folder(
  "data/P001",
  include = c("gaze", "fixations", "events", "biometrics")
)

validate_eye_dataset(x)
audit_timebase(x)
audit_signal_quality(x)

x <- build_trials(x, start_events = "TRIAL_START", end_events = "TRIAL_END")

x <- register_aois(
  x,
  new_aoi("prompt",  x = 0,    y = 0, width = 0.50, height = 1),
  new_aoi("options", x = 0.50, y = 0, width = 0.50, height = 1)
)

x <- assign_aois(x)
x <- derive_all_features(x)

plot_scanpath(x, trial_id = x$intervals$trial_id[1])
plot_pupil_timeseries(x, trial_id = x$intervals$trial_id[1])

For generic exports, Tobii, Pupil Labs, EyeLink, SMI, real-export validation, preprocessing, storage, and complete Gazepoint workflows, see the articles.

Process measurement and psychometrics

eyeprocess connects behavioural responses with process evidence while keeping measurement assumptions explicit. The multimodal measurement ladder is:

M0 response → M1 + RT → M2 + gaze → M3 + pupil → M4 + trait-conditioned latent response-process state

Examples of public interfaces include fit_irt(), fit_explanatory_irt(), fit_accuracy_rt(), fit_process_irt(), multimodal_m3_spec(), fit_multimodal_m3(), multimodal_m4_spec(), and fit_multimodal_m4().

M4 remains REVIEW / evidence-gated. The availability of an estimator or model interface is not treated as evidence of unrestricted confirmatory validity. M4 states are model-based statistical response-process states; state labels do not by themselves establish cognitive strategy, attention, engagement, cognitive load, effort, emotion, guessing, misconduct, comprehension, or another psychological construct.

Validation and reproducibility

The 0.11.1 release line preserves an auditable validation contract across data import, transformations, storage, modelling, and reporting. Release validation included the complete test suite and exact source-tarball checking with 0 errors and 0 warnings; the remaining incoming NOTE concerns submission/optional repository metadata rather than a package failure.

The package also provides infrastructure for real-export validation, grouped validation, parameter recovery, simulation-based calibration, leakage checks, sensitivity analysis, model-evidence audits, benchmark generation, and reproducible reporting.

Detailed implementation and validation records are maintained in:

Responsible interpretation

eyeprocess does not equate fixation with attention, dwell time with difficulty, pupil dilation with cognitive load, rapid response with guessing, physiological variation with a named mental state, or a data-derived process factor with a psychological construct.

Useful audit interfaces include:

interpretive_warnings()
analysis_readiness(x)
provenance_manifest(x)

Documentation

Citation

For the citation associated with the installed package, run:

citation("eyeprocess")
packageVersion("eyeprocess")

Studies should report the exact package version and, when relevant, the source commit and modelling backend used.

Contributing and issues

License

MIT License.

About

Vendor-neutral R infrastructure for harmonizing, validating, processing, and analyzing eye-tracking and multimodal process data, with first-class Gazepoint support.

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages