navigate Logo

Getting Started

  • Quick Start Guide
  • Software Installation
  • I Want To…

User Guide

  • Supported Hardware
  • Supported File Formats
  • User Interface Walkthrough
  • Setting Up A Microscope
  • Acquiring Data
  • Case Studies

Development

  • Contributing Guidelines
  • Developer Install
  • Software Architecture
  • Feature Container
  • REST-API
  • Plugin Architecture

Troubleshooting & Known Issues

  • Troubleshooting
  • Known Issues

Plugins

  • navigate Plugin Template
  • navigate Confocal Projection
  • navigate at Scale
  • navigate Constant Velocity Acquisition
  • navigate MMCore
  • navigate ilastik Server
  • navigate Photoactivation

Reference

  • Implemented Microscopes
  • Software API
navigate
  • navigate.controller.sub_controllers.channels_tab.ChannelsTabController
  • View page source

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_multiposition_btn()

Disable multi-position button

enable_multiposition_btn()

Enable multi-position button

execute(command, *args)

Execute Command in the parent controller.

initialize()

Initializes widgets and gets other necessary configuration.

launch_autofocus_settings()

Launches autofocus settings popup.

launch_tiling_wizard()

Launches tiling wizard popup.

launch_waveform_parameters()

Launches waveform parameters popup.

populate_experiment_values()

Distribute initial MicroscopeState values to this and sub-controllers and associated views.

register_event_listener(event_name, ...)

Register event listener in the parent_controller

set_experiment_values()

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_multiposition(*_)

Toggle Multi-position Acquisition.

update_cycling_setting(*_)

Update the cycling settings in the model and the GUI.

update_end_position(*_)

Get new z ending position from current stage parameters

update_experiment_values()

Update experiment values

update_save_setting(*_)

Tell the parent controller 'save_data' is selected.

update_start_position(*_)

Get new z starting position from current stage parameters.

update_timepoint_setting()

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_experiment_values()

Verify channel tab settings and return warning info

Attributes

custom_events

Custom events for the channels tab.

is_save

Whether the user has selected to save the data.

mode

The current acquisition mode.

in_initialization

Whether the controller is in the initialization phase.

stack_acq_widgets

The widgets in the stack acquisition settings frame.

stack_acq_vals

The values in the stack acquisition settings frame.

stack_acq_buttons

The buttons in the stack acquisition settings frame.

z_origin

The z origin of the stack.

focus_origin

The focus origin of the stack.

filter_wheel_delay

The filter wheel delay.

microscope_state_dict

The microscope state dictionary.

timepoint_vals

Dictionary of time point settings.

is_multiposition

Whether the user has selected to use multi-position.

is_multiposition_cache

cache multi-position flag

is_multiposition_val

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:

Controller

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


© Copyright 2025, Dean Lab, UT Southwestern Medical Center.