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.config
    • navigate.controller
    • navigate.log_files
    • navigate.model
      • navigate.model.analysis
      • navigate.model.concurrency
      • navigate.model.data_sources
      • navigate.model.device_startup_functions
      • navigate.model.devices
      • navigate.model.features
        • navigate.model.features.adaptive_optics
        • navigate.model.features.auto_tile_scan
        • navigate.model.features.autofocus
        • navigate.model.features.common_features
        • navigate.model.features.feature_container
        • navigate.model.features.feature_related_functions
        • navigate.model.features.image_writer
        • navigate.model.features.remove_empty_tiles
        • navigate.model.features.restful_features
        • navigate.model.features.update_setting
        • navigate.model.features.volume_search
      • navigate.model.metadata_sources
      • navigate.model.microscope
      • navigate.model.model
      • navigate.model.plugins_model
      • navigate.model.waveforms
    • navigate.tools
    • navigate.view
navigate
  • Software API
  • navigate.model
  • navigate.model.features
  • navigate.model.features.feature_container
  • navigate.model.features.feature_container.SignalContainer
  • View page source

navigate.model.features.feature_container.SignalContainer

class navigate.model.features.feature_container.SignalContainer(root=None, cleanup_list=[], number_of_execution=1)

Bases: Container

SignalContainer class for managing signal-based control sequences.

This class is a specialized container for managing control sequences that consist of signal-based nodes. It extends the functionality of the base Container class and provides methods for running signal-based control sequences.

Notes:

  • The SignalContainer class is designed for managing control sequences that are signal-based, typically used in applications involving devices and sensors.

  • It extends the functionality of the base Container class and provides methods for running signal-based control sequences.

  • The number_of_execution parameter specifies how many times the control sequence should be executed. The remaining_number_of_execution attribute keeps track of the remaining executions.

__init__(root=None, cleanup_list=[], number_of_execution=1)

Initialize the SignalContainer object.

Parameters:

rootTreeNode or None, optional

The root node of the control sequence tree. Default is None.

cleanup_listlist of TreeNode, optional

A list of nodes containing ‘cleanup’ functions to be executed when the container is closed. Default is an empty list.

number_of_executionint, optional

The number of times the control sequence should be executed. Default is 1.

Methods

__init__([root, cleanup_list, ...])

Initialize the SignalContainer object.

cleanup()

Execute 'cleanup' functions for specified nodes in the tree.

reset()

Reset the container's state, including the current node and end flag.

run(*args[, wait_response])

Run the signal-based control sequence.

Attributes

number_of_execution

The total number of times the control sequence should be executed.

remaining_number_of_execution

The remaining number of executions of the control sequence.

cleanup()

Execute ‘cleanup’ functions for specified nodes in the tree.

This method executes the ‘cleanup’ functions associated with nodes in the cleanup_list. These functions are typically used to perform resource cleanup or finalization when the container is closed. The ‘cleanup_list’ specifies which nodes should have their ‘cleanup’ functions executed.

reset()

Reset the container’s state, including the current node and end flag.

This method resets the state of the container, including setting the current node to None, clearing the end flag, and resetting the remaining number of executions. It prepares the container for running the control sequence from the beginning.

run(*args, wait_response=False)

Run the signal-based control sequence.

This method runs the signal-based control sequence by iterating through its nodes and executing them in order. It manages the execution of nodes and handles transitions between nodes based on their logic.

Parameters:

*argsarguments

Optional arguments to pass to the control sequence nodes.

wait_responsebool, optional

A flag indicating whether to wait for responses during execution. Default is False.

Notes:

  • The run method is responsible for executing the control sequence nodes in the order defined by the control sequence tree.

  • It handles transitions between nodes, waits for responses if necessary, and tracks the remaining executions of the control sequence.

curr_node

The currently running node in the control sequence.

Type:

TreeNode or None

end_flag

A flag indicating whether the control sequence execution should stop.

Type:

bool

is_closed

A boolean indicating whether the container is closed.

Type:

bool

number_of_execution

The total number of times the control sequence should be executed.

Type:

int

remaining_number_of_execution

The remaining number of executions of the control sequence.

Type:

int

root

The root node of the control sequence tree.

Type:

TreeNode or None

Previous Next

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