visisipy.optiland.analysis.cardinal_points#

Cardinal points analysis for Optiland.

Functions#

cardinal_points(...)

Get the cardinal points of the system between surface_1 and surface_2.

Module Contents#

visisipy.optiland.analysis.cardinal_points.cardinal_points(backend: visisipy.optiland.OptilandBackend, surface_1: int | None = None, surface_2: int | None = None) tuple[visisipy.analysis.cardinal_points.CardinalPointsResult, optiland.paraxial.Paraxial]#

Get the cardinal points of the system between surface_1 and surface_2.

Note that Optiland only supports calculating cardinal points for the entire system, not for a subset of surfaces. A ValueError will be raised if surface_1 or surface_2 are different from the first and last surfaces in the system.

Parameters:
backendOptilandBackend

Reference to the Optiland backend.

surface_1int | None, optional

The first surface to be used in the analysis. If None, the first surface in the system will be used. Defaults to None.

surface_2int | None, optional

The second surface to be used in the analysis. If None, the last surface in the system will be used. Defaults to None.

Returns:
CardinalPointsResult

The cardinal points of the system.

Raises:
ValueError

If surface_1 or surface_2 are not between 1 and the number of surfaces in the system, or if surface_1 is greater than or equal to surface_2.