Diffraction PSF 3D
 
Author: Bob Dougherty 
Installation: Download  Diffraction_PSF_3D.class or Diffraction_PSF_3D.java to the plugins folder.   (Windows users right-click to download.)  Requires ImageJ version 1.32c or later.
Description: Plugin to compute the 3D point spread function of a diffraction-limited microscope.   Based on an analytical derivation using Fraunhofer diffraction.   Intended to provide sample data for use with Convolve 3D and Iterative Deconvolve 3D.
Disclaimer: This code is intended to represent a classical diffraction limit.  If possible, direct measurements of your microscope's psf should be made, or data should be obtained from the manufacturer.
Usage: Fill in the form and compute the psf.  A pop-up window gives the Rayleigh resolution in pixels before the psf is created.  The "Image pixel spacing" is also known as the calibration.   It is important that the Image pixel spacing and the wavelength be specified in the same units, usually nm or Ám.

If the sample medium is different from the one used to compute the numerical aperture, n*sin(θ/2), then the NA value will need to be corrected.   For example, if the objective lens was designed to have an NA of 1.4 using an immersion oil with and index of refracation of 1.515, and water is used in place of the immersion oil, then the value of NA to input into the plugin is (1.33/1.515)*1.4 = 1.229, where the index of refraction of water is taken as 1.33.  This media substitution will create spherical aberration, as discussed below.  The plugin is not yet able to compute this specific type of spherical aberration from first principles.

Dimensions: The image pixel spacing and slice spacing should be set to match the image data stacks.  If the PSF will be used with Convolve 3D or Iterative Deconvolve 3D, then it is not necessary to make the width, height, and depth match the image stacks.   The width, height, and depth should be chosen large enough that the PSF "fits" in the resulting stack. The idea is that the stack is wide and deep enough that the energy of the PSF that falls outside it is not important.   Experimentation is probably required.  Image/Stacks/Plot Z-axis Profile may be useful to see whether there are enough slices.   If the required number of slices exceeds the number of slices in the image data Z-series, then usefulness of 3D deconvolution in this case might be in question.   The dB option can be used to examine the lower levels of the PSF, but should be turned off in final run unless the image data is in dB.
SA: Spherical aberration causes the PSF to be non-symmetric in z.  (Positive spherical aberration accentuates the bright ring at the perimeter of the blur circle for z > z0.   Photographers call this bad bokeh.)  The latest version of the plugin includes a preliminary spherical aberration treatment in which the longitudinal focus shift is assumed to be proportional to the fourth power of the radial distance from the optical axis in the plane of the aperture.  This model can also translate the point of best focus in z; no correction for this translation is made.   The distribution of spherical aberration across the aperture in a real imaging system depends on the lens design, and may not resemble the fourth power model used here.

A proposal for an improved model is illustrated here.  This would be based on the an assumption that the SA results from a well-corrected microscope being used with some material that has an index of refraction different from the material that was intended in the microscope design.  This is similar to, but simpler than, a model in the literature.  The next step would be to derive the focus shift in terms of the radial distance, as indicated in the figure.

Versions: 0: 5/02/2005
1: 5/04/2005. Fixed a bug that created a bright spot on axis for large defocus.  Improved speed by using symmerty.
1.1: 5/04/2005. Improved speed (Simpson's rule integration).
1.2: 5/05/2005. Inputs changed to n*sin(theta) for NA, wavelength, and index of refraction.
2: 5/06/2005. Included spherical aberration, assumed to vary as y^4.
License:

Copyright (c) 2005, OptiNav, Inc.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of OptiNav, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

ImageJ: ImageJ can be freely downloaded from the ImageJ web site.