optiland.rays.ray_aiming.paraxial

Paraxial Ray Aimer Module

This module implements the paraxial ray aiming algorithm, which aims rays at the paraxial entrance pupil.

Kramer Harrison, 2025

Classes

ParaxialRayAimer(optic, **kwargs)

Paraxial ray aiming algorithm.

class ParaxialRayAimer(optic: Optic, **kwargs: Any)[source]

Paraxial ray aiming algorithm.

This aimer targets the paraxial entrance pupil of the optical system. It handles both finite and infinite object distances, as well as telecentric object spaces.

aim_rays(fields: tuple[ScalarOrArrayT, ScalarOrArrayT], wavelengths: ScalarOrArrayT, pupil_coords: tuple[ScalarOrArrayT, ScalarOrArrayT]) tuple[ScalarOrArrayT, ScalarOrArrayT, ScalarOrArrayT, ScalarOrArrayT, ScalarOrArrayT, ScalarOrArrayT][source]

Calculate ray starting coordinates and direction cosines targeting the paraxial entrance pupil.

Parameters:
  • fields – Normalized field coordinates (Hx, Hy).

  • wavelengths – Wavelengths for the rays (unused in paraxial aimer).

  • pupil_coords – Normalized pupil coordinates (Px, Py).

Returns:

  • x: Starting x-coordinate.

  • y: Starting y-coordinate.

  • z: Starting z-coordinate.

  • L: Direction cosine L.

  • M: Direction cosine M.

  • N: Direction cosine N.

Return type:

Tuple containing