GibsonLanniPSF

public final class GibsonLanniPSF implements PSF

Computes an emitter PSF based on the Gibson-Lanni model. This algorithm was first described in Li, J., Xue, F., and Blu, T. (2017). Fast and accurate three-dimensional point spread function computation for fluorescence microscopy. JOSA A, 34(6), 1029-1034. The code is adapted from MicroscPSF-ImageJ by Jizhou Li: https://github.com/hijizhou/MicroscPSF-ImageJ

Author:Kyle M. Douglass

Methods

generatePixelSignature

public double generatePixelSignature(int pixelX, int pixelY)

Computes the relative probability of receiving a photon at pixel (pixelX, pixelY) from an emitter at (emitterX, emitterY, emitterZ).

Parameters:
  • pixelX – The pixel’s x-position.
  • pixelY – The pixel’s y-position.
Returns:

The probability of a photon hitting this pixel.

generateSignature

public void generateSignature(ArrayList<Pixel> pixels)

Generates the digital signature (the PSF) of the emitter on its nearby pixels.

Parameters:
  • pixels – The list of pixels spanned by the emitter’s image.

getRadius

public double getRadius()

Computes the half-width of the PSF for determining which pixels contribute to the emitter signal. This number is based on the greatest horizontal or vertical extent of the grid that the PSF is computed on. If maxRadius is smaller than that determined by the PSF’s computational grid, then maxRadius is returned.

Returns:The width of the PSF.