| BIG > Algorithms > PSF Generator |
| CONTENTS |
Models of PSF
Download
Plugin for ImageJ
[Version 19.03.2013]

PSF Generator is a software package that allows one to generate and visualize various 3D models of a microscope PSF [1]. The current version has five different models: the Gaussian model, the simulated Defocus, the scalar-based diffraction model Born & Wolf [5, 6], the scalar-based diffraction model with 3 layers Gibson & Lanni [7], and the vectorial-based model Richards & Wolf [8, 9]. In addition, we have added the Variable Refractive Index Gibson & Lanni model [10]. This model was developpent and implemented by Sameer Hiware, Indian Institute of Technology (IIT) of Bombay, Mumbia, India.
The models differ one from the other by the accuracy they introduce, while the trade-off is the required computational complexity and run-time. The plugin requires only few parameters which are readily-available for microscopy practitioners.
PSF Generator is an ImageJ plugin. Our Java implementation achieves fast execution times, as it is based on multi-threading the computational tasks and on a numerical method that adapts to the oscillatory nature of the required integrands. Potential applications are 3D deconvolution [2], 3D particle localization and tracking [3], and extended depth of field estimation [4] to name a few.
[ 1] H. Kirshner, F. Aguet, D. Sage, M. Unser, "3-D PSF Fitting for Fluorescence Microscopy: Implementation and Localization Application," Journal of Microscopy, vol. 249, no. 1, pp. 13-25, January 2013.
[10] S. Hiware, P. Porwal, R. Velmurugan and S. Chaudhuri, "Modeling of PSF for refractive index variation in fluorescence microscopy," IEEE International Conference on Image Processing (ICIP 2011) 2011, pp. 2037Ð2040.
The software provided here is a plugin for ImageJ, a general purpose image-processing and image-analysis package. ImageJ has a public domain license; it runs on several platforms: Unix, Linux, Windows, and Mac OSX. It doesn't take more than a couple of minutes to install.
Download PSF_Generator.jar, the ImageJ's plugin. The current version is dated 19.03.2013. The plugin consist in one single JAR file; place it into the "plugins" folder of ImageJ. Do not unzip the JAR file.
Richards & Wolf PSF model
This model describes the vectorial-based diffraction that occurs in the microscope [8, 9]. The phase aberration W(Θ) is given by the Gibson and Lanni model, but the three electric field components are evaluated independently. The PSF of this model is shift invariant in the lateral directions only. This model is defined by the following equation:

Screenshot of the GUI![]() |
Spatial section XY![]() |
Axial section YZ![]() |
| Running time: 12.53 ms to generate a 256x256x64 stack. | ||
Gibson & Lanni PSF model
This model describes the scalar-based diffraction that occurs in the microscope [7]. It accounts for the immersion, the cover-slip and the sample layers. The PSF of this model is shift invariant in the lateral directions only. This model is defined by the following equation:


