Classes and functions

This section documents all public classes and functions in Experanto.

Core Classes

experanto.experiment.Experiment

High-level interface for loading and querying neuroscience experiments.

experanto.datasets.ChunkDataset

PyTorch Dataset for chunked experiment data.

Interpolators

experanto.interpolators.Interpolator

Abstract base class for time series interpolation.

experanto.interpolators.SequenceInterpolator

Interpolator for time series data.

experanto.interpolators.PhaseShiftedSequenceInterpolator

Sequence interpolator with per-signal phase shifts.

experanto.interpolators.ScreenInterpolator

Interpolator for visual stimuli (images and videos).

experanto.interpolators.TimeIntervalInterpolator

Interpolator for labeled time intervals.

experanto.interpolators.SpikeInterpolator

Interpolator for spike train data.

experanto.interpolators.ScreenTrial

Base class for visual stimulus trials.

experanto.interpolators.ImageTrial

Trial containing a single static image.

experanto.interpolators.VideoTrial

Trial containing a multi-frame video sequence.

experanto.interpolators.BlankTrial

Trial containing a blank/gray screen (inter-stimulus interval).

experanto.interpolators.InvalidTrial

Placeholder for invalid or corrupted trials.

Time Intervals

experanto.intervals.TimeInterval

A time interval represented by start and end times.

experanto.intervals.uniquefy_interval_array

Merge overlapping or adjacent intervals into non-overlapping intervals.

experanto.intervals.find_intersection_between_two_interval_arrays

Find the intersection of two interval arrays.

experanto.intervals.find_intersection_across_arrays_of_intervals

Find the common intersection across multiple interval arrays.

experanto.intervals.find_union_across_arrays_of_intervals

Find the union of multiple interval arrays.

experanto.intervals.find_complement_of_interval_array

Find gaps not covered by intervals within a range.

experanto.intervals.get_stats_for_valid_interval

Calculate statistics about valid and invalid intervals within a range.

Dataloaders

experanto.dataloaders.get_multisession_dataloader

Create a multi-session dataloader from multiple experiment paths.

experanto.dataloaders.get_multisession_concat_dataloader

Create a concatenated multi-session dataloader.

Utilities

experanto.utils.LongCycler

Cycle through multiple dataloaders until the longest is exhausted.

experanto.utils.ShortCycler

Cycle through multiple dataloaders until the shortest is exhausted.

experanto.utils.FastSessionDataLoader

Optimized multi-session dataloader with state tracking.

experanto.utils.MultiEpochsDataLoader

DataLoader that keeps workers alive across epochs.

experanto.utils.SessionConcatDataset

Memory-efficient concatenated dataset that reliably tracks sessions.

experanto.utils.SessionBatchSampler

A batch sampler that cycles through sessions, ensuring each session appears exactly once before repeating any session.

experanto.utils.SessionSpecificSampler

A batch sampler specific to a single session that efficiently generates batches from the session's indices.

experanto.utils.add_behavior_as_channels

Add behavioral data as additional channels to screen data.

Filters

experanto.filters.common_filters.nan_filter

Create a filter that excludes time regions around NaN values.