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.LoopByCount
  • View page source

navigate.model.features.common_features.LoopByCount

class navigate.model.features.common_features.LoopByCount(model, steps=1, step_by_frame=False, is_nested=False)

Bases: object

LoopByCount class for controlling signal and data acquisition loops.

This class provides functionality to control signal and data acquisition loops by specifying the number of steps or frames to execute.

Notes:

  • This class is used to control signal and data acquisition loops by specifying the

number of steps or frames to execute. It allows for flexible control of the acquisition process.

  • The steps parameter can be an integer specifying the number of steps/frames

directly or a string representing a configuration reference to determine the loop count dynamically.

  • The loop control process involves tracking the remaining steps/frames and deciding

whether to continue the loop or exit based on the remaining count.

  • The LoopByCount class is useful for controlling the number of acquisitions

during microscopy experiments, either by specifying a fixed count or by dynamically determining it from configuration references.

__init__(model, steps=1, step_by_frame=False, is_nested=False)

Initialize the LoopByCount class.

Parameters:

modelMicroscopeModel

The microscope model object used for loop control.

stepsint or str, optional

The number of steps or a configuration reference to determine the loop count. Default is 1.

step_by_framebool

Count by number of frames received/ the number of entering this node.

is_nestedbool

The flag indicates whether the loop is nested within another loop.

Methods

__init__(model[, steps, step_by_frame, ...])

Initialize the LoopByCount class.

data_func(frame_ids)

Control the data acquisition loop and update the remaining frames or steps.

get_steps()

Get number of steps

pre_func()

Initialize loop parameters

signal_func()

Control the signal acquisition loop and update the remaining steps.

synchronize(thread_name)

Synchronize signal and data function

Attributes

model

The microscope model associated with the loop control.

step_by_frame

A boolean value indicating whether to step by frame or by step.

steps

The remaining number of steps or frames.

is_nested

Flags indicate if nested loops

signals

The remaining number of steps.

data_frames

The remaining number of frames.

initialized

Initialization flag

end_count

signal/data end num

config_table

A dictionary defining the configuration for the loop control process.

data_func(frame_ids)

Control the data acquisition loop and update the remaining frames or steps.

This method controls the data acquisition loop by decrementing the remaining frames or steps. It determines whether to continue the loop or exit based on the remaining count.

Parameters:

frame_idslist

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

Returns:

bool

A boolean value indicating whether to continue the loop.

get_steps()

Get number of steps

Returns:

int

Number of steps.

pre_func()

Initialize loop parameters

signal_func()

Control the signal acquisition loop and update the remaining steps.

This method controls the signal acquisition loop by decrementing the remaining steps. It determines whether to continue the loop or exit based on the remaining count.

Returns:

bool

A boolean value indicating whether to continue the loop.

synchronize(thread_name)

Synchronize signal and data function

Parameters:

thread_namebool

Signal or Data

config_table

A dictionary defining the configuration for the loop control process.

Type:

dict

data_frames

The remaining number of frames.

Type:

int

end_count

signal/data end num

Type:

int

initialized

Initialization flag

Type:

bool

is_nested

Flags indicate if nested loops

Type:

bool

model

The microscope model associated with the loop control.

Type:

MicroscopeModel

signals

The remaining number of steps.

Type:

int

step_by_frame

A boolean value indicating whether to step by frame or by step.

Type:

bool

steps

The remaining number of steps or frames.

Type:

int

Previous Next

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