| Parameter | Description |
| NA | Numerical Aperture of the objective lens. This value is given by NA = ni sin(Θ) where Θ is one half of the angular aperture of the lens. |
| ns | Refractive index of the sample layer. |
| ts | Axial location of the point source within the sample layer. The corresponding input field in the plugin is "z". |
| ng | Actual value of the refractive index of the coverslip. This value is assumed to be equal to ng* and it is therefore not used by the plugin. |
| ng* | Nominal value of the refractive index of the coverslip. This value is assumed to be equal to ng and it is therefore not used by the plugin. |
| ni | Actual value of the refractive index of the immersion layer (the paper by Gibson and Lanni uses the notations noil). |
| ni* | Nominal value of the refractive index of the immersion layer (the paper by Gibson and Lanni paper uses the notations noil*. This value is assumed to be equal to ni and it is therefore not used by the plugin. |
| tg | Actual value of the coverslip thickness. This value is assumed to be equal to tg* and it is therefore not used by the plugin. |
| tg* | Nominal value of the coverslip thickness. This value is assumed to be equal to tg and it is therefore not used by the plugin. |
| ti | Actual working distance between the objective and the coverslip (the Gibson and Lanni paper uses the notation toil). |
| ti* | Nominal working distance between the objective lens and the coverslip (the Gibson and Lanni paper uses the notation toil*). This value is given by ti* = ti + Δ where Δ is the stage displacement. When generating a z-stack, stage displacement values are determined by the "Axial resolution" and by the "slices" input parameters of the plugin. If the number of slices is odd, then the middle slice corresponds to Δ = 0. |
| λ | Wavelength of the light emitted by the point source. |
| k | Wavenumber in vacuum of the emitted light, k = 2Π/λ. |
| xd, yd | Lateral position for evaluating the PSF at the detector plane. The sampling points are {xd,n, yd,m} = {nΔ, mΔ}n,m where Δ is the value of the "Pixel size in object space" input parameter, n = - (N-1)/2 ... (N-1)/2 and m = - (M-1)/2 ... (M-1)/2. N and M are the "width" and the "height" input parameters, respectively of the plugin. If N and M are odd, then the middle pixel is (0,0). |
| zd | Axial distance between the detector and the tube lens. This value is assumed to be equal to the focal length of the tube lens, and for this reason the plugin substitutes NA = a/zd in h(x, y, z). |
| W | The Gibson and Lanni phase aberration. |
| C | A normalizing constant. The value C/zd that appear in h(x, y, z) is determined by the "normalization" input parameter of the plugin. |
Screenshot of the GUI![]() |
Spatial section XY![]() |
Axial section YZ![]() |
| Running time: 3.92 s to generate a 256x256x64 stack. | ||
Variable Refrative Index Gibson & Lanni PSF model
This model is an extension to the Gibson and Lanni model, that describes the scalar-based diffraction that occurs in the microscope [10]. It captures the aberration that caused due to variation of refractive index within the thick specimen. This model captures shift varying nature of PSF in axial direction only by three predefined functions: linear Logarithmic, and Exponential. This model defined by the following equations:

where:

| Parameter | Description |
| NA | Numerical Aperture of the objective lens. This value is given by NA = ni sin(Θ) where Θ is one half of the angular aperture of the lens. |
| ns | Refractive index of the sample layer. |
| ts | Axial location of the point source within the sample layer. The corresponding input field in the plugin is "z". |
| ng | Actual value of the refractive index of the coverslip. This value is assumed to be equal to ng* and it is therefore not used by the plugin. |
| ng* | Nominal value of the refractive index of the coverslip. This value is assumed to be equal to ng and it is therefore not used by the plugin. |
| ni | Actual value of the refractive index of the immersion layer (the paper by Gibson and Lanni uses the notations noil). |
| ni* | Nominal value of the refractive index of the immersion layer (the paper by Gibson and Lanni paper uses the notations noil*. This value is assumed to be equal to ni and it is therefore not used by the plugin. |
| tg | Actual value of the coverslip thickness. This value is assumed to be equal to tg* and it is therefore not used by the plugin. |
| tg* | Nominal value of the coverslip thickness. This value is assumed to be equal to tg and it is therefore not used by the plugin. |
| ti | Actual working distance between the objective and the coverslip (the Gibson and Lanni paper uses the notation toil). |
| ti* | Nominal working distance between the objective lens and the coverslip (the Gibson and Lanni paper uses the notation toil*). This value is given by ti* = ti + Δ where Δ is the stage displacement. When generating a z-stack, stage displacement values are determined by the "Axial resolution" and by the "slices" input parameters of the plugin. If the number of slices is odd, then the middle slice corresponds to Δ = 0. |
| λ | Wavelength of the light emitted by the point source. |
| k | Wavenumber in vacuum of the emitted light, k = 2Π/λ. |
| xd, yd | Lateral position for evaluating the PSF at the detector plane. The sampling points are {xd,n, yd,m} = {nΔ, mΔ}n,m where Δ is the value of the "Pixel size in object space" input parameter, n = - (N-1)/2 ... (N-1)/2 and m = - (M-1)/2 ... (M-1)/2. N and M are the "width" and the "height" input parameters, respectively of the plugin. If N and M are odd, then the middle pixel is (0,0). |
| zd | Axial distance between the detector and the tube lens. This value is assumed to be equal to the focal length of the tube lens, and for this reason the plugin substitutes NA = a/zd in h(x, y, z). |
| W | The Gibson and Lanni phase aberration. |
| C | A normalizing constant. The value C/zd that appear in h(x, y, z) is determined by the "normalization" input parameter of the plugin. |
Screenshot of the GUI![]() |
Spatial section XY![]() |
Axial section YZ![]() |
| Running time: 3.92 s to generate a 256x256x64 stack. | ||
Born & Wolf PSF model
This model describes the scalar-based diffraction that occurs in the microscope when the particle is in focus [5, 6]. The imaging plane, however, need not be in focus. The PSF of this model is shift invariant in all directions. This model is defined by the following equation:


Screenshot of the GUI![]() |
Spatial section XY![]() |
Axial section YZ![]() |
| Running time: 942 ms to generate a 256x256x64 stack. | ||
Simulated defocus PSF model
This models simulates defocusing in the Fourier domain by a modulated Gaussian function. The variance of Gaussian (σ) changes linearly with the axial axis. ω is the radial frequency which is defined by: ω2 = ωx2 + ωy2. This model is defined by the following equation:

Screenshot of the GUI![]() |
Spatial section XY![]() |
Axial section YZ![]() |
| Running time: 2300 ms to generate a 256x256x64 stack. | ||
Gaussian PSF model
This model simulates the blurring effect with a 2D gaussian function. The variance of Gaussian (σ) changes linearly with the axial axis. This model is defined by the following equation:
Screenshot of the GUI![]() |
Spatial section XY![]() |
Axial section YZ![]() |
| Running time: 1800 ms to generate a 256x256x64 stack. | ||
© 2013 EPFL • webmaster.big@epfl.ch • 15.05.2013