主要内容

GeometricPSF

R2026b

Geometric point spread function result

Since R2026b

Description

Add-On Required: This feature requires the Optical Design and Simulation Library for Image Processing Toolbox add-on.

A GeometricPSF object stores a geometric point spread function (PSF) result for one field point in an optical system. A geometric PSF is computed from ray intersections in the image plane. Use a geometric PSF for fast ray-based image quality analysis when aberrations are large compared to diffraction-limited performance.

Creation

Create a GeometricPSF object by using the psf object function of an opticalSystem object. To return a GeometricPSF object, specify the Method name-value argument as "Geometric", or omit the Method argument.

Properties

expand all

This property is read-only.

PSF intensity image, represented as an M-by-N -by-K numeric array. M is the number of image rows, N is the number of image columns, and K is the number of wavelengths specified when computing the PSF.

Data Types: double

This property is read-only.

Field point for which the PSF is computed, represented as a FieldAngle object or a FieldPosition object.

This property is read-only.

Wavelengths used for PSF computation, represented as a K-element numeric vector. Each element is a wavelength in nanometers.

Data Types: double

This property is read-only.

Reference wavelength for centering the PSF image, represented as a positive scalar in nanometers.

Data Types: double

This property is read-only.

Physical extent of the PSF image in the image-plane coordinate system, represented as a 1-by-4 numeric vector of the form [x y w h], in millimeters. The image-plane coordinate system is centered at [0 0]. x and y specify the location of the extent relative to this coordinate system, and w and h specify the width and height.

Data Types: double

This property is read-only.

Option to center the PSF image on the chief ray hit position of the reference wavelength, represented as a logical 1 (true) or 0 (false).

Data Types: logical

Object Functions

centroidCompute centroid of point spread function
ellipticityCompute ellipticity of point spread function
encircledEnergyAtRadiusCompute encircled energy of point spread function
radiusAtEncircledEnergyCompute radius at encircled PSF energy
showPlot analysis result
showEncircledEnergyPlot encircled energy of point spread function

Examples

collapse all

Load the sample Double Gauss lens system using zmximport. Define a field point at an angle of 4 degrees along the x-axis and specify a wavelength of 587.56 nm.

opsys = zmximport("DoubleGaussLens.zmx");
fp = fieldPoint(Angles=[4 0]);
lambda = 587.56;

Compute the geometric PSF for the specified field point and wavelength.

psfr = psf(opsys, FieldPoints=fp, Wavelengths=lambda, Method="Geometric");
psfr
psfr = 
  GeometricPSF with properties:

                  Image: [128×128 double]
             FieldPoint: [1×1 optics.fieldpoint.FieldAngle]
            Wavelengths: 587.5600
    ReferenceWavelength: 587.5600
               Position: [-0.0207 3.8581 0.0415 0.0415]
       CenterOnChiefRay: 1

Load the sample Double Gauss lens system using zmximport. Define a field point at an angle of 4 degrees along the x-axis, set the wavelength to 587.56 nm, and calculate the geometric PSF.

opsys = zmximport("DoubleGaussLens.zmx");
fp = fieldPoint(Angles=[4 0]);
lambda = 587.56;
psfr = psf(opsys, FieldPoints=fp, Wavelengths=lambda, Method="Geometric");

Use the PSF result object, psfr, to extract spot shape metrics and energy distribution properties. Calculate the centroid position, the structural ellipticity, the fraction of energy contained within a radius of 0.01 units, and the radial boundary that contains 80% of the total energy.

centroidLocation = centroid(psfr);
epsilon = ellipticity(psfr);
energyAtRadius = encircledEnergyAtRadius(psfr, 0.01);
radius80 = radiusAtEncircledEnergy(psfr, 0.8);

More About

expand all

Version History

Introduced in R2026b