sources#
Explicit registry of datakit data sources.
- class mesofield.datakit.sources.MesoMetadataSource[source]#
Bases:
MetadataJSONLoad mesoscope camera metadata JSON files as a table.
- class mesofield.datakit.sources.PupilMetadataSource[source]#
Bases:
MetadataJSONLoad pupil camera metadata JSON files as a table.
- class mesofield.datakit.sources.Suite2pV2[source]#
Bases:
TimeseriesSourceLoad Suite2p outputs using nidaq pulse alignment.
- 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 yieldsNoneindependencies[tag]; sources are responsible for either degrading gracefully or raising.
- build_timeseries(path, *, context=None)[source]#
Load Suite2p outputs and return timeline, payload, and metadata.
- Parameters:
path (Path)
context (LoadContext | None)
- Return type:
- class mesofield.datakit.sources.TreadmillSource[source]#
Bases:
TimeseriesSourceLoad treadmill samples aligned to the experiment window.
- 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 yieldsNoneindependencies[tag]; sources are responsible for either degrading gracefully or raising.
- class mesofield.datakit.sources.DataqueueSource[source]#
Bases:
TimeseriesSourceLoad the dataqueue CSV as a time-indexed table.
- class mesofield.datakit.sources.WheelEncoder[source]#
Bases:
TimeseriesSourceLoad 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 yieldsNoneindependencies[tag]; sources are responsible for either degrading gracefully or raising.
- class mesofield.datakit.sources.Psychopy[source]#
Bases:
IntervalSeriesSourceLoad Psychopy trial windows as an interval table.
- 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 yieldsNoneindependencies[tag]; sources are responsible for either degrading gracefully or raising.
- class mesofield.datakit.sources.MousePortalSource[source]#
Bases:
TimeseriesSourceLoad MousePortal corridor frames aligned to the experiment window.
- 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 yieldsNoneindependencies[tag]; sources are responsible for either degrading gracefully or raising.
- class mesofield.datakit.sources.MousePortalTrials[source]#
Bases:
IntervalSeriesSourcePer-trial intervals from the MousePortal log, on the camera clock.
Collapses the per-frame
state == "TRIAL_RUNNING"runs into one row per(block, trial)withstart_s/stop_salready aligned to the master (camera) timeline viaMousePortalSource. This makes event-triggered analyses trivial: each row’sstart_sis a trial onset on the same clock as the widefield/pupil frames, so a peri-event window is a direct time slice (seemesofield.datakit.epoch.event_triggered_average).Emits the inter-trial intervals too (
phasecolumn:trial|iti) so stops/ITIs are available as events as well.- 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 yieldsNoneindependencies[tag]; sources are responsible for either degrading gracefully or raising.
- class mesofield.datakit.sources.MesoMeanSource[source]#
Bases:
TimeseriesSourceLoad mean fluorescence CSV.
The CSV is expected to contain at least
SliceandMeancolumns.
- class mesofield.datakit.sources.MesoDFFSource[source]#
Bases:
TimeseriesSourceLoad DFF fluorescence CSV.
The CSV is expected to contain at least
SliceandMeancolumns.
- class mesofield.datakit.sources.MesoMapSource[source]#
Bases:
TimeseriesSourceLoad mesomap traces and attach optional mask/region metadata.
- 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 yieldsNoneindependencies[tag]; sources are responsible for either degrading gracefully or raising.
- class mesofield.datakit.sources.PupilDLCSource[source]#
Bases:
TimeseriesSourceLoad DeepLabCut HDF5 output and compute pupil diameters.
- requires: ClassVar[Tuple[str, ...]] = ('dataqueue', 'pupil_metadata')#
Tag names of upstream sources whose loaded streams should be made available via
LoadContext.dependencies. Soft contract: a missing or failed dependency yieldsNoneindependencies[tag]; sources are responsible for either degrading gracefully or raising.
- class mesofield.datakit.sources.SessionConfigSource[source]#
Bases:
TableSourceLoad configuration CSVs and surface subject/session attributes.
- class mesofield.datakit.sources.SessionNotesSource[source]#
Bases:
TimeseriesSourceLoad timestamped notes recorded by the experimenter.
- class mesofield.datakit.sources.SessionTimestampsSource[source]#
Bases:
IntervalSeriesSourceLoad per-device start/stop timestamps as intervals.
- mesofield.datakit.sources.get_source_class(tag)[source]#
Return the source class for a tag.
- Parameters:
tag (str)
- Return type: