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.lights.deepstar.DeepstarLaser Class Reference
Inheritance diagram for microscope.lights.deepstar.DeepstarLaser:
microscope.abc.SerialDeviceMixin microscope.abc.LightSource microscope.abc.TriggerTargetMixin microscope.abc.Device

Public Member Functions

def __init__ (self, com, baud=9600, timeout=2.0, **kwargs)
 
def get_status (self)
 
def get_is_on (self)
 
microscope.TriggerType trigger_type (self)
 
microscope.TriggerMode trigger_mode (self)
 
None set_trigger (self, microscope.TriggerType ttype, microscope.TriggerMode tmode)
 
def __init__ (self, **kwargs)
 
- Public Member Functions inherited from microscope.abc.LightSource
def __init__ (self, **kwargs)
 
typing.List[str] get_status (self)
 
bool get_is_on (self)
 
float power (self)
 
None power (self, float power)
 
float get_set_power (self)
 
- Public Member Functions inherited from microscope.abc.TriggerTargetMixin
microscope.TriggerMode trigger_mode (self)
 
microscope.TriggerType trigger_type (self)
 
None set_trigger (self, microscope.TriggerType ttype, microscope.TriggerMode tmode)
 
None trigger (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)
 

Public Attributes

 connection
 
- Public Attributes inherited from microscope.abc.SerialDeviceMixin
 connection
 
- Public Attributes inherited from microscope.abc.Device
 enabled
 

Additional Inherited Members

- Static Public Member Functions inherited from microscope.abc.SerialDeviceMixin
def lock_comms (func)
 

Detailed Description

Omicron DeepStar laser.

Omicron LDM lasers can be bought with and without the LDM.APC
power monitoring option (light pick-off).  If this option is not
available, the `power` attribute will return the set power value
instead of the actual power value.

Definition at line 32 of file deepstar.py.

Constructor & Destructor Documentation

◆ __init__()

def microscope.lights.deepstar.DeepstarLaser.__init__ (   self,
  com,
  baud = 9600,
  timeout = 2.0,
**  kwargs 
)

Reimplemented from microscope.abc.SerialDeviceMixin.

Definition at line 44 of file deepstar.py.

44 def __init__(self, com, baud=9600, timeout=2.0, **kwargs):
45 super().__init__(**kwargs)
46 self.connection = serial.Serial(
47 port=com,
48 baudrate=baud,
49 timeout=timeout,
50 stopbits=serial.STOPBITS_ONE,
51 bytesize=serial.EIGHTBITS,
52 parity=serial.PARITY_NONE,
53 )
54 # If the laser is currently on, then we need to use 7-byte mode; otherwise we need to
55 # use 16-byte mode.
56 self._write(b"S?")
57 response = self._readline()
58 _logger.info("Current laser state: [%s]", response.decode())
59
60 self._write(b"STAT3")
61 option_codes = self._readline()
62 if not option_codes.startswith(b"OC "):
64 "Failed to get option codes '%s'" % option_codes.decode()
65 )
66 if option_codes[9:12] == b"AP1":
67 self._has_apc = True
68 else:
69 _logger.warning(
70 "Laser is missing APC option. Will return set"
71 " power instead of actual power"
72 )
73 self._has_apc = False
74

Member Function Documentation

◆ get_is_on()

def microscope.lights.deepstar.DeepstarLaser.get_is_on (   self)
Return True if the light source is currently able to produce light.

Reimplemented from microscope.abc.LightSource.

Definition at line 136 of file deepstar.py.

136 def get_is_on(self):
137 self._write(b"S?")
138 response = self._readline()
139 _logger.debug("Are we on? [%s]", response.decode())
140 return response == b"S2"
141

References microscope.lights.deepstar.DeepstarLaser._has_apc, microscope.abc.SerialDeviceMixin._readline(), microscope.filterwheels.thorlabs.ThorlabsFilterWheel._readline(), microscope.lights.obis.ObisLaser._readline(), microscope.abc.SerialDeviceMixin._write(), microscope.lights.deepstar.DeepstarLaser._write(), microscope.lights.obis.ObisLaser._write(), microscope.lights.sapphire.SapphireLaser._write(), microscope.abc.LightSource.get_is_on(), microscope.controllers.coolled._CoolLEDChannel.get_is_on(), microscope.controllers.lumencor._SpectraIIILightChannel.get_is_on(), microscope.controllers.toptica._iChromeLaser.get_is_on(), microscope.controllers.zaber._ZaberLED.get_is_on(), microscope.lights.cobolt.CoboltLaser.get_is_on(), microscope.lights.deepstar.DeepstarLaser.get_is_on(), microscope.lights.obis.ObisLaser.get_is_on(), microscope.lights.sapphire.SapphireLaser.get_is_on(), microscope.lights.toptica.TopticaiBeam.get_is_on(), and microscope.simulators.SimulatedLightSource.get_is_on().

Referenced by microscope.lights.cobolt.CoboltLaser.get_is_on(), microscope.lights.deepstar.DeepstarLaser.get_is_on(), microscope.lights.obis.ObisLaser.get_is_on(), microscope.lights.deepstar.DeepstarLaser.get_status(), microscope.lights.obis.ObisLaser.get_status(), microscope.lights.cobolt.CoboltLaser.initialize(), microscope.lights.obis.ObisLaser.initialize(), and microscope.lights.sapphire.SapphireLaser.initialize().

◆ get_status()

def microscope.lights.deepstar.DeepstarLaser.get_status (   self)
Query and return the light source status.

Reimplemented from microscope.abc.LightSource.

Definition at line 87 of file deepstar.py.

87 def get_status(self):
88 result = []
89 for i in range(4):
90 self._write(("STAT%d" % i).encode())
91 result.append(self._readline().decode())
92 return result
93

References microscope.abc.SerialDeviceMixin._readline(), microscope.filterwheels.thorlabs.ThorlabsFilterWheel._readline(), microscope.lights.obis.ObisLaser._readline(), microscope.abc.SerialDeviceMixin._write(), microscope.lights.deepstar.DeepstarLaser._write(), microscope.lights.obis.ObisLaser._write(), microscope.lights.sapphire.SapphireLaser._write(), microscope.abc.Device.disable(), microscope.abc.DataDevice.disable(), microscope.controllers.coolled._CoolLEDChannel.disable(), microscope.controllers.lumencor._SpectraIIILightChannel.disable(), microscope.lights.cobolt.CoboltLaser.disable(), microscope.lights.sapphire.SapphireLaser.disable(), microscope.lights.toptica.TopticaiBeam.disable(), microscope.abc.LightSource.get_is_on(), microscope.controllers.coolled._CoolLEDChannel.get_is_on(), microscope.controllers.lumencor._SpectraIIILightChannel.get_is_on(), microscope.controllers.toptica._iChromeLaser.get_is_on(), microscope.controllers.zaber._ZaberLED.get_is_on(), microscope.lights.cobolt.CoboltLaser.get_is_on(), microscope.lights.deepstar.DeepstarLaser.get_is_on(), microscope.lights.obis.ObisLaser.get_is_on(), microscope.lights.sapphire.SapphireLaser.get_is_on(), microscope.lights.toptica.TopticaiBeam.get_is_on(), and microscope.simulators.SimulatedLightSource.get_is_on().

Referenced by microscope.lights.obis.ObisLaser.get_status(), microscope.lights.cobolt.CoboltLaser.initialize(), microscope.lights.obis.ObisLaser.initialize(), microscope.lights.sapphire.SapphireLaser.initialize(), microscope.lights.cobolt.CoboltLaser.send(), and microscope.lights.sapphire.SapphireLaser.send().

◆ set_trigger()

None microscope.lights.deepstar.DeepstarLaser.set_trigger (   self,
microscope.TriggerType  ttype,
microscope.TriggerMode   tmode 
)
Set device for a specific trigger.

Reimplemented from microscope.abc.TriggerTargetMixin.

Definition at line 181 of file deepstar.py.

183 ) -> None:
184 if ttype is not microscope.TriggerType.HIGH:
186 "the only trigger type supported is 'high'"
187 )
188 if tmode is not microscope.TriggerMode.BULB:
190 "the only trigger mode supported is 'bulb'"
191 )
192

Referenced by microscope.cameras.picam.PiCamera.__init__(), microscope.cameras.ximea.XimeaCamera.__init__(), and microscope.cameras.ximea.XimeaCamera.initialize().

◆ trigger_mode()

microscope.TriggerMode microscope.lights.deepstar.DeepstarLaser.trigger_mode (   self)

Reimplemented from microscope.abc.TriggerTargetMixin.

Definition at line 178 of file deepstar.py.

178 def trigger_mode(self) -> microscope.TriggerMode:
179 return microscope.TriggerMode.BULB
180

Referenced by microscope.cameras.picam.PiCamera.__init__(), and microscope.cameras.ximea.XimeaCamera.__init__().

◆ trigger_type()

microscope.TriggerType microscope.lights.deepstar.DeepstarLaser.trigger_type (   self)

Reimplemented from microscope.abc.TriggerTargetMixin.

Definition at line 174 of file deepstar.py.

174 def trigger_type(self) -> microscope.TriggerType:
175 return microscope.TriggerType.HIGH
176

Referenced by microscope.cameras.ximea.XimeaCamera.__init__(), microscope.abc.DeformableMirror.apply_pattern(), and microscope.abc.TriggerTargetMixin.trigger().

Member Data Documentation

◆ connection


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