WaterCalibration
- class WaterCalibration[source]
Bases:
TaskTask class for calibrating water delivery valves.
- __init__() None[source]
Initializes the WaterCalibration task.
Methods
__init__()Initializes the WaterCalibration task.
Executes logic after a trial completes.
close()Cleanly closes the calibration task.
Appends the current trial's data to the session DataFrame.
Sets up file and directory paths for the session.
Creates the state machine for a calibration trial.
disconnect_and_save(run_mode)Stops the task, disconnects devices, and saves session data.
do_trial([send_to_cam])Executes a single trial.
get_name()Returns the name of the task class.
Retrieves and processes data from the last executed trial.
Registers standard session metadata values (task, subject, system, date).
register_value(name, value)Registers a custom value to be saved with the trial data.
run()Runs the task in the main thread until completion or forced stop.
run_in_thread([daemon])Runs the task in a separate background thread.
save_csv(run_mode)Saves the session data to CSV files.
save_json(run_mode)Saves the session settings to a JSON file.
send_softcode_to_bpod(code)Sends a softcode to the Bpod device.
start()Prepares the calibration task by defining states and output actions.
transform(df)Transforms raw session data into a wide format suitable for analysis.
- start() None[source]
Prepares the calibration task by defining states and output actions.
- create_trial() None[source]
Creates the state machine for a calibration trial.
Adds states for each valve to be calibrated and a final wait state.
- after_trial() None[source]
Executes logic after a trial completes.
- close() None[source]
Cleanly closes the calibration task.
- concatenate_trial_data() None
Appends the current trial’s data to the session DataFrame.
- create_paths() None
Sets up file and directory paths for the session.
- disconnect_and_save(run_mode: str) Tuple[Save, float, int, int, str]
Stops the task, disconnects devices, and saves session data.
- Parameters:
run_mode (str) – The mode in which the task was run (e.g., “Manual”).
- Returns:
A tuple containing the save status, session duration, number of trials, water consumed, and settings string.
- Return type:
Tuple[Save, float, int, int, str]
- do_trial(send_to_cam: bool = False) None
Executes a single trial.
Initializes the state machine, runs it, collects data, and performs post-trial updates.
- Parameters:
send_to_cam (bool, optional) – Whether to update the camera with the trial number. Defaults to False.
- classmethod get_name() str
Returns the name of the task class.
- get_trial_data() None
Retrieves and processes data from the last executed trial.
Extracts timestamps, events, and states from the Bpod session and updates self.trial_data.
- register_default_values() None
Registers standard session metadata values (task, subject, system, date).
- register_value(name: str, value: Any) None
Registers a custom value to be saved with the trial data.
- Parameters:
name (str) – The name of the value (column header).
value (Any) – The value to store.
- run() None
Runs the task in the main thread until completion or forced stop.
- run_in_thread(daemon: bool = True) None
Runs the task in a separate background thread.
- Parameters:
daemon (bool, optional) – Whether to run as a daemon thread. Defaults to True.
- save_csv(run_mode: str) Tuple[float, int, int, bool]
Saves the session data to CSV files.
Processes raw data, saves raw and clean session files, and updates the subject’s cumulative data file.
- Parameters:
run_mode (str) – The execution mode string.
- Returns:
Duration, trial count, water consumed, and success status.
- Return type:
Tuple[float, int, int, bool]
- save_json(run_mode: str) str
Saves the session settings to a JSON file.
- Parameters:
run_mode (str) – The execution mode string.
- Returns:
The JSON string containing the settings.
- Return type:
str
- send_softcode_to_bpod(code: int) None
Sends a softcode to the Bpod device.
- Parameters:
code (int) – The softcode value to send.
- transform(df: pandas.DataFrame) pandas.DataFrame
Transforms raw session data into a wide format suitable for analysis.
- Parameters:
df (pd.DataFrame) – Raw dataframe.
- Returns:
Transformed dataframe.
- Return type:
pd.DataFrame