Skip to contents

Version CRAN RStudio mirror downloads DOI Paper

gpbiometrics provides reproducible Gazepoint-native infrastructure for importing, validating, quality-checking, preprocessing, synchronising, summarising, modelling, plotting, and reporting physiological and eye-tracking exports. It covers EDA/GSR/SCR, PPG, HR, IBI/HRV, pupil, gaze, fixations, AOIs, TTL/event timing, multimodal alignment, interoperability, reporting, and privacy-safe validation.

Current GitHub release: 2.0.0 (v2.0.0, 18 July 2026)

Website · Reference · Articles · Release · Signals paper

What gpbiometrics provides

  • Gazepoint biometric, gaze, pupil, fixation, AOI, EDA/GSR/SCR, PPG, HR, IBI, and HRV workflows;
  • explicit schema, sampling, missingness, timebase, TTL, synchronization, and quality audits;
  • event-locked, AOI-linked, trial-level, and model-ready summaries;
  • HeartPy-style, pyHRV-style, BioSPPy-style, and PsPM-style Gazepoint-native workflows without claiming exact external-toolbox equivalence;
  • MNE/EEG/LSL, BIDS, eyetrackingR, PupillometryR, gazeR, BioSPPy, pyHRV, and gp3tools interoperability helpers;
  • reproducibility manifests, reporting bundles, reviewer-facing audits, release-readiness checks, and privacy-safe real-data smoke testing.

September 2026 measurement-accountability additions

The current development branch adds four conservative diagnostics motivated by the September 2026 methods-surveillance tranche:

  • compare_hrv_prv_devices() reports ICC(A,1), Lin’s CCC, Bland–Altman bias, and 95% limits for one derived metric at a time, while retaining signal-source and sensor-site provenance. It does not create a global ECG/PPG interchangeability decision.
  • scr_responsivity_sensitivity() preserves the conventional SCR non-responder flag, estimates a Beta-Binomial posterior response probability, and retains low-reactive participants for model-based sensitivity analysis instead of imposing irreversible preprocessing deletion.
  • physiology_validation_ladder() separates acquisition QC, analytical QC, construct evidence, within-person evidence, and held-out-person generalization. Population/generalization claims require held-out-person validation to pass.
  • ppg_topology_features() is opt-in and experimental. It summarizes H0 persistence lifetimes from a delay embedding as a structural waveform descriptor, not a direct physiological surrogate, and carries a participant-grouped validation guardrail.

These are post-2.0.0 development additions and do not alter the immutable v2.0.0 release archive.

See the Measurement accountability for Gazepoint physiology article.

Installation

Install the exact GitHub 2.0.0 release:

install.packages("remotes")
remotes::install_github("stefanosbalaskas/gpbiometrics", ref = "v2.0.0")

For the current development branch, including the September measurement-accountability additions:

remotes::install_github("stefanosbalaskas/gpbiometrics")

Quick start

library(gpbiometrics)

folder <- "path/to/gazepoint_exports"
workflow <- run_gazepoint_biometrics_workflow(
  path = folder,
  include_all_gaze = TRUE,
  include_fixations = FALSE,
  include_other_csv = FALSE,
  expected_sampling_rate_hz = 60
)

summarise_gazepoint_biometrics_workflow(workflow)

For private real data, keep source exports and generated smoke-test outputs outside the package repository.

Main workflow

Gazepoint / external exports
  -> schema + signal availability audit
  -> timing / TTL / missingness / quality checks
  -> EDA / PPG / IBI / pupil / gaze preprocessing
  -> fixation / AOI / event / multimodal alignment
  -> physiological and process feature extraction
  -> model-ready tables
  -> plots + reports + reproducibility evidence
  -> optional external-toolbox cross-checks

The package is intentionally modular: researchers can run a complete workflow or call individual helpers while keeping preprocessing and interpretation decisions explicit.

Release validation

The v2.0.0 release record reports:

  • 3,515 package tests passed;
  • 49 release-readiness tests passed;
  • 40 interoperability-version tests passed;
  • 55 private smoke-harness tests passed;
  • R CMD check: 0 errors, 0 warnings, 0 notes; and
  • pkgdown configuration: no problems found.

The September 2026 additions are development functionality layered on top of this qualified release baseline.

Interpretation guardrails

gpbiometrics treats biometric outputs as physiological descriptors, quality-control evidence, or analysis-ready measurements. It does not infer emotion, stress, cognition, preference, attention quality, health status, diagnosis, or another psychological/clinical state directly from EDA, HRV/PRV, PPG, pupil, gaze, or multimodal signals.

Metric agreement does not imply sensor interchangeability; retention-first responsivity does not diagnose participant state; held-out prediction does not establish construct validity; and experimental topology features are not physiological surrogates without independent validation.

Citation

For the installed package citation:

citation("gpbiometrics")
packageVersion("gpbiometrics")

The package paper is “gpbiometrics: An R Package for Reproducible Analysis and Reporting of Gazepoint Biometrics Exports”, Signals (2026), DOI 10.3390/signals7050086.

License

MIT License.