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.
