navigate.controller.sub_controllers.tiling.TilingWizardController
- class navigate.controller.sub_controllers.tiling.TilingWizardController(view, parent_controller)
Bases:
GUIController
Tiling Wizard Controller
Controller for tiling wizard parameters. Gathers the FOV from the camera settings tab and will update when user changes this value. Set start/end position buttons will grab the stage values for the respective axis when pressed and display in popup Number of images we need to acquire with our desired percent overlap is calculated and then displayed in third column
- __init__(view, parent_controller)
Initialize Tiling Wizard Controller
- Parameters:
view (object) – GUI element containing widgets and variables to control. Likely tk.Toplevel-derived. In this case tiling_wizard_popup.py
parent_controller (channels_tab_controller) – The controller that creates the popup/this controller.
Methods
__init__
(view, parent_controller)Initialize Tiling Wizard Controller
calculate_distance
(axis)Calculate the distance for a given axis
calculate_tiles
([axis])Calculate the number of tiles for a given axis
close_window
(*args)Save multiposition information and close the tiling wizard popup
execute
(command, *args)This function is called when a command is passed from a child process.
This function is called when the controller is initialized
Load positions from yaml file
position_handler
(axis, start_end)Set the start or end position for a given axis
register_event_listener
(event_name, ...)Register event listener in the parent_controller
Sets values of widgets based on experiment setting
Set the multipoint table to the values in the tiling wizard
show_verbose_info
(*info)Prints verbose information to the console
showup
()Show the tiling wizard
Collects all the values of widgets
update_fov
([axis])Update the FOV for the tiling wizard
Update the overlay percentage for the tiling wizard
Update the total number of tiles in the tiling wizard
Attributes
Custom events for the controller
Dictionary of widgets in the view
Dictionary of buttons in the view
Dictionary of variables in the view
flags indicating if all the value are correct to set the table
- calculate_distance(axis)
Calculate the distance for a given axis
This function will calculate the distance for a given axis of the stage when the start or end position is changed via the Set buttons
- Parameters:
axis (str) – x, y, z axis of stage to calculate
- calculate_tiles(axis=None)
Calculate the number of tiles for a given axis
Calculates the number of tiles of the acquisition for each axis or an individual axis Num of Tiles = dist - (overlay * FOV) / FOV * (1 - overlay) (D-OF)/(F-OF) = N
- Parameters:
axis (str) – x, y, z, f axis of stage to calculate.
- close_window(*args) → None
Save multiposition information and close the tiling wizard popup
Save multiposition information to yaml file, and close tiling wizard.
- 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
- 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
- load_settings()
Load positions from yaml file
- position_handler(axis, start_end)
Set the start or end position for a given axis
When the Set [axis] Start/End button is pressed then the stage position is polled from the stage controller
- Parameters:
axis (str) – x, y, z, f axis that corresponds to stage axis
start_end (str) – start or end will signify which spinbox gets updated upon button press
- Returns:
handler – Function for setting positional spinbox based on parameters passed in
- Return type:
func
- 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_table()
Set the multipoint table to the values in the tiling wizard
Sets multiposition table with values from tiling wizard after populate Multiposition Table button is pressed Compute grid will return a list of all position combinations. This list is then converted to a pandas dataframe which is then set as the new table data. The table is then redrawn.
- show_verbose_info(*info)
Prints verbose information to the console
- Parameters:
info (tuple) – information to be printed
- showup()
Show the tiling wizard
Brings popup window to front of screen
- update_experiment_values()
Collects all the values of widgets
setting_dict is a reference of experiment dictionary update the dictionary directly
- update_fov(axis=None)
Update the FOV for the tiling wizard
Grabs the updated FOV if changed by user, will recalculate num of tiles for each axis after
- Parameters:
axis (str) – Axis
- update_overlap()
Update the overlay percentage for the tiling wizard
Updates percent overlay when a user changes the widget in the popup. This value is used for backend calculations. The number of tiles will then be recalculated
- update_total_tiles()
Update the total number of tiles in the tiling wizard
Sums the tiles for each axis in the tiling wizard. Will update when any axis has a tile amount change.
- buttons
Dictionary of buttons in the view
- Type:
dict
- property custom_events
Custom events for the controller
- is_validated
flags indicating if all the value are correct to set the table
- Type:
dict
- parent_controller
parent controller
- Type:
- variables
Dictionary of variables in the view
- Type:
dict
- view
GUI view
- Type:
tkinter.Tk
- widgets
Dictionary of widgets in the view
- Type:
dict