.. java:import:: ch.epfl.leb.alica Laser .. java:import:: mmcorej StrVector .. java:import:: org.micromanager Studio LaserFactory ============ .. java:package:: ch.epfl.leb.alica.lasers :noindex: .. java:type:: public final class LaserFactory LaserFactory :author: Marcel Stefko Constructors ------------ LaserFactory ^^^^^^^^^^^^ .. java:constructor:: public LaserFactory(Studio studio) :outertype: LaserFactory Initialize the factory with the MM studio :param studio: Methods ------- build ^^^^^ .. java:method:: public Laser build() :outertype: LaserFactory Build the laser using the current state :return: initialized Laser getPossibleLasers ^^^^^^^^^^^^^^^^^ .. java:method:: public StrVector getPossibleLasers() :outertype: LaserFactory Query the MMCore for list of loaded devices :return: StrVector list of loaded devices in the core getSelectedDeviceName ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public String getSelectedDeviceName() :outertype: LaserFactory :return: currently selected device identifier getSelectedDeviceProperties ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public StrVector getSelectedDeviceProperties() throws Exception :outertype: LaserFactory Query the MMCore for properties of the selected device :throws Exception: if hardware communication fails :return: StrVector list of properties selectDevice ^^^^^^^^^^^^ .. java:method:: public void selectDevice(String name) :outertype: LaserFactory Select a device :param name: unique device identifier from the MMCore selectProperty ^^^^^^^^^^^^^^ .. java:method:: public void selectProperty(String property) :outertype: LaserFactory Select a property of the currently selected device :param property: unique property identifier from MMCore setLaserPowerDeadzone ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setLaserPowerDeadzone(double laser_power_deadzone) :outertype: LaserFactory 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. :param laser_power_deadzone: deadzone size (NOT in percent) setLaserVirtual ^^^^^^^^^^^^^^^ .. java:method:: public void setLaserVirtual(boolean is_laser_virtual) :outertype: LaserFactory If true, create a VirtualLaser, otherwise a MMLaser :param is_laser_virtual: setMaxLaserPower ^^^^^^^^^^^^^^^^ .. java:method:: public void setMaxLaserPower(double max_laser_power) :outertype: LaserFactory Sets upper boundary for laser output, higher inputs from controller will be constrained. :param max_laser_power: