View source: R/pipeline-detransient.R
| detransient | R Documentation |
The intended use of this method is for removing pupil samples that emerge
more quickly than would be physiologically expected. This is accomplished by
rejecting samples that exceed a "speed"-based threshold (i.e., median
absolute deviation from sample-to-sample). This threshold is computed based
on the constant n, which defaults to the value 16.
detransient(eyeris, n = 16, mad_thresh = NULL, call_info = NULL)
eyeris |
An object of class |
n |
A constant used to compute the median absolute deviation (MAD)
threshold. Defaults to |
mad_thresh |
Default
then, with the default multiplier
In this situation, any speed
|
call_info |
A list of call information and parameters. If not provided,
it will be generated from the function call. Defaults to |
This function is automatically called by glassbox() by default. If needed,
customize the parameters for detransient by providing a parameter list. Use
glassbox(detransient = FALSE) to disable this step as needed.
Users should prefer using glassbox() rather than invoking this function
directly unless they have a specific reason to customize the pipeline
manually.
Computed properties:
pupil_speed: Compute speed of pupil by approximating the derivative
of x (pupil) with respect to y (time) using finite differences.
Let x = (x_1, x_2, \dots, x_n) and
y = (y_1, y_2, \dots, y_n) be two numeric vectors with
n \ge 2; then, the finite differences are computed as:
\delta_i = \frac{x_{i+1} - x_i}{y_{i+1} - y_i},
\quad i = 1, 2, \dots, n-1.
This produces an output vector p = (p_1, p_2, \dots, p_n)
defined by:
For the first element:
p_1 = |\delta_1|,
For the last element:
p_n = |\delta_{n-1}|,
For the intermediate elements (i = 2, 3, \dots, n-1):
p_i = \max\{|\delta_{i-1}|,\,|\delta_i|\}.
median_speed: The median of the computed pupil_speed:
median\_speed = median(p)
mad_val: The median absolute deviation (MAD) of pupil_speed
from the median:
mad\_val = median(|p - median\_speed|)
mad_thresh: A threshold computed from the median speed and the MAD,
using a constant multiplier n (default value: 16):
mad\_thresh = median\_speed + (n \times mad\_val)
An eyeris object with a new column in time series:
pupil_raw_{...}_detransient
This function is part of the glassbox() preprocessing pipeline and is not
intended for direct use in most cases. Provide parameters via
detransient = list(...).
Advanced users may call it directly if needed.
glassbox() for the recommended way to run this step as
part of the full eyeris glassbox preprocessing pipeline.
For a complete, end-to-end reference pipeline that demonstrates how all
eyeris preprocessing functions are chained together in practice, see the
"Building Blocks Under the Hood" section of the Anatomy of an eyeris
Object vignette — vignette("anatomy", package = "eyeris") — as
well as the Complete Pupillometry Pipeline Walkthrough vignette:
vignette("complete-pipeline", package = "eyeris").
demo_data <- eyelink_asc_demo_dataset()
demo_data |>
eyeris::glassbox(
detransient = list(n = 16) # set to FALSE to skip step (not recommended)
) |>
plot(seed = 0)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.