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
  • Acquiring Data
  • Currently Implemented Features
  • navigate.model.features.common_features
  • navigate.model.features.common_features.WaitToContinue
  • View page source

navigate.model.features.common_features.WaitToContinue

class navigate.model.features.common_features.WaitToContinue(model)

Bases: object

WaitToContinue class for synchronizing signal and data acquisition.

This feature is used to synchronize signal and data acquisition processes, allowing the faster one to wait until the other one ends.

Notes:

  • This class is used to synchronize signal and data acquisition processes in a

controlled manner. It ensures that the faster process waits for the slower one to complete, improving synchronization during microscopy experiments.

  • The synchronization process involves using locks to control when the signal and

data acquisition processes are allowed to proceed.

  • The config_table attribute defines the configuration for each stage of the

synchronization process, including initialization, main execution, and cleanup steps.

  • The first_enter_node attribute tracks which process (signal or data) enters the

node first to determine synchronization order.

  • The WaitToContinue class helps maintain order and synchronization between signal

and data acquisition nodes in microscopy experiments.

__init__(model)

Initialize the WaitToContinue class.

Parameters:

modelMicroscopeModel

The microscope model object used for synchronization.

Methods

__init__(model)

Initialize the WaitToContinue class.

cleanup()

Release any remaining locks during cleanup.

data_func(frame_ids)

Synchronize data acquisition and release locks.

pre_data_func()

Prepare for the data acquisition stage and synchronize with signal acquisition.

pre_signal_func()

Prepare for the signal acquisition stage and synchronize with data acquisition.

signal_func()

Synchronize signal acquisition and release locks.

Attributes

model

The microscope model associated with the synchronization.

pause_signal_lock

A lock for the signal acquisition process.

pause_data_lock

A lock for the data acquisition process.

first_enter_node

A variable to track which process enters the node first.

config_table

A dictionary defining the configuration for the synchronization

cleanup()

Release any remaining locks during cleanup.

This method releases any locks that may still be held during cleanup.

data_func(frame_ids)

Synchronize data acquisition and release locks.

This method synchronizes the data acquisition process with signal acquisition and releases any locks held.

Parameters:

frame_idslist

A list of frame IDs for which data acquisition should be performed.

Returns:

bool

A boolean value indicating the success of the synchronization process.

pre_data_func()

Prepare for the data acquisition stage and synchronize with signal acquisition.

This method prepares for the data acquisition stage and synchronizes with the signal acquisition process, ensuring that the slower process proceeds first.

pre_signal_func()

Prepare for the signal acquisition stage and synchronize with data acquisition.

This method prepares for the signal acquisition stage and synchronizes with the data acquisition process, ensuring that the slower process proceeds first.

signal_func()

Synchronize signal acquisition and release locks.

This method synchronizes the signal acquisition process with data acquisition and releases any locks held.

Returns:

bool

A boolean value indicating the success of the synchronization process.

config_table

A dictionary defining the configuration for the synchronization

Type:

dict

first_enter_node

A variable to track which process enters the node first.

Type:

VariableWithLock

model

The microscope model associated with the synchronization.

Type:

MicroscopeModel

pause_data_lock

A lock for the data acquisition process.

Type:

Lock

pause_signal_lock

A lock for the signal acquisition process.

Type:

Lock

Previous Next

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