visisipy.optiland.analysis.raytrace#

Ray trace analysis for Optiland.

Functions#

raytrace() → tuple[pandas.DataFrame, None])

Perform a ray trace analysis using the given parameters.

Module Contents#

visisipy.optiland.analysis.raytrace.raytrace(backend: type[visisipy.optiland.OptilandBackend], coordinates: collections.abc.Iterable[visisipy.backend.FieldCoordinate] | None = None, wavelengths: collections.abc.Iterable[float] | None = None, field_type: visisipy.backend.FieldType = 'angle', pupil: tuple[float, float] = (0, 0)) tuple[pandas.DataFrame, None]#

Perform a ray trace analysis using the given parameters.

The ray trace is performed for each wavelength and field in the system, using the generic ray trace in Optiland.

The analysis returns a Dataframe with the following columns:

  • field: The field coordinates for the ray trace.

  • wavelength: The wavelength used in the ray trace.

  • surface: The surface number in the system.

  • comment: The comment for the surface.

  • x: The X-coordinate of the ray trace.

  • y: The Y-coordinate of the ray trace.

  • z: The Z-coordinate of the ray trace.

Parameters#

backendtype[OptilandBackend]

The Optiland backend to use for the ray trace.

coordinatesIterable[tuple[float, float]], optional

An iterable of tuples representing the coordinates for the ray trace. If field_type is “angle”, the coordinates should be the angles along the (X, Y) axes in degrees. If field_type is “object_height”, the coordinates should be the object heights along the (X, Y) axes in mm. Defaults to None, which uses the fields defined in the backend.

wavelengthsIterable[float], optional

An iterable of wavelengths to be used in the ray trace. Defaults to None, which uses the wavelengths defined in the backend.

field_typeLiteral[“angle”, “object_height”], optional

The type of field to be used in the ray trace. Can be either “angle” or “object_height”. Defaults to “angle”.

pupiltuple[float, float], optional

A tuple representing the pupil coordinates for the ray trace. Defaults to (0, 0).

Returns#

DataFrame

A pandas DataFrame containing the results of the ray trace analysis.