visisipy.optiland.analysis.raytrace#
Ray trace analysis for Optiland.
Functions#
|
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.