BioImager  3.9.1
A .NET microscopy imaging library. Supports various microscopes by using imported libraries & GUI automation. Supported libraries include PriorĀ® & ZeissĀ® & all devices supported by Micromanager 2.0 and python-microscope.
Loading...
Searching...
No Matches
microscope.controllers.toptica.iChromeMLE Class Reference
Inheritance diagram for microscope.controllers.toptica.iChromeMLE:
microscope.abc.Controller microscope.abc.Device

Public Member Functions

None __init__ (self, str port, **kwargs)
 
typing.Dict[str, _iChromeLaserdevices (self)
 
typing.Mapping[str, Devicedevices (self)
 
- Public Member Functions inherited from microscope.abc.Device
None __init__ (self)
 
None __del__ (self)
 
bool get_is_enabled (self)
 
None disable (self)
 
None enable (self)
 
None initialize (self)
 
None shutdown (self)
 
None add_setting (self, name, dtype, get_func, set_func, values, typing.Optional[typing.Callable[[], bool]] readonly=None)
 
def get_setting (self, str name)
 
def get_all_settings (self)
 
None set_setting (self, str name, value)
 
def describe_setting (self, str name)
 
def describe_settings (self)
 
def update_settings (self, incoming, bool init=False)
 

Additional Inherited Members

- Public Attributes inherited from microscope.abc.Device
 enabled
 

Detailed Description

Toptica iChrome MLE (multi-laser engine).

The names of the light devices are `laser1`, `laser2`, `laser3`,
...

Definition at line 253 of file toptica.py.

Constructor & Destructor Documentation

◆ __init__()

None microscope.controllers.toptica.iChromeMLE.__init__ (   self,
str  port,
**  kwargs 
)

Reimplemented from microscope.abc.Device.

Definition at line 261 of file toptica.py.

261 def __init__(self, port: str, **kwargs) -> None:
262 super().__init__(**kwargs)
263 self._lasers: typing.Dict[str, _iChromeLaser] = {}
264
265 # Setting specified on the manual (M-051 version 03)
266 serial_conn = serial.Serial(
267 port=port,
268 baudrate=115200,
269 timeout=1,
270 bytesize=serial.EIGHTBITS,
271 stopbits=serial.STOPBITS_ONE,
272 parity=serial.PARITY_NONE,
273 xonxoff=False,
274 rtscts=False,
275 dsrdtr=False,
276 )
277 shared_serial = microscope._utils.SharedSerial(serial_conn)
278 ichrome_connection = _iChromeConnection(shared_serial)
279
280 _LOGGER.info("Connected to %s", ichrome_connection.get_serial_number())
281
282 # According to the manual the iChrome can have between 3 and 5
283 # lasers. There doesn't seem to be a simple command to check
284 # what's installed, we'd have to parse the whole summary
285 # table. So we try/except to each laser line.
286 for i in range(1, 6):
287 name = "laser%d" % i
288 try:
289 laser = _iChromeLaser(ichrome_connection, i)
291 _LOGGER.info("no %s available", name)
292 continue
293 else:
294 _LOGGER.info("found %s on iChrome MLE", name)
295 self._lasers[name] = laser
296

Member Function Documentation

◆ devices()

typing.Dict[str, _iChromeLaser] microscope.controllers.toptica.iChromeMLE.devices (   self)
Map of names to the controlled devices.

Reimplemented from microscope.abc.Controller.

Definition at line 298 of file toptica.py.

298 def devices(self) -> typing.Dict[str, _iChromeLaser]:
299 return self._lasers

Referenced by microscope.abc.Controller.devices().


The documentation for this class was generated from the following file: