eyeris3.0.1 package

Flexible, Extensible, & Reproducible Pupillometry Preprocessing

add_unique_event_identifiers

Add unique event identifiers to handle duplicate event messages

add_unique_identifiers_to_df

Add unique identifiers to a single events data frame

bidsify

Save out pupil time series data in a BIDS-like structure

bin_pupil

Bin pupil data into specified time bins

bin

Bin pupil time series by averaging within time bins

calc_euclidean_dist

Calculate Euclidean distance between points

calculate_epoched_confounds

Calculate confounds for epoched data

check_and_create_dir

Check and create directory if it doesn't exist

check_arrow

Check for Arrow availability

check_baseline_epoch_counts

Check baseline and epoch counts match

check_baseline_inputs

Check baseline input arguments

check_baseline_mean

Check if baseline mean is zero

check_column

Check if column exists in data frame

check_data

Check if object is of class eyeris

check_duckdb

Check for DuckDB availability

check_epoch_input

Check epoch input for plotting

check_epoch_manual_input_data

Check epoch manual input data structure

check_epoch_manual_input_dfs

Check epoch manual input data frame format

check_epoch_msg_values

Check epoch message values against available events

check_input

Check if input argument is provided

check_limits

Check limits in wildcard mode

check_pupil_cols

Check if pupil_raw column exists

check_start_end_timestamps

Check start and end timestamps are balanced

check_time_monotonic

Check time series monotonicity

clean_string

Clean string by removing non-alphanumeric characters

cleanup_run_dir_images

Clean up individual image files in run directories after HTML generati...

cleanup_source_figures_post_render

Clean up source figures after report generation

cleanup_temp_database

Cleanup temporary database

compute_baseline

Compute baseline correction for epoch data

connect_eyeris_database

Create or connect to eyeris project database

convert_nested_dt

Convert nested data.table objects to tibbles

count_epochs

Count epochs and validate data is epoched

counter_bar

Create a counter progress bar

create_epoch_images_zip

Create zip file from epoch images

create_table_name

Create table name for eyeris data

create_temp_eyeris_database

Create temporary database for parallel processing

deblink_pupil

Internal function to remove blink artifacts from pupil data

deblink

NA-pad blink events / missing data

detransient_pupil

Internal function to remove transient artifacts from pupil data

detransient

Remove pupil samples that are physiologically unlikely

detrend_pupil

Internal function to detrend pupil data

detrend

Detrend the pupil time series

disconnect_eyeris_database

Disconnect from eyeris database

downsample_pupil

Internal function to downsample pupil data

downsample

Downsample pupil time series with anti-aliasing filtering

draw_na_lines

Draw vertical lines at NA positions

draw_random_epochs

Draw random epochs for plotting

epoch_and_baseline_block

Block-by-block epoch and baseline handler

epoch_manually

Manually epoch using provided start/end data frames of timestamps

epoch_only_start_msg

Epoch based on a single event message (without explicit limits)

epoch_pupil

Main epoching and baselining logic

epoch_start_end_msg

Epoch using a start and an end message (explicit timestamps)

epoch_start_msg_and_limits

Epoch using a start message with fixed limits around it

epoch

Epoch (and baseline) pupil data based on custom event message structur...

error_handler

Handle errors with custom error classes

evaluate_pipeline_step_params

Evaluate pipeline step parameters

export_confounds_to_csv

Export confounds data to CSV files and/or database

extract_baseline_epochs

Extract baseline epochs from time series data

extract_event_ids

Extract event identifiers from event messages

eyelink_asc_binocular_demo_dataset

Access example EyeLink .asc binocular mock dataset file provided by th...

eyelink_asc_demo_dataset

Access example EyeLink .asc demo dataset file provided by the eyeris p...

eyelogger

Run eyeris commands with automatic logging of R console's stdout and...

eyeris_color_palette

Default color palette for eyeris plotting functions

eyeris_db_collect

Extract and aggregate eyeris data across subjects from database

eyeris_db_connect

Connect to eyeris project database (user-facing)

eyeris_db_disconnect

Disconnect from eyeris database (user-facing)

eyeris_db_list_tables

List available tables in eyeris database

eyeris_db_read

Read eyeris data from database

eyeris_db_reconstruct_from_chunks

Reconstruct eyerisdb from chunked files

eyeris_db_split_for_sharing

Split eyerisdb for data sharing and distribution

eyeris_db_summary

Get summary statistics for eyeris database

eyeris_db_to_chunked_files

Export eyeris database to chunked files

eyeris_db_to_parquet

Split eyeris database into N parquet files by data type

eyeris-package

eyeris: Flexible, Extensible, & Reproducible Pupillometry Preprocessin...

filter_epochs

Filter epoch names from eyeris object

find_baseline_structure

Find baseline structure name for a given epoch

format_call_stack

Format call stack information for display

get_block_numbers

Extract block numbers from eyeris object or character vector

get_confounds_for_step

Calculate confounds for a single pupil data step

get_log_timestamp

Get formatted timestamp for logging

get_timestamps

Obtain timestamps from events data

