wheel#

Wheel encoder behavioral data source with dda synchronized timeline.

class mesofield.datakit.sources.behavior.wheel.WheelEncoder[source]#

Bases: TimeseriesSource

Load wheel encoder streams recorded alongside nidaq pulses.

The raw CSV emitted by the behavioral rig contains incremental click counts, elapsed time in seconds, and instantaneous speed estimates. The loader converts this information into a strictly increasing timeline anchored to acquisition start, computes cumulative distance, and exposes rich metadata for downstream alignment against the nidaq-driven master clock.

requires: ClassVar[Tuple[str, ...]] = ('dataqueue',)#

Tag names of upstream sources whose loaded streams should be made available via LoadContext.dependencies. Soft contract: a missing or failed dependency yields None in dependencies[tag]; sources are responsible for either degrading gracefully or raising.

build_timeseries(path, *, context=None)[source]#

Return (timeline, value, meta).

Parameters:
Return type:

tuple[ndarray, DataFrame, dict]