주요 콘텐츠

SimulatedESFRChart

R2026b

Simulated edge spatial frequency response (eSFR) test chart

Since R2026b

Description

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

A SimulatedESFRChart object stores an edge spatial frequency response (eSFR) test chart rendered through an optical system. To display the rendered chart image, use the imageshow function. To display the chart image with slanted edge and gray patch ROI overlays, use the displayChart object function.

The SimulatedESFRChart object supports multiple versions of the eSFR test chart, including "eSFR2014", based on the ISO 12233:2014 standard, and variants of the "eSFR2023" pinwheel chart with different contrast ratios.

You can analyze the simulated eSFR chart using object functions.

  • To apply a different gain as a postprocessing step when comparing rendered images across system configurations, use the refreshImage object function.

  • To estimate the scene illuminant based on the gray patches in the chart, use the measureIlluminant object function.

  • To measure chromatic aberration at the slanted edges of the rendered chart, use the measureChromaticAberration object function.

  • To measure noise levels in the uniform gray patches of the chart, use the measureNoise object function.

  • To measure sharpness using slanted edge analysis, and return spatial frequency response measurements, use the measureSharpness object function.

Creation

Create a SimulatedESFRChart object by rendering a simulated eSFR test chart through an optical system using the renderChart function. You must specify the chartType argument of renderChart as one of these values:

  • "eSFR2014"

  • "eSFR2023-4:1"

  • "eSFR2023-6:1"

  • "eSFR2023-8:1"

  • "eSFR2023-10:1"

Properties

expand all

Image representation of rendered chart, specified as an m-by-n-by-3 array. The rendered image is converted to the sRGB (D65) color space for display.

The sizes of the first two dimensions must match the sizes of the first two dimensions of the OpticalThroughput property.

Data Types: uint8

This property is read-only.

Image gain factor, represented as a positive scalar. This multiplicative gain is applied to the image for exposure adjustment. The default value is automatically computed to the maximum value that prevents clipping in sRGB space.

Data Types: double

This property is read-only.

Optical throughput data, represented as an OpticalThroughput object. This object contains information about the optical throughput efficiency of the system for the rendered chart scene.

This property is read-only.

Physical chart width, represented as a positive scalar. Units are in millimeters.

Data Types: double

This property is read-only.

Physical chart height, represented as a positive scalar. Units are in millimeters.

Data Types: double

This property is read-only.

Positions of the registration points used to orient the image, represented as a 4-by-2 numeric matrix. The four rows correspond to the top-left, top-right, bottom-right, and bottom-left registration points, respectively. The two columns represent pixel coordinates in [x y] format. The SimulatedESFRChart object uses these points for chart registration and alignment.

Data Types: double

This property is read-only.

Chart style identifier, represented as "eSFR2014", "eSFR2023-4:1", "eSFR2023-6:1", "eSFR2023-8:1", or "eSFR2023-10:1".

Data Types: string

This property is read-only.

Position and intensity values of the slanted edges, represented as a 36-element structure array. Each element in the array corresponds to one slanted edge ROI and contains these fields:

FieldDescription
ROI Spatial extent of the ROI, represented as a 1-by-4 vector of the form [X Y Width Height]. X and Y are the coordinates of the top-left corner of the ROI. Width and Height are the width and height of the ROI, in pixels. ROI is of data type double.
ROIIntensity Array of intensity values within the ROI, in RGB format. The array has dimensions Height-by-Width-by-3. The data type of ROIIntensity is uint8.

This property is read-only.

Position and intensity values of the gray patches, represented as a 16-element structure array. Each element in the array corresponds to one gray patch ROI and contains these fields:

FieldDescription
ROI Spatial extent of the ROI, represented as a 1-by-4 vector of the form [X Y Width Height]. X and Y are the coordinates of the top-left corner of the ROI. Width and Height are the width and height of the ROI, in pixels. ROI is of data type double.
ROIIntensity Array of intensity values within the ROI, in RGB format. The array has dimensions Height-by-Width-by-3. The data type of ROIIntensity is uint8.

This property is read-only.

Three-dimensional position of the chart, represented as a 1-by-3 numeric vector of the form [x y z] in millimeters. This is the position of the chart center in global coordinates.

Data Types: double

Object Functions

refreshImageApply postprocess gain to rendered test chart
measureSharpnessMeasure spatial frequency response using test chart
measureChromaticAberrationMeasure chromatic aberration at slanted edges
measureNoiseMeasure noise of test chart
measureIlluminantMeasure scene illuminant using test chart
displayChartDisplay test chart with overlaid regions of interest

Examples

collapse all

Create an optical system containing a doublet lens, singlet lens, and an image sensor.

opsys = opticalSystem;
addRefractiveSurface(opsys,Radius=10,DistanceToNext=4,Material="N-BK7")
addRefractiveSurface(opsys,Radius=-10,DistanceToNext=2,Material="F2")
addRefractiveSurface(opsys,DistanceToNext=10)
addRefractiveSurface(opsys,Radius=10,DistanceToNext=4,Material="N-BK7")
addRefractiveSurface(opsys,Radius=-10)
addGap(opsys,2.75)
addImageSensor(opsys)

Display a 2-D visualization of traced rays through the optical system by using the view2d object function.

hv = view2d(opsys);
addRays(hv)

Render the eSFR2023 4:1 test chart through the optical system using the renderChart object function.

chart = renderChart(opsys,"eSFR2023-4:1",Focus=1);

Display the eSFR test chart with ROI annotations overlaid on the chart.

displayChart(chart)

More About

expand all

Version History

Introduced in R2026b