glassbox_internal

Internal glassbox function for processing individual eyes

glassbox

The opinionated "glass box" eyeris pipeline

index_metadata

Index metadata from data frame

interpolate_pupil

Interpolate missing pupil data using linear interpolation

interpolate

Interpolate missing pupil samples

is_binocular_object

Check if object is a binocular eyeris object

load_asc

Load and parse SR Research EyeLink .asc files

log_error

Log an error message and abort

log_info

Log an informational message

log_message

Core logging function with timestamp and glue support

log_success

Log a success message

log_warn

Log a warning message

logging

Standardized logging functions for eyeris

lpfilt_pupil

Internal function to lowpass filter pupil data

lpfilt

Lowpass filtering of time series data

make_baseline_label

Create baseline label for epoch data

make_bids_fname

Make a BIDS-compatible filename

make_epoch_label

Generate epoch label from events and data

make_gallery

Create interactive epoch gallery report

make_md_table_multiline

Create multiline markdown table from data frame

make_md_table

Create markdown table from data frame

make_prog_summary_plot

Create progressive preprocessing summary plot

make_report

Create eyeris report

merge_events_with_timeseries

Process event messages and merge with time series

merge_temp_database

Merge temporary database into main database

normalize_gaze_coords

Normalize gaze coordinates to screen-relative units

parse_call_stack

Parse call stack information

parse_eyelink_info

Parse EyeLink version and model information

pipeline_handler

Build a generic operation (extension) for the eyeris pipeline

plot_binocular_correlation

Plot binocular correlation between left and right eye data

plot_detrend_overlay

Internal helper to plot detrending overlay

plot_gaze_heatmap

Create gaze heatmap of eye coordinates

plot_pupil_distribution

Plot pupil distribution histogram

plot_with_seed

Plot with seed handling for glassbox pipeline

plot.eyeris

Plot pre-processed pupil data from eyeris

print_lightbox_img_html_legacy

Print lightbox image HTML (legacy)

print_lightbox_img_html

Print lightbox image HTML for zip-based gallery

print_plots

Print plots in markdown format

process_chunked_query

Process large database query in chunks

process_epoch_and_baselines

Epoch and baseline processor

process_eyeris_data

Process eyeris data and create eyeris object

progress_bar

Create a progress bar for tracking operations

prompt_user

Prompt user for continuation

read_eyeris_parquet

Read parquet files back into R

render_report

Render R Markdown report

robust_plot

Robust plotting function with error handling

run_bidsify

Internal function to run bidsify on a single eye

sanitize_event_tag

Sanitize event tag string into canonical epoch label

save_detrend_plots

Save detrend plots for each block

save_progressive_summary_plots

Save progressive summary plots for each block

should_plot_binoc_cors

Check if binocular correlations should be plotted

slice_epoch

Slice epoch from raw time series data

slice_epochs_no_limits

Slice epochs with no explicit limits

slice_epochs_with_limits

Slice epochs with explicit limits

speed

Calculate pupil speed using finite differences

summarize_confounds

Extract confounding variables calculated separately for each pupil dat...

tag_blinks

Tag blinks in pupil data

tag_gaze_coords

Tag gaze coordinates as on/off screen

tick

Tick a progress bar

write_csv_and_db

Write data to CSV and/or database (helper function)

write_eyeris_data_to_db

Write eyeris data to database

zip_and_cleanup_source_figures

Zip and cleanup source figure files

zscore_pupil

Internal function to z-score pupil data

zscore

Z-score pupil time series data

Pupillometry offers a non-invasive window into the mind and has been used extensively as a psychophysiological readout of arousal signals linked with cognitive processes like attention, stress, and emotional states [Clewett et al. (2020) <doi:10.1038/s41467-020-17851-9>; Kret & Sjak-Shie (2018) <doi:10.3758/s13428-018-1075-y>; Strauch (2024) <doi:10.1016/j.tins.2024.06.002>]. Yet, despite decades of pupillometry research, many established packages and workflows to date lack design patterns based on Findability, Accessibility, Interoperability, and Reusability (FAIR) principles [see Wilkinson et al. (2016) <doi:10.1038/sdata.2016.18>]. 'eyeris' provides a modular, performant, and extensible preprocessing framework for pupillometry data with BIDS-like organization and interactive output reports [Esteban et al. (2019) <doi:10.1038/s41592-018-0235-4>; Gorgolewski et al. (2016) <doi:10.1038/sdata.2016.44>]. Development was supported, in part, by the Stanford Wu Tsai Human Performance Alliance, Stanford Ric Weiland Graduate Fellowship, Stanford Center for Mind, Brain, Computation and Technology, NIH National Institute on Aging Grants (R01-AG065255, R01-AG079345), NSF GRFP (DGE-2146755), McKnight Brain Research Foundation Clinical Translational Research Scholarship in Cognitive Aging and Age-Related Memory Loss, American Brain Foundation, and the American Academy of Neurology.

  • Maintainer: Shawn Schwartz
  • License: MIT + file LICENSE
  • Last published: 2025-10-07