.. java:import:: ch.epfl.leb.sass.utils.images ImageS .. java:import:: ch.epfl.leb.sass.utils.images.internal DefaultImageS .. java:import:: ch.epfl.leb.sass.models.fluorophores.internal DefaultFluorophore .. java:import:: ch.epfl.leb.sass.utils RNG .. java:import:: ch.epfl.leb.sass.models.obstructors Obstructor .. java:import:: cern.jet.random Gamma .. java:import:: cern.jet.random Normal .. java:import:: ch.epfl.leb.sass.models.fluorophores.internal.dynamics FluorophoreDynamicsBuilder .. java:import:: ch.epfl.leb.sass.models.fluorophores.internal.dynamics FluorophoreDynamics .. java:import:: ch.epfl.leb.sass.models.fluorophores.internal.commands FluorophoreCommandBuilder .. java:import:: ch.epfl.leb.sass.models.fluorophores.internal.commands FluorophoreCommand .. java:import:: ch.epfl.leb.sass.models.components Camera .. java:import:: ch.epfl.leb.sass.models.components Laser .. java:import:: ch.epfl.leb.sass.models.components Objective .. java:import:: ch.epfl.leb.sass.models.components Stage .. java:import:: ch.epfl.leb.sass.models.psfs PSFBuilder .. java:import:: ch.epfl.leb.sass.models.obstructors.internal.commands ObstructorCommandBuilder .. java:import:: ch.epfl.leb.sass.models.obstructors.internal.commands ObstructorCommand .. java:import:: ch.epfl.leb.sass.models.backgrounds BackgroundCommandBuilder .. java:import:: ch.epfl.leb.sass.models.backgrounds BackgroundCommand .. java:import:: java.util Arrays .. java:import:: java.util List .. java:import:: cern.jet.random Poisson Microscope ========== .. java:package:: ch.epfl.leb.sass.models :noindex: .. java:type:: public class Microscope Integrates all the components into one microscope. Constructors ------------ Microscope ^^^^^^^^^^ .. java:constructor:: public Microscope(Camera.Builder cameraBuilder, Laser.Builder laserBuilder, Objective.Builder objectiveBuilder, PSFBuilder psfBuilder, Stage.Builder stageBuilder, FluorophoreCommandBuilder positionBuilder, FluorophoreDynamicsBuilder fluorDynamicsBuilder, ObstructorCommandBuilder obstructorBuilder, BackgroundCommandBuilder backgroundBuilder) :outertype: Microscope Initializes the microscope for simulations. :param cameraBuilder: :param laserBuilder: :param objectiveBuilder: :param psfBuilder: :param stageBuilder: :param positionBuilder: Positions fluorophore's within the field of view. :param fluorDynamicsBuilder: :param obstructorBuilder: Creates the obstructors, e.g. fiducials. :param backgroundBuilder: Creates the background signal on the image. Methods ------- getFovSize ^^^^^^^^^^ .. java:method:: public double getFovSize() :outertype: Microscope :return: size of current FOV in square micrometers getLaserPower ^^^^^^^^^^^^^ .. java:method:: public double getLaserPower() :outertype: Microscope Return current power of the laser. :return: laser power getObjectSpacePixelSize ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public double getObjectSpacePixelSize() :outertype: Microscope The size of a pixel after division by the objective magnification. :return: Length of one pixel side in object space units getOnEmitterCount ^^^^^^^^^^^^^^^^^ .. java:method:: public double getOnEmitterCount() :outertype: Microscope Returns the number of currently active emitters. :return: number of shining emitters getResolution ^^^^^^^^^^^^^ .. java:method:: public int[] getResolution() :outertype: Microscope Return the number of camera pixels in x and y. :return: 2D array with number of pixels in x and y. setLaserPower ^^^^^^^^^^^^^ .. java:method:: public void setLaserPower(double laserPower) :outertype: Microscope Modifies the laser power to desired value. :param laserPower: new laser power simulateFrame ^^^^^^^^^^^^^ .. java:method:: public ImageS simulateFrame() :outertype: Microscope Generates a new frame and moves the device state forward. First the obstructors are drawn on the frame, then the fluorophores, and finally noise. :return: simulated frame