LaserFactory

public final class LaserFactory

LaserFactory

Author:Marcel Stefko

Constructors

LaserFactory

public LaserFactory(Studio studio)

Initialize the factory with the MM studio

Parameters:
  • studio

Methods

build

public Laser build()

Build the laser using the current state

Returns:initialized Laser

getPossibleLasers

public StrVector getPossibleLasers()

Query the MMCore for list of loaded devices

Returns:StrVector list of loaded devices in the core

getSelectedDeviceName

public String getSelectedDeviceName()
Returns:currently selected device identifier

getSelectedDeviceProperties

public StrVector getSelectedDeviceProperties()

Query the MMCore for properties of the selected device

Throws:
  • Exception – if hardware communication fails
Returns:

StrVector list of properties

selectDevice

public void selectDevice(String name)

Select a device

Parameters:
  • name – unique device identifier from the MMCore

selectProperty

public void selectProperty(String property)

Select a property of the currently selected device

Parameters:
  • property – unique property identifier from MMCore

setLaserPowerDeadzone

public void setLaserPowerDeadzone(double laser_power_deadzone)

Sets the deadzone of change of laser power output. For example, if set to 0.1, the laser would ignore requests for change of power that would be different by less than 10% from current output power.

Parameters:
  • laser_power_deadzone – deadzone size (NOT in percent)

setLaserVirtual

public void setLaserVirtual(boolean is_laser_virtual)

If true, create a VirtualLaser, otherwise a MMLaser

Parameters:
  • is_laser_virtual

setMaxLaserPower

public void setMaxLaserPower(double max_laser_power)

Sets upper boundary for laser output, higher inputs from controller will be constrained.

Parameters:
  • max_laser_power