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: visisipy.optiland.OptilandBackend, coordinates: collections.abc.Sequence[visisipy.backend.FieldCoordinate] | None = None, wavelengths: collections.abc.Sequence[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:
backendOptilandBackend

The Optiland backend to use for the ray trace.

coordinatesSequence[FieldCoordinate], optional

A sequence 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.

wavelengthsSequence[float], optional

A sequence 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.

Raises:
ValueError

If the pupil coordinates are not between -1 and 1.