navigate.controller.sub_controllers.channels_tab.ChannelsTabController
- class navigate.controller.sub_controllers.channels_tab.ChannelsTabController(view: ChannelsTab, parent_controller: Optional[Controller])
Bases:
GUIController
Controller for the channels tab in the main window.
- __init__(view: ChannelsTab, parent_controller: Optional[Controller]) → None
Initialize the ChannelsTabController.
- Parameters:
view (ChannelsTab) – The ChannelsTab Window.
parent_controller (navigate.controller.controller.Controller) – The parent controller of this controller.
Methods
__init__
(view, parent_controller)Initialize the ChannelsTabController.
Disable multi-position button
Enable multi-position button
execute
(command, *args)Execute Command in the parent controller.
Initializes widgets and gets other necessary configuration.
Launches autofocus settings popup.
Launches tiling wizard popup.
Launches waveform parameters popup.
Distribute initial MicroscopeState values to this and sub-controllers and associated views.
register_event_listener
(event_name, ...)Register event listener in the parent_controller
Sets values of widgets based on experiment setting
set_exposure_time
(channel_exposure_time)Set exposure time for a specified channel
set_info
(vals, values)Set values to a list of variables.
set_mode
(mode)Change acquisition mode.
set_spinbox_range_limits
(settings)Sets range limits for various spinbox widgets based on the provided settings.
show_verbose_info
(*info)Prints verbose information to the console
Toggle Multi-position Acquisition.
Update the cycling settings in the model and the GUI.
Get new z ending position from current stage parameters
Update experiment values
Tell the parent controller 'save_data' is selected.
Get new z starting position from current stage parameters.
Automatically calculates the stack acquisition time based on the number of time points, channels, and exposure time.
update_z_steps
(*_)Recalculates the number of slices that will be acquired in a z-stack.
Verify channel tab settings and return warning info
Attributes
Custom events for the channels tab.
Whether the user has selected to save the data.
The current acquisition mode.
Whether the controller is in the initialization phase.
The widgets in the stack acquisition settings frame.
The values in the stack acquisition settings frame.
The buttons in the stack acquisition settings frame.
The z origin of the stack.
The focus origin of the stack.
The filter wheel delay.
The microscope state dictionary.
Dictionary of time point settings.
Whether the user has selected to use multi-position.
cache multi-position flag
Whether the user has selected to use multi-position.
- disable_multiposition_btn() → None
Disable multi-position button
- enable_multiposition_btn() → None
Enable multi-position button
- execute(command: str, *args: tuple[str]) → None
Execute Command in the parent controller.
- Parameters:
command (str) – recalculate_timepoint, channel, move_stage_and_update_info, get_stage_position
args (tuple[str]) – A tuple of arguments to pass to the command.
- initialize() → None
Initializes widgets and gets other necessary configuration.
The initialize method in the ChannelsTabController class is responsible for setting up the initial configuration and state of the channels tab in the main window.
- launch_autofocus_settings() → None
Launches autofocus settings popup.
- launch_tiling_wizard() → None
Launches tiling wizard popup.
Will only launch when button in GUI is pressed, and will not duplicate. Pressing button again brings popup to top
- launch_waveform_parameters() → None
Launches waveform parameters popup.
- populate_experiment_values() → None
Distribute initial MicroscopeState values to this and sub-controllers and associated views.
The populate_experiment_values method in the ChannelsTabController class is responsible for distributing initial MicroscopeState values to this and sub-controllers and associated views. It sets the initial values for various settings, validates the configuration for multi-position settings, and updates the GUI accordingly.
- 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_experiment_values()
Sets values of widgets based on experiment setting
setting_dict is a dictionary
- set_exposure_time(channel_exposure_time: tuple[str, float]) → None
Set exposure time for a specified channel
- Parameters:
channel_exposure_time (tuple(str, float)) – (channel_name, exposure_time) Channel name, such as “channel_1”, “channel_2”,… Exposure time in milliseconds.
- static set_info(vals: Dict[str, Any], values: Dict[str, Any]) → None
Set values to a list of variables.
- Parameters:
vals (Dict[str, Any]) – A dictionary of variables to set.
values (Dict[str, Any]) – A dictionary of values to set to variables.
- set_mode(mode: str) → None
Change acquisition mode.
The set_mode method changes the acquisition mode and updates the state of various widgets accordingly
- Parameters:
mode (str) – acquisition mode
- set_spinbox_range_limits(settings: Dict[str, Any]) → None
Sets range limits for various spinbox widgets based on the provided settings.
This method configures the minimum, maximum, and increment values for the spinbox widgets in the stack acquisition settings frame and the time point settings frame based on the provided configuration settings.
- Parameters:
settings (Dict[str, Any]) – dictionary of settings from configuration file
- show_verbose_info(*info)
Prints verbose information to the console
- Parameters:
info (tuple) – information to be printed
- toggle_multiposition(*_: tuple[str]) → None
Toggle Multi-position Acquisition.
Recalculates the experiment duration.
- Parameters:
_ (tuple[str]) – Values is a tuple of strings. e.g., (‘PY_VAR0’, ‘’, ‘write’)
- update_cycling_setting(*_: tuple[str]) → None
Update the cycling settings in the model and the GUI.
You can collect different channels in different formats. In the perZ format: Slice 0/Ch0, Slice0/Ch1, Slice1/Ch0, Slice1/Ch1, etc. in the perStack format: Slice 0/Ch0, Slice1/Ch0… SliceN/Ch0. Then it repeats with Ch1
- Parameters:
_ (tuple[str]) – Values is a tuple of strings. e.g., (‘PY_VAR0’, ‘’, ‘write’)
- update_end_position(*_: tuple[str]) → None
Get new z ending position from current stage parameters
- Parameters:
_ (tuple[str]) – Values is a tuple of strings. e.g., (‘PY_VAR0’, ‘’, ‘write’)
- update_experiment_values() → None
Update experiment values
- update_save_setting(*_: tuple[str]) → None
Tell the parent controller ‘save_data’ is selected.
Does not do any calculation when initializing the software.
- Parameters:
_ (tuple[str]) – Values is a tuple of strings. e.g., (‘PY_VAR0’, ‘’, ‘write’)
- update_start_position(*_: tuple[str]) → None
Get new z starting position from current stage parameters.
- Parameters:
_ (tuple[str]) – Values is a tuple of strings. e.g., (‘PY_VAR0’, ‘’, ‘write’)
- update_timepoint_setting() → None
Automatically calculates the stack acquisition time based on the number of time points, channels, and exposure time.
TODO: Add necessary computation for ‘Stack Acq.Time’, ‘Time point Interval’, ‘Experiment Duration’?
Does not do any calculation when initializing the software. Order of priority for per_stack: timepoints > positions > channels > z-steps
> delay
Order of priority for perZ: timepoints > positions > z-steps > delays > channels
- update_z_steps(*_: tuple[str]) → None
Recalculates the number of slices that will be acquired in a z-stack.
Requires GUI to have start position, end position, or step size changed. Sets the number of slices in the model and the GUI. Sends the current values to central/parent controller
- Parameters:
_ (tuple[str]) – Values is a tuple of strings. e.g., (‘PY_VAR0’, ‘’, ‘write’)
- verify_experiment_values() → str
Verify channel tab settings and return warning info
- Returns:
string – Warning info
- Return type:
str
- property custom_events: dict[str, callable]
Custom events for the channels tab.
- filter_wheel_delay
The filter wheel delay.
- Type:
float
- focus_origin
The focus origin of the stack.
- Type:
float
- in_initialization
Whether the controller is in the initialization phase.
- Type:
bool
- is_multiposition
Whether the user has selected to use multi-position.
- Type:
bool
- is_multiposition_cache
cache multi-position flag
- Type:
bool
- is_multiposition_val
Whether the user has selected to use multi-position.
- Type:
bool
- is_save
Whether the user has selected to save the data.
- Type:
bool
- microscope_state_dict
The microscope state dictionary.
- Type:
dict
- mode
The current acquisition mode.
- Type:
str
- parent_controller
parent controller
- Type:
- stack_acq_buttons
The buttons in the stack acquisition settings frame.
- Type:
dict
- stack_acq_vals
The values in the stack acquisition settings frame.
- Type:
dict
- stack_acq_widgets
The widgets in the stack acquisition settings frame.
- Type:
dict
- timepoint_vals
Dictionary of time point settings.
- Type:
dict
- view
GUI view
- Type:
tkinter.Tk
- z_origin
The z origin of the stack.
- Type:
float