optiland.analysis.y_ybar

Y Y-bar Analysis

This module provides a y y-bar analysis for optical systems. This is a plot of the marginal ray height versus the chief ray height for each surface in the system.

Kramer Harrison, 2024

Classes

YYbar(optic[, wavelength])

Performs and visualizes a Y Y-bar analysis of an optical system.

class YYbar(optic, wavelength: str | float = 'primary')[source]

Performs and visualizes a Y Y-bar analysis of an optical system.

This analysis plots marginal ray height versus chief ray height for each surface in the system.

Parameters:
  • optic (Optic) – The optic object to analyze.

  • wavelength (str | float | int, optional) – Specific wavelength in µm or the string “primary” to use the optic’s primary wavelength. Defaults to “primary”. Primarily used for display in the plot title.

view(fig_to_plot_on=None, figsize=(7, 5.5))[source]

Generates and displays the Y Y-bar diagram.

view(fig_to_plot_on: Figure | None = None, figsize: tuple[float, float] = (7, 5.5), *, show: bool = True) tuple[Figure, Axes][source]

Visualize the Y Y-bar diagram.

Parameters:
  • fig_to_plot_on (plt.Figure, optional) – Existing figure to plot on. Creates a new figure if None.

  • figsize (tuple, optional) – Figure size if creating a new figure.

  • show (bool) – If True (default), calls plt.show(). Set False for headless use.

Returns:

Matplotlib Figure and Axes objects.

Return type:

tuple