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.controller.configurator
    • 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.devices.MonitoredSerial
        • navigate.model.devices.camera
        • navigate.model.devices.daq
        • navigate.model.devices.device_types
        • navigate.model.devices.filter_wheel
        • navigate.model.devices.galvo
        • navigate.model.devices.laser
        • navigate.model.devices.mirror
        • navigate.model.devices.objectives
        • navigate.model.devices.pump
        • navigate.model.devices.remote_focus
        • navigate.model.devices.shutter
        • navigate.model.devices.stage
        • navigate.model.devices.zoom
      • navigate.model.features
      • 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.devices
  • navigate.model.devices.daq
  • navigate.model.devices.daq.base
  • navigate.model.devices.daq.base.DAQBase
  • View page source

navigate.model.devices.daq.base.DAQBase

class navigate.model.devices.daq.base.DAQBase(configuration: dict[str, Any])

Bases: ABC

Abstract base class for Data Acquisition (DAQ) devices.

This class provides the interface and common functionality for controlling data acquisition hardware with navigate. It handles waveform generation based on configuration parameters, exposure times, and sweep times for different imaging channels.

__init__(configuration: dict[str, Any]) → None

Initializes the DAQBase class.

Parameters:

configuration (Dict[str, Any]) – Dictionary of configuration parameters

Methods

__init__(configuration)

Initializes the DAQBase class.

calculate_all_waveforms(microscope_name, ...)

Pre-calculates all waveforms necessary for the acquisition and organizes in a dictionary format.

enable_microscope(microscope_name)

Enables the microscope.

prepare_acquisition(channel_key)

Prepare the acquisition.

run_acquisition([wait_until_done])

Run acquisition.

set_external_trigger([external_trigger])

Set the external trigger.

stop_acquisition()

Stops the acquisition.

update_analog_task(board_name)

Update the analog task.

wait_acquisition_done()

Wait acquisition tasks done

Attributes

configuration

Dictionary of configuration parameters

waveform_constants

Dictionary of waveform constants

microscope_name

Name of the active microscope

daq_parameters

Dictionary of DAQ parameters

sample_rate

Sample rate of the DAQ

sweep_times

Sweep times for different channels

exposure_times

exposure times for different channels

camera_delay

Camera delay percentage

waveform_dict

Dictionary of waveforms.

waveform_repeat_num

Number of times to repeat the waveform

waveform_expand_num

Number of times to expand the waveform

trigger_mode

Trigger mode.

calculate_all_waveforms(microscope_name, exposure_times, sweep_times)

Pre-calculates all waveforms necessary for the acquisition and organizes in a dictionary format.

Parameters:
  • microscope_name (str) – Name of the active microscope

  • exposure_times (dict) – Dictionary of exposure times for each selected channel

  • sweep_times (dict) – Dictionary of sweep times for each selected channel

Returns:

self.waveform_dict – Dictionary of waveforms to pass to galvo and ETL, plus a camera waveform for display purposes.

Return type:

dict

enable_microscope(microscope_name: str) → None

Enables the microscope.

Parameters:

microscope_name (str) – Name of the active microscope

abstract prepare_acquisition(channel_key: str) → None

Prepare the acquisition.

This abstract method must be implemented by all subclasses.

Parameters:

channel_key (str) – Channel key for current channel.

abstract run_acquisition(wait_until_done: bool = True) → None

Run acquisition.

This abstract method must be implemented by all subclasses.

Parameters:

wait_until_done (bool, optional) – Whether to wait until the acquisition is done, by default True

set_external_trigger(external_trigger: Optional[str] = None) → None

Set the external trigger.

Parameters:

external_trigger (str, optional) – Name of external trigger.

abstract stop_acquisition() → None

Stops the acquisition.

This abstract method must be implemented by all subclasses.

update_analog_task(board_name: str) → None

Update the analog task.

This abstract method must be implemented by all subclasses.

Parameters:

board_name (str) – Name of board.

abstract wait_acquisition_done() → None

Wait acquisition tasks done

This abstract method must be implemented by all subclasses.

camera_delay

Camera delay percentage

Type:

float

configuration

Dictionary of configuration parameters

Type:

dict

daq_parameters

Dictionary of DAQ parameters

Type:

dict

exposure_times

exposure times for different channels

Type:

dict

microscope_name

Name of the active microscope

Type:

str

sample_rate

Sample rate of the DAQ

Type:

float

sweep_times

Sweep times for different channels

Type:

dict

trigger_mode

Trigger mode. Self-trigger or external-trigger.

Type:

str

waveform_constants

Dictionary of waveform constants

Type:

dict

waveform_dict

Dictionary of waveforms.

Type:

dict

waveform_expand_num

Number of times to expand the waveform

Type:

int

waveform_repeat_num

Number of times to repeat the waveform

Type:

int

Previous Next

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