AutoNoMouseBase

class AutoNoMouseBase(task: TaskBase | None = None)[source]

Bases: object

Base class for automated task execution without a real animal.

Can be subclassed in your project/code folder.

__init__(task: TaskBase | None = None) None[source]

Methods

Attributes

TASK_NAME: str = ''
PARAMS: list[AutonomouseParam] = []
start() None[source]
stop() None[source]
inject_positions() None[source]

Hacky: (I did not want to modify cam_box code to support this) Replaces cam_box position (x, y) lists with AutoNoMouse positions. Called when AutoNoMouse stops, just before cam_box.stop_recording(), so cam_box.save_csv() picks them up and records them.

property running: bool
property injecting: bool
stop_inject() None[source]
update_params(**kwargs) None[source]

Update param attributes on a running instance.

run_trial() None[source]

Override in subclass. Sequence of actions to perform for one trial, e.g. pokes and position updates.

inject_trial(*args, **kwargs) None[source]

Override in subclass. Append one mock trial row directly to session_df.

inject_trials(n: int, interval: float = 1.0, **kwargs) None[source]
poke(port: int, duration: float = 0.1) None[source]

Simulate a nose-poke in and out on port.

set_position(x: float, y: float) None[source]

Update the virtual animal’s position and trace.

wait(seconds: float) None[source]

Sleep for seconds, waking early if stop() is called.