Microscope

public class Microscope

Integrates all the components into one microscope.

Constructors

Microscope

public Microscope(Camera.Builder cameraBuilder, Laser.Builder laserBuilder, Objective.Builder objectiveBuilder, PSFBuilder psfBuilder, Stage.Builder stageBuilder, FluorophoreCommandBuilder positionBuilder, FluorophoreDynamicsBuilder fluorDynamicsBuilder, ObstructorCommandBuilder obstructorBuilder, BackgroundCommandBuilder backgroundBuilder)

Initializes the microscope for simulations.

Parameters:
  • cameraBuilder
  • laserBuilder
  • objectiveBuilder
  • psfBuilder
  • stageBuilder
  • positionBuilder – Positions fluorophore’s within the field of view.
  • fluorDynamicsBuilder
  • obstructorBuilder – Creates the obstructors, e.g. fiducials.
  • backgroundBuilder – Creates the background signal on the image.

Methods

getFovSize

public double getFovSize()
Returns:size of current FOV in square micrometers

getLaserPower

public double getLaserPower()

Return current power of the laser.

Returns:laser power

getObjectSpacePixelSize

public double getObjectSpacePixelSize()

The size of a pixel after division by the objective magnification.

Returns:Length of one pixel side in object space units

getOnEmitterCount

public double getOnEmitterCount()

Returns the number of currently active emitters.

Returns:number of shining emitters

getResolution

public int[] getResolution()

Return the number of camera pixels in x and y.

Returns:2D array with number of pixels in x and y.

setLaserPower

public void setLaserPower(double laserPower)

Modifies the laser power to desired value.

Parameters:
  • laserPower – new laser power

simulateFrame

public ImageS simulateFrame()

Generates a new frame and moves the device state forward. First the obstructors are drawn on the frame, then the fluorophores, and finally noise.

Returns:simulated frame