navigate.model.devices.daq.synthetic.SyntheticDAQ
- class navigate.model.devices.daq.synthetic.SyntheticDAQ(configuration: Dict[str, Any])
Bases:
DAQBase
SyntheticDAQ class for Data Acquisition (DAQ).
- __init__(configuration: Dict[str, Any]) → None
Initialize the Synthetic DAQ.
- Parameters:
configuration (Dict[str, Any]) – Configuration dictionary.
Methods
__init__
(configuration)Initialize the Synthetic DAQ.
add_camera
(microscope_name, camera)Connect camera with daq: only in syntheticDAQ.
calculate_all_waveforms
(microscope_name, ...)Pre-calculates all waveforms necessary for the acquisition and organizes in a dictionary format.
Close the tasks for triggering, analog, and counter outputs.
Set up the camera trigger task.
Create galvo and remote focus tasks
Set up the DO master trigger task.
enable_microscope
(microscope_name)Enables the microscope.
prepare_acquisition
(channel_key)Prepare the acquisition.
Run DAQ Acquisition.
set_external_trigger
([external_trigger])Set the external trigger.
Start the tasks for camera triggering and analog outputs.
Stop Acquisition.
Stop the tasks for triggering, analog and counter outputs.
update_analog_task
(board_name)Update the analog task.
Write the galvo, remote focus, and laser waveforms to each task.
Attributes
Configuration dictionary.
Camera object.
Lock for waiting to run.
Analog output tasks.
Flag for updating analog task.
Trigger mode.
- add_camera(microscope_name: str, camera: object)
Connect camera with daq: only in syntheticDAQ.
- Parameters:
microscope_name (str) – Name of microscope.
camera (navigate.model.devices.camera.base.CameraBase) – Camera object.
- 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
- close_tasks()
Close the tasks for triggering, analog, and counter outputs.
- create_camera_task()
Set up the camera trigger task.
- create_galvo_remote_focus_tasks()
Create galvo and remote focus tasks
- create_master_trigger_task()
Set up the DO master trigger task.
- enable_microscope(microscope_name: str) → None
Enables the microscope.
- Parameters:
microscope_name (str) – Name of the active microscope
- prepare_acquisition(channel_key: str)
Prepare the acquisition.
- Parameters:
channel_key (str) – Channel key for current channel.
- run_acquisition()
Run DAQ Acquisition.
Run the tasks for triggering, analog and counter outputs. The master trigger initiates all other tasks via a shared trigger For this to work, all analog output and counter tasks have to be started so that they are waiting for the trigger signal.
- set_external_trigger(external_trigger=None)
Set the external trigger.
- Parameters:
external_trigger (str, optional) – Name of external trigger.
- start_tasks()
Start the tasks for camera triggering and analog outputs.
If the tasks are configured to be triggered, they won’t start until run_tasks() is called.
- stop_acquisition()
Stop Acquisition.
- stop_tasks()
Stop the tasks for triggering, analog and counter outputs.
- update_analog_task(board_name)
Update the analog task.
- Parameters:
board_name (str) – Name of board.
- write_waveforms_to_tasks()
Write the galvo, remote focus, and laser waveforms to each task.
- analog_outputs
Analog output tasks.
- Type:
dict
- camera
Camera object.
- Type:
dict
- camera_delay
Camera delay percentage
- Type:
float
- configuration
Configuration dictionary.
- Type:
dict
- daq_parameters
Dictionary of DAQ parameters
- Type:
dict
- exposure_times
exposure times for different channels
- Type:
dict
- is_updating_analog_task
Flag for updating analog task.
- Type:
bool
- 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
- wait_to_run_lock
Lock for waiting to run.
- Type:
Lock
- 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