BioImager  4.9.0
A .NET microscopy imaging application based on Bio library. Supports various microscopes by using imported libraries & GUI automation. Supports XInput game controllers to move stage, take images, run ImageJ macros on images or Bio C# scripts.
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)
 
- Public Member Functions inherited from microscope.abc.Controller
- Public Member Functions inherited from microscope.abc.Device
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)
 
 get_setting (self, str name)
 
 get_all_settings (self)
 
None set_setting (self, str name, value)
 
 describe_setting (self, str name)
 
 describe_settings (self)
 
 update_settings (self, incoming, bool init=False)
 

Protected Attributes

dict _lasers = {}
 
- Protected Attributes inherited from microscope.abc.Device
dict _settings = {}
 

Additional Inherited Members

- Public Attributes inherited from microscope.abc.Device
bool enabled = False
 
- Protected Member Functions inherited from microscope.abc.Controller
None _do_shutdown (self)
 
- Protected Member Functions inherited from microscope.abc.Device
 _do_disable (self)
 
 _do_enable (self)
 

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

Member Data Documentation

◆ _lasers

dict microscope.controllers.toptica.iChromeMLE._lasers = {}
protected

Definition at line 263 of file toptica.py.


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