navigate.controller.sub_controllers.autofocus.AutofocusPopupController
- class navigate.controller.sub_controllers.autofocus.AutofocusPopupController(view: AutofocusPopup, parent_controller: Controller)
Bases:
GUIControllerClass creates the popup to configure autofocus parameters.
- __init__(view: AutofocusPopup, parent_controller: Controller) → None
- Parameters:
view (AutofocusPopup) – The view of the autofocus popup.
parent_controller (navigate.controller.controller.Controller) – The parent controller of the autofocus popup.
Methods
__init__(view, parent_controller)- param view:
The view of the autofocus popup.
close_popup(*_)Close the popup window
Queue the latest autofocus measurements for a Tk-thread update.
display_plot(data_and_flags)Display autofocus data, handling segmentation, plot mode, and redraw.
execute(command, *args)This function is called when a command is passed from a child process.
handle_autofocus_complete(payload)Handle autofocus completion metadata for defocus calibration.
This function is called when the controller is initialized
Refresh current hardware choices and display saved autofocus settings.
Refresh advisory scan bounds feedback from current stage state.
register_event_listener(event_name, ...)Register event listener in the parent_controller
set_acquisition_state(state)Update the acquisition lifecycle state and popup actions.
set_autofocus_state(is_active)Update autofocus activity and popup actions.
Sets values of widgets based on experiment setting
Show Autofocus Parameters
show_verbose_info(*info)Prints verbose information to the console
showup()Refresh current microscope choices and show the popup window.
Start autofocus only if the selected hardware target is still current.
Stop the active acquisition through the main controller.
Refresh eligible devices and references without editing stored settings.
update_experiment_values(*args)Collects all the values of widgets
update_setting_dict(parameter)Show Autofocus Parameters
Attributes
CALIBRATION_ACTIONSCustom events for this controller
Return popup-independent defocus calibration reference state.
The autofocus setting dictionary.
The microscope name.
The autofocus setting dictionary.
The autofocus figure.
The autofocus coarse plot.
The autofocus coarse plot.
- close_popup(*_: tuple[str]) → None
Close the popup window
- Parameters:
_ (tuple[str]) – The event arguments.
- display_autofocus_progress(data) → None
Queue the latest autofocus measurements for a Tk-thread update.
- display_plot(data_and_flags: tuple[numpy.ndarray, bool, bool]) → None
Display autofocus data, handling segmentation, plot mode, and redraw.
This method unpacks and normalizes incoming data, splits it into coarse and fine segments according to the current autofocus settings, renders scatter and/or line plots on the coarse axes, optionally clears previous data, marks the detected maximum(s), and schedules a non-blocking canvas redraw.
- Parameters:
data_and_flags (tuple[np.ndarray, bool, bool]) – Tuple of
(data, line_plot, clear_data).datacontains sample rows with stage positions in column 0 and signal values in column 1.line_plotoverlays a continuous red line when true, andclear_dataclears the axes and draws peak indicators when true.- Raises:
ValueError – May be raised if
datais empty or has fewer than two columns (propagated from internal processing or from_plot_maxima).
- execute(command, *args)
This function is called when a command is passed from a child process.
- Parameters:
command (str) – command name
args (tuple) – command arguments
- handle_autofocus_complete(payload: dict) → None
Handle autofocus completion metadata for defocus calibration.
- initialize()
This function is called when the controller is initialized
This function initializes GUI based on configuration setting parameter: configuration_controller set range value for entry or spinbox widgets; add values to combobox get other necessary information for configuration.yml
- populate_experiment_values() → None
Refresh current hardware choices and display saved autofocus settings.
Inactive settings remain stored but are not offered as acquisition targets. Preserve a valid selection within the same microscope.
- refresh_bounds_validation() → list[str]
Refresh advisory scan bounds feedback from current stage state.
- Returns:
Immediately knowable bounds diagnostics.
- Return type:
list[str]
- register_event_listener(event_name, event_handler)
Register event listener in the parent_controller
- Parameters:
event_name (str) – event name
event_handler (function) – event handler
- set_acquisition_state(state: str) → None
Update the acquisition lifecycle state and popup actions.
- set_autofocus_state(is_active: bool) → None
Update autofocus activity and popup actions.
- set_experiment_values()
Sets values of widgets based on experiment setting
setting_dict is a dictionary
- show_autofocus_setting(*_: tuple[str]) → None
Show Autofocus Parameters
- Parameters:
_ (tuple[str]) – The event arguments.
- show_verbose_info(*info)
Prints verbose information to the console
- Parameters:
info (tuple) – information to be printed
- showup() → None
Refresh current microscope choices and show the popup window.
- start_autofocus() → None
Start autofocus only if the selected hardware target is still current.
Unavailable targets produce a user-facing error before any acquisition state or calibration values are changed.
- stop_acquisition() → None
Stop the active acquisition through the main controller.
- update_device_ref(*_: tuple[str]) → None
Refresh eligible devices and references without editing stored settings.
- Parameters:
_ (tuple[str]) – The event arguments.
- update_experiment_values(*args)
Collects all the values of widgets
setting_dict is a reference of experiment dictionary update the dictionary directly
- update_setting_dict(parameter: str) → callable
Show Autofocus Parameters
- Parameters:
parameter (str) – The parameter to be updated.
- Returns:
The function to update the parameter
- Return type:
callable
- autofocus_coarse
The autofocus coarse plot.
- Type:
object
- autofocus_fig
The autofocus figure.
- Type:
object
- coarse_plot
The autofocus coarse plot.
- Type:
object
- property custom_events: dict[str, callable]
Custom events for this controller
- Returns:
The custom events for this controller.
- Return type:
dict[str, callable]
- property defocus_calibration_reference: Optional[dict]
Return popup-independent defocus calibration reference state.
- microscope_name
The microscope name.
- Type:
str
- parent_controller
parent controller
- Type:
- setting_dict
The autofocus setting dictionary.
- Type:
dict
- view
GUI view
- Type:
tkinter.Tk
- widgets
The autofocus setting dictionary.
- Type:
dict