Graphic STI
logo EPFL
text EPFL
english only
Biomedical Imaging Group
Algorithms
BIG > Algorithms > PSF Generator
CONTENTS

Home page

News & Events

People

Research

Publications

Tutorials & Reviews

Demos

Download Algorithms

Teaching

PSFGENERATOR

Outline

Reference

Open Software

» Download

» Installation

» Configuration

» Screenshots

» Conditions of use

» Previous version

PSF Models

» Gibson & Lanni

» Richards & Wolf

» Born & Wolf

PSF Generator

A Java software package to generate realistic 3D microscope Point-Spread Function (PSF)

Written by Hagai Kirshner and Daniel Sage, Biomedical Imaging Group at EPFL.

Outline

PSF Generator is a software package that allows one to generate and visualize various 3D models of a microscope PSF. The current version has more than fifteen different models:

  • 3D diffractive models: scalar-based diffraction model Born & Wolf, scalar-based diffraction model with 3 layers Gibson & Lanni, and vectorial-based model Richards & Wolf, and Variable Refractive Index Gibson & Lanni model.

  • Defocussing a 2D lateral function with 1D axial function: the available lateral functions are: "Gaussian", "Lorentz", "Cardinale-Sine", "Cosine", "Circular-Pupil", "Astigmatism", "Oriented-Gaussian", "Double-Helix".

  • Optical Transfer Function generated in the Fourier domain: Koehler simulation, defocus simulation.

PSF Generator is provided for several environments: as ImageJ/Fiji plugin, as an Icy plugin, and as a Java standalone application. The program requires only few parameters which are readily-available for microscopy practitioners. 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, 3D particle localization and tracking, and extended depth of field estimation to name a few.

Reference

Hagai Kirshner, François Aguet, Daniel Sage, Michael Unser, 3-D PSF Fitting for Fluorescence Microscopy: Implementation and Localization Application, Journal of Microscopy, vol. 249, no. 1, pp. 13-25, January 2013.

Alessandra Griffa, Nathalie Garin and Daniel Sage, Comparison of Deconvolution Software in 3D Microscopy. A User Point of View, Part I and Part II, G.I.T. Imaging & Microscopy, vol 1, pp. 43-45, 2010

Open-Source Software Package

1. Download
ObjectFileSizeVersionComment
Plugin for Icy/ImageJ/FijiPSF_Generator.jar508 Kb18.07.2014Do not unzip
Java application for standalone/MatlabPSFGenerator.jar2.5 Mb18.07.2014IJ bundled
Example of Gibson and Lanni PSF [256x256x128]psf-gl.zip37.8 Mb18.07.2014

2. Installation and launching

PSFGenerator is a plugin for Icy, an open community platform for bioimage informatics running on Linux, Windows, and Mac OSX.

The installation of the plugin is performed through the centralized distribution service of Icy. Go to Online plugin of Icy and installed PSFGenerator.

PSFGenerator is a plugin for ImageJ, a general purpose image-processing and image-analysis package running on Linux, Windows, and Mac OSX.

Download PSF_Generator.jar. The plugin consist in one single JAR file; place it into the "plugins" folder of ImageJ. Do not unzip the JAR file.

PSFGenerator is a plugin for Fiji, a distribution of ImageJ and ImageJ2 running on Linux, Windows, and Mac OSX.

Download PSF_Generator.jar. The plugin consist in one single JAR file; place it into the "plugins" folder of Fiji. Do not unzip the JAR file.

PSFGenerator is a Java application. Download PSFGenerator.jar and from the terminal type:

java -cp PSFGenerator.jar PSFGenerator
java -cp PSFGenerator.jar PSFGenerator config_filename.txt
	

PSFGenerator is a set of Java classes callable from Matlab. Download PSFGenerator.jar and save the file in the java folder of Matlab.

To run with the GUI enter on the Matlab console:

>> javaaddpath /Applications/MATLAB_R2013a.app/java/PSFGenerator.jar
>> PSFGenerator.gui; % with Graphical User Interface
>> psf = PSFGenerator.get; % Compute a PSF from the GUI parameters
>> psf = PSFGenerator.compute('config.txt');  % Compute a PSF using the parameters of config.txt (without GUI)

3. Configuration file

All the parameters are stored in a human-readable text file config.txt.

