.. java:import:: ch.epfl.leb.sass.models.emitters.internal Pixel .. java:import:: ch.epfl.leb.sass.models.psfs PSF .. java:import:: ch.epfl.leb.sass.models.psfs PSFBuilder .. java:import:: org.apache.commons.math3.linear Array2DRowRealMatrix .. java:import:: org.apache.commons.math3.linear DecompositionSolver .. java:import:: org.apache.commons.math3.linear QRDecomposition .. java:import:: org.apache.commons.math3.linear RealMatrix .. java:import:: org.apache.commons.math3.linear SingularValueDecomposition .. java:import:: org.apache.commons.math3.special BesselJ .. java:import:: org.apache.commons.math3.analysis.interpolation PiecewiseBicubicSplineInterpolatingFunction .. java:import:: java.lang Math .. java:import:: ij ImageStack .. java:import:: ij.process FloatProcessor .. java:import:: java.util ArrayList .. java:import:: java.util.logging Level .. java:import:: java.util.logging Logger .. java:import:: java.util HashMap GibsonLanniPSF ============== .. java:package:: ch.epfl.leb.sass.models.psfs.internal :noindex: .. java:type:: 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 ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override public double generatePixelSignature(int pixelX, int pixelY) :outertype: GibsonLanniPSF Computes the relative probability of receiving a photon at pixel (pixelX, pixelY) from an emitter at (emitterX, emitterY, emitterZ). :param pixelX: The pixel's x-position. :param pixelY: The pixel's y-position. :return: The probability of a photon hitting this pixel. generateSignature ^^^^^^^^^^^^^^^^^ .. java:method:: @Override public void generateSignature(ArrayList pixels) :outertype: GibsonLanniPSF Generates the digital signature (the PSF) of the emitter on its nearby pixels. :param pixels: The list of pixels spanned by the emitter's image. getRadius ^^^^^^^^^ .. java:method:: @Override public double getRadius() :outertype: GibsonLanniPSF 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. :return: The width of the PSF.