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 from serial device.
set_filter
(filter_name[, wait_until_done])Set the filter wheel to a specific filter position.
Attributes
Device connection object.
Text I/O wrapper for the serial port.
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