This vignette gives a compact workflow for using
gpbiometrics with Gazepoint Biometrics or Gazepoint GP3
biometric exports.
The package supports importing, schema checks, signal-quality auditing, preprocessing, feature extraction, TTL alignment, model-ready table preparation, visual diagnostics, and reproducible report generation.
The examples are not evaluated during vignette build because they require local Gazepoint export files.
The package includes a public synthetic Gazepoint-like demo dataset. It simulates a public-service touchscreen kiosk usability task with 36 synthetic participants and four tasks per participant.
The design crosses interface complexity (simple
vs. dense) with feedback clarity (clear
vs. ambiguous). The files contain gaze, AOI labels, pupil
diameter, GSR/EDA, HR, IBI, pulse waveform, engagement dial, TTL
markers, and task metadata.
demo_dir <- system.file(
"extdata",
"gazepoint_biometrics_kiosk_demo_exports",
package = "gpbiometrics"
)
workflow <- run_gazepoint_biometrics_workflow(
path = demo_dir,
include_all_gaze = TRUE,
include_fixations = FALSE,
include_other_csv = FALSE,
expected_sampling_rate_hz = 60
)
summarise_gazepoint_biometrics_workflow(workflow)The dataset is fully artificial and is provided for examples, tests, vignettes, and software demonstration. It is not real participant physiology.
For a single export file:
For a folder of exports:
For private real data, keep source exports outside the package repository.
Run a readiness gate before modelling or reporting.
This step makes data-quality issues explicit, including missing channels, inactive signals, time-ordering problems, TTL availability, and signal-level missingness.
The full workflow can import a folder, create diagnostic outputs, and optionally write plots and reports.
Common EDA and SCR tasks include unit auditing, smoothing, artifact checks, baseline correction, response-window extraction, and recovery-time estimation.
unit_audit <- audit_gazepoint_gsr_units(dat)
smoothed <- standardise_gazepoint_adaptive_ema(
dat,
signal_col = "GSR_US",
time_col = "CNT"
)
scr_recovery <- extract_gazepoint_scr_recovery_times(
dat,
eda_col = "GSR_US",
time_col = "CNT",
event_onset_col = "event_onset"
)If ambient or body-temperature covariates are available, EDA can be adjusted for temperature:
temperature_adjusted <- correct_gazepoint_eda_temperature(
dat,
eda_col = "GSR_US",
temperature_cols = c("ambient_temperature", "body_temperature"),
group_cols = "participant"
)Temperature-adjusted EDA is not “pure” cognitive or emotional EDA. It is an adjusted physiological signal that still requires conservative interpretation.
For IBI/HRV workflows:
hrv <- extract_gazepoint_hrv_features(
dat,
ibi_col = "IBI",
group_cols = "participant"
)
hrv_summary <- summarise_gazepoint_hrv_features(hrv)Advanced HRV descriptors are available when signal length and quality are adequate:
nonlinear_hrv <- extract_gazepoint_hrv_nonlinear(
dat,
ibi_col = "IBI",
group_cols = "participant"
)
rcmse <- extract_gazepoint_hrv_rcmse(
dat,
ibi_col = "IBI",
group_cols = "participant"
)
fuzzy_csi <- extract_gazepoint_hrv_fuzzy_csi(
dat,
ibi_col = "IBI",
group_cols = "participant"
)For difficult Gazepoint pulse waveforms, k-means beat extraction can be used as a hardware-oriented fallback:
beats <- extract_gazepoint_beats_kmeans(
dat,
pulse_col = "HRP",
time_col = "CNT",
group_cols = "participant"
)These beat candidates should be quality-checked before HRV inference.
TTL markers and event windows can be used to align biometric signals with the experimental design.
A report bundle can export tables, plots, and text summaries for reproducible documentation.
The package includes a feature inventory for documenting workflow coverage.
inventory <- create_gazepoint_biometrics_feature_inventory()
formatted_inventory <- format_gazepoint_biometrics_feature_inventory(
inventory
)
inventory_summary <- summarise_gazepoint_biometrics_feature_inventory(
formatted_inventory
)
inventory$overview
inventory_summary$domain_summary
head(formatted_inventory)gpbiometrics follows conservative interpretation
principles:
For private smoke tests, keep data and outputs outside the package repository.
private_folder <- "path/to/private_gazepoint_exports"
private_output <- file.path(tempdir(), "gpbiometrics_real_check")
workflow <- run_gazepoint_biometrics_workflow(
path = private_folder,
include_all_gaze = TRUE,
include_fixations = FALSE,
include_other_csv = FALSE,
expected_sampling_rate_hz = 60
)
summarise_gazepoint_biometrics_workflow(workflow)
export_gazepoint_biometrics_report_bundle(
workflow,
output_dir = private_output
)
summary <- summarise_gazepoint_biometrics_workflow(workflow)
summaryDo not commit private Gazepoint exports or private smoke-test outputs.