Skip to contents

The intended use of this method is for smoothing, although by specifying wp and ws differently one can achieve highpass or bandpass filtering as well. However, only lowpass filtering should be done on pupillometry data.

Usage

lpfilt(eyeris, wp = 4, ws = 8, rp = 1, rs = 35, plot_freqz = FALSE)

Arguments

eyeris

An object of class eyeris derived from load().

wp

The end of passband frequency in Hz (desired lowpass cutoff).

ws

The start of stopband frequency in Hz (required lowpass cutoff).

rp

Required maximal ripple within passband in dB.

rs

Required minimal attenuation within stopband in dB.

plot_freqz

Boolean flag for displaying filter frequency response.

Value

An eyeris object with a new column in timeseries: pupil_raw_{...}_lpfilt.

Details

This function is automatically called by glassbox() by default. If needed, customize the parameters for lpfilt by providing a parameter list. Use glassbox(lpfilt = 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.

Note

This function is part of the glassbox() preprocessing pipeline and is not intended for direct use in most cases. Provide parameters via lpfilt = list(...).

Advanced users may call it directly if needed.

See also

glassbox() for the recommended way to run this step as part of the full eyeris glassbox preprocessing pipeline.

Examples

demo_data <- eyelink_asc_demo_dataset()

demo_data |>
  # set lpfilt to FALSE (instead of a list of params) to skip step
  eyeris::glassbox(lpfilt = list(plot_freqz = TRUE)) |>
  plot(seed = 0)
#>  [  OK  ] - Running eyeris::load_asc()
#>  [  OK  ] - Running eyeris::deblink()
#>  [  OK  ] - Running eyeris::detransient()
#>  [  OK  ] - Running eyeris::interpolate()
#>  [  OK  ] - Running eyeris::lpfilt()

#> ! [ SKIP ] - Skipping eyeris::detrend()
#>  [  OK  ] - Running eyeris::zscore()
#> ! Plotting block 1 from possible blocks: 1