Switch to virtual/synthetic microscope config#1197
Switch to virtual/synthetic microscope config#1197AdvancedImagingUTSW wants to merge 1 commit intodevelopfrom
Conversation
Overhauled configuration to replace hardware-specific Mesoscale/Nanoscale entries with a unified virtual_microscope using Synthetic/virtual hardware. Removed NI, Hamamatsu, Sutter, PI, and Thorlabs-specific settings and consolidated DAQ, camera, filter_wheel, galvo, shutter, laser, stage, and zoom into virtual defaults for simulation/testing. Adjusted camera delay/settle values, simplified filter mappings, added virtual trigger/laser channels, normalized stage/joystick limits, and removed legacy GUI/BDVParameters sections.
There was a problem hiding this comment.
Pull request overview
Updates the default microscope configuration to use a single virtual_microscope backed by Synthetic/virtual devices, replacing prior hardware-specific microscope entries.
Changes:
- Replaced
Mesoscale/Nanoscalemicroscope configs with a unifiedvirtual_microscopeSynthetic configuration. - Consolidated device sections (DAQ, camera, filter wheel, galvo, laser, stage, zoom) into virtual defaults and removed legacy blocks.
- Simplified filter naming/mapping and adjusted timing/limits parameters for simulation/testing.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| microscopes: | ||
| Mesoscale: | ||
| daq: | ||
| hardware: | ||
| type: NI | ||
|
|
||
| # NI PCIe-1073 Chassis with PXI-6259 and PXI-6733 DAQ Boards. | ||
| # Sampling rate in Hz | ||
| sample_rate: 100000 | ||
|
|
||
| # triggers | ||
| master_trigger_out_line: PXI6259/port0/line1 | ||
| camera_trigger_out_line: /PXI6259/ctr0 | ||
| trigger_source: /PXI6259/PFI0 | ||
|
|
||
| # Digital Laser Outputs | ||
| laser_port_switcher: PXI6733/port0/line0 | ||
| laser_switch_state: False | ||
|
|
||
| virtual_microscope: | ||
| camera: |
There was a problem hiding this comment.
configuration.yaml no longer defines a top-level gui: section, but verify_experiment_config() reads configuration["configuration"]["gui"]["channels"]["count"] (see src/navigate/config/config.py:623). With this YAML, Navigate will raise a KeyError: 'gui' during startup. Either restore gui.channels.count in this file (as in synthetic_configuration.yaml), or update the codepath to read from the separately-loaded gui_configuration.yml (configuration["gui"]) instead of configuration["configuration"]["gui"].
| axis: NA | ||
| channel: virtual\d01 | ||
| max: 5.0 | ||
| min: 0.0 | ||
| port: COM2 |
There was a problem hiding this comment.
The shutter hardware.channel uses a backslash (virtual\d01) while all other synthetic channel identifiers use forward slashes (e.g., virtual/ao0). This inconsistency is very likely a typo and will break any logic that expects the virtual/<signal> format; consider changing it to the same convention (for example virtual/do1 or virtual/do0, whichever is intended).
Overhauled configuration to replace hardware-specific Mesoscale/Nanoscale entries with a unified virtual_microscope using Synthetic/virtual hardware. Removed NI, Hamamatsu, Sutter, PI, and Thorlabs-specific settings and consolidated DAQ, camera, filter_wheel, galvo, shutter, laser, stage, and zoom into virtual defaults for simulation/testing. Adjusted camera delay/settle values, simplified filter mappings, added virtual trigger/laser channels, normalized stage/joystick limits, and removed legacy GUI/BDVParameters sections.