Optical Point Spread Function generator (with aberrations)
Versión 1.0.0 (9,25 KB) por
Marcoleonetti1
3D PSF of a microscopy objective starting Focal length, stop size and numerical aperture. Includes Aberrations, and illumination properties.
Point Spread Function Generator in real space (without using fourier transform) the algorithm employs the generation of plane waves from the pupil plane. To ensure performance, instead of sampling all points in the pupil plane a random subset of point sources is selected. PSF is printed in an area much smaller than the total pupil size Optical system () is designed from stop size numerical aperture e refractive index in the medium.
PtsS: number of points composing the side of the PSF stamp
PixSzS: fisical size of the pixel in the PSF plane.
StopRadius; Radius of the objective pupil
NA: numerical aperture of the objecive in millimeters
RefInd: refractive index of the objective-sample medium
Wav: wavelength in microns
ZSm: z position (z axis parallel to the axis of simmetry of the objective) in microns: 0 correspond to the focus of the objective. a
negative value corresponds to a z position close to the objective plane
Zrn_Coeff: a vector containing the coefficients of the first 5 Zernike
coefficents: from the first to the last:
Vertical astigmatism*; Oblique astigmatism*; Defocus*; horizontal Coma*; vertical Coma*
Example values for an human eye are NA =0.035; RefInd=1.33; StopRadius=1500;
requires zernfun to generate the abberration-related phase masks function
by Paul Fricker https://it.mathworks.com/matlabcentral/fileexchange/7687-zernike-polynomials
by activation of the various sub-modules (non documented) it is possible to simulate a
gaussian beam (impinging on the objective) or a lens.
Author: Marco Leonetti
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Citation for this code/algorithm or any of its parts:
Marco Leonetti https://mlphotonics.wordpress.com/
% The code is written by Marco Leonetti, September, 2024
% marco.leonetti(at)iit.it
% Matlab version for this code is R2019b
Citar como
Marcoleonetti1 (2024). Optical Point Spread Function generator (with aberrations) (https://www.mathworks.com/matlabcentral/fileexchange/172875-optical-point-spread-function-generator-with-aberrations), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Se creó con
R2019b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS LinuxEtiquetas
Agradecimientos
Inspirado por: Zernike polynomials
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
Versión | Publicado | Notas de la versión | |
---|---|---|---|
1.0.0 |