#PSF Generator
#Thu Jul 17 15:14:33 CEST 2014
Lambda=610.0
LUT=Fire
NA=1.4
NX=256
NY=256
NZ=65
ResAxial=250.0
ResLateral=100.0
Scale=Linear
Type=double
psf-Astigmatism-axial=Linear
psf-Astigmatism-defocus=100.0
psf-Astigmatism-focus=0.0
psf-BW-accuracy=Good
psf-BW-NI=1.5
psf-Cardinale-Sine-axial=Linear
psf-Cardinale-Sine-defocus=100.0
psf-Cardinale-Sine-focus=0.0
psf-Circular-Pupil-axial=Linear
psf-Circular-Pupil-defocus=100.0
psf-Circular-Pupil-focus=0.0
psf-Cosine-axial=Linear
psf-Cosine-defocus=100.0
psf-Cosine-focus=0.0
psf-Defocus-DBot=30.0
psf-Defocus-DMid=1.0
psf-Defocus-DTop=30.0
psf-Defocus-K=275.0
psf-Defocus-ZI=2000.0
psf-Double-Helix-axial=Linear
psf-Double-Helix-defocus=100.0
psf-Double-Helix-focus=0.0
psf-Gaussian-axial=Linear
psf-Gaussian-defocus=100.0
psf-Gaussian-focus=0.0
psf-GL-accuracy=Good
psf-GL-NI=1.5
psf-GL-NS=1.33
psf-GL-TI=150.0
psf-GL-ZPos=2000.0
psf-Koehler-dBot=6.0
psf-Koehler-dMid=3.0
psf-Koehler-dTop=1.5
psf-Koehler-n0=1.5
psf-Koehler-n1=1.0
psf-Lorentz-axial=Linear
psf-Lorentz-defocus=100.0
psf-Lorentz-focus=0.0
psf-Oriented-Gaussian-axial=Linear
psf-Oriented-Gaussian-defocus=100.0
psf-Oriented-Gaussian-focus=0.0
psf-RW-accuracy=Good
psf-RW-NI=1.5
psf-TV-NI=1.5
psf-TV-NS=1.0
psf-TV-TI=150.0
psf-TV-ZPos=2000.0
psf-VRIGL-accuracy=Good
psf-VRIGL-NG=1.5
psf-VRIGL-NI=1.5
psf-VRIGL-NS1=1.33
psf-VRIGL-NS2=1.4
psf-VRIGL-RIvary=Linear
psf-VRIGL-TG=170.0
psf-VRIGL-TI=150.0
psf-VRIGL-ZPos=2000.0
4. Screenshots

PSFGenerator on Icy

PSFGenerator on ImageJ

5. Conditions of use

You are free to use this software for research purposes, but you should not redistribute it without our consent. In addition, we expect you to include adequate citations and acknowledgments whenever you present or publish results that are based on it.

6. Previous version

This PSFGenerator is based on a previous version including 7 PSF models and running only as a ImageJ plugin. The version is still available PSF_Generator-19.03.13.jar.

PSF Models

1. 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:

Spatial section XY
Axial section YZ
Running time: 12.53 ms to generate a 256x256x64 stack.
2. 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.
Spatial section XY
Axial section YZ
Running time: 3.92 s to generate a 256x256x64 stack.
3. 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:

  • x = (x, y, z) denotes the coordinate of a point in the image plane.
  • xp = (xp; yp; zp) is the coordinate of the point source.
  • τ = (NA; n; t) is the parameter set of the imaging system in which n is the refractive index and t is the thickness.
  • r2 = (x - xp)2 + (y - yp)2 is the point at which ray intersects the exit pupil.
  • J0 is the Bessel function of first kind of order zero.
  • 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.
    Spatial section XY
    Axial section YZ
    Running time: 3.92 s to generate a 256x256x64 stack.
4. 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:

Spatial section XY
Axial section YZ
Running time: 942 ms to generate a 256x256x64 stack.
5. 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:


where

Spatial section XY
Axial section YZ
Running time: 2300 ms to generate a 256x256x64 stack.
6. 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:

Spatial section XY
Axial section YZ
Running time: 1800 ms to generate a 256x256x64 stack.

Bibliography

  • [1] H. Kirshner, D. Sage, M. Unser, "3D PSF Models for Fluorescence Microscopy in ImageJ," Proceedings of the Twelfth International Conference on Methods and Applications of Fluorescence Spectroscopy, Imaging and Probes (MAF'11), Strasbourg, France, September 11-14, 2011, pp. 154.
  • [2] A. Griffa, N. Garin, D. Sage, "Comparison of Deconvolution Software in 3D Microscopy: A User Point of View—Part 1," G.I.T. Imaging & Microscopy, vol. 12, no. 1, pp. 43-45, March 2010.
  • [3] D. Sage, F.R. Neumann, F. Hediger, S.M. Gasser, M. Unser, "Automatic Tracking of Individual Fluorescence Particles: Application to the Study of Chromosome Dynamics," IEEE Transactions on Image Processing, vol. 14, no. 9, pp. 1372-1383, September 2005.
  • [4] F. Aguet, D. Van De Ville, M. Unser, "Model-Based 2.5-D Deconvolution for Extended Depth of Field in Brightfield Microscopy," IEEE Transactions on Image Processing, vol. 17, no. 7, pp. 1144-1153, July 2008.
  • [5] M. Born and E. Wolf, Principles of Optics, 7th edition, Cambridge University Press, 2003, Chapter 8.5, pages 436-445.
  • [6] S. Frisken-Gibson and F. Lanni, Diffraction by a circular aperture as a model for three-dimensional optical microscopy, JOSA A, Vol. 6, No. 9, September 1989.
  • [7] S. Frisken-Gibson and F. Lanni,Experimental test of an analytical model of aberration in an oil-immersion objective lens used in three-dimensional light microscopy, JOSA A, Vol. 9, No. 1, January 1992.
  • [8] B. Richards and E. Wolf, “Electromagnetic diffraction in optical systems. II. structure of the image field in an aplanatic system," Proc. R. Soc. London A, vol. 253, no. 1274, 1959.
  • [9] F. Aguet, "Super-Resolution Fluorescence Microscopy Based on Physical Models," Swiss Federal Institute of Technology Lausanne, EPFL Thesis no. 4418 (2009), 209 p., May 28, 2009.
  • [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.

© 2014 EPFL • webmaster.big@epfl.ch • 23.07.2014