knitr::opts_chunk$set(collapse = TRUE, comment = "#>") library(eyeprocess)
eyeprocess already contains trajectory-level pupil machinery, including functional pupil specifications, event deconvolution, confound modelling and signal-quality workflows. M3 does not replace those tools with a new parallel implementation. Instead, the first four-channel reference likelihood uses a trial-level scalar pupil measurement so that the four-dimensional person/item covariance architecture can be validated cleanly.
The functional bridge is explicit: an analyst first derives a scientifically justified trial-level score from the existing pupil workflow, then records that score as the M3 pupil representation.
sim <- simulate_multimodal_m3(n_person = 40, n_item = 8, seed = 20260815) d <- sim$data # Demonstration only. In a real workflow this should be an output from the # package's functional/deconvolution pipeline with its provenance retained. d$functional_score <- as.numeric(scale(d$pupil_baseline)) bridge <- multimodal_m3_functional_bridge( d, score = "functional_score", provenance = "demonstration score; replace with validated functional-pupil derivation" ) print(bridge)
spec <- multimodal_m3_spec(pupil_representation = "functional_score") print(spec)
The bridge does not silently select a time window, smooth a signal, interpolate blinks, deconvolve events, baseline-correct, or decide whether a trajectory component is psychologically meaningful. Those choices belong to the upstream pupil workflow and should remain inspectable.
It also does not claim that a scalar functional score preserves all information in the original trajectory. M3 therefore distinguishes three evidence questions:
Only the third question is answered by M3 ablation and multimodal_m3_process_information().
A later extension can place a basis-coefficient or functional trajectory likelihood directly inside the joint model. It should only be promoted after basis choice, temporal correlation, baseline/luminance/gaze-position adjustment, missing trajectories and parameter recovery are validated. The scalar bridge is intentionally conservative groundwork for that extension rather than a claim that functional modelling has already been solved.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.