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.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.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.filter_wheel
  • navigate.model.devices.filter_wheel.ludl
  • navigate.model.devices.filter_wheel.ludl.LUDLFilterWheel
  • View page source

navigate.model.devices.filter_wheel.ludl.LUDLFilterWheel

class navigate.model.devices.filter_wheel.ludl.LUDLFilterWheel(microscope_name, device_connection, configuration, device_id=0)

Bases: FilterWheelBase, SerialDevice

LUDLFilterWheel - Class for controlling LUDL Electronic Products Filter Wheels

Testing using MAC6000 controller over RS-232. USB or Ethernet not tested. Single filter wheel only, but MAC6000 can handle max 2. Would need to modify code.

Note

Code for class adapted from Dr. Fabian Voigt’s mesoSPIM code: https://github.com/ffvoigt/mesoSPIM-control/blob/master/mesoSPIM/src/mesoSPIM_FilterWheel.py

__init__(microscope_name, device_connection, configuration, device_id=0)

Initialize the LUDLFilterWheel class.

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

  • device_connection (Any) – The communication instance with the device.

  • configuration (Dict[str, Any]) – Global configuration dictionary.

  • device_id (int) – The ID of the device. Default is 0.

Methods

__init__(microscope_name, device_connection, ...)

Initialize the LUDLFilterWheel class.

check_if_filter_in_filter_dictionary(filter_name)

Checks if the filter designation (string) given exists in the filter dictionary

close()

Close the LUDLFilterWheel serial port.

connect(comport, baudrate[, timeout])

Build LUDLFilterWheel Serial Port connection

disconnect()

Disconnect from serial device.

set_filter(filter_name[, wait_until_done])

Set the filter wheel to a specific filter position.

Attributes

serial

Device connection object.

sio

Text I/O wrapper for the serial port.

wait_until_done_delay

Delay for filter wheel to change positions.

check_if_filter_in_filter_dictionary(filter_name: str) → bool

Checks if the filter designation (string) given exists in the filter dictionary

Parameters:

filter_name (str) – Name of filter.

Returns:

filter_exists – Flag if filter exists in the filter dictionary.

Return type:

bool

Raises:

ValueError – If filter name is not in the filter dictionary.

close()

Close the LUDLFilterWheel serial port.

Sets the filter wheel to the Empty-Alignment position and then closes the port.

classmethod connect(comport, baudrate, timeout=0.25)

Build LUDLFilterWheel Serial Port connection

comport

Comport for communicating with the filter wheel, e.g., COM1.

Type:

str

baudrate

Baud rate for communicating with the filter wheel, e.g., 9600.

Type:

int

timeout

Timeout for communicating with the filter wheel, e.g., 0.25.

Type:

float

Returns:

Serial port connection to the filter wheel.

Return type:

serial.Serial

Raises:

UserWarning – Could not communicate with LUDL MAC6000 via COMPORT.

disconnect()

Disconnect from serial device.

set_filter(filter_name, wait_until_done=True)

Set the filter wheel to a specific filter position.

Parameters:
  • filter_name (str) – Name of the filter position.

  • wait_until_done (bool) – Wait until the filter wheel has changed positions.

device_connection

Device connection object.

Type:

Any

filter_dictionary

Dictionary of filters available on the filter wheel.

Type:

dict

filter_wheel_number

index of filter wheel

Type:

int

serial

Device connection object.

Type:

Any

sio

Text I/O wrapper for the serial port.

Type:

io.TextIOWrapper

wait_until_done_delay

Delay for filter wheel to change positions.

Type:

float

wheel_position

Filter wheel position.

Type:

int

Previous Next

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