analysis.seidel_diagram#

Seidel Diagram Analysis

This module provides a Seidel diagram for optical systems: a bar chart of the Seidel aberration coefficients contributed by each surface, and their sum.

Rishi Raj, 2026

Classes

SeidelDiagram(optic)

Seidel diagram: the Seidel coefficients SI through SV of each surface.

class SeidelDiagram(optic: Optic)[source]#

Seidel diagram: the Seidel coefficients SI through SV of each surface.

The coefficients are those of optic.aberrations.seidels_per_surface(), computed at the primary wavelength. Their sum over the surfaces is optic.aberrations.seidels().

Parameters:

optic (Optic) – The optic object to analyze.

Variables:
  • optic (Optic) – The optic object being analyzed.

  • data (dict) – The generated data, with keys "per_surface", an array of shape (5, num_surfaces - 2) whose columns are surfaces 1 through num_surfaces - 2, and "sum", the five totals.

view(fig_to_plot_on: Figure | None = None, figsize: tuple[float, float] = (10, 5), *, show: bool = True) → tuple[Figure, Axes][source]#

Displays a grouped bar chart of the Seidel coefficients.

Each group holds the five coefficients of one surface. The last group is their sum over all surfaces.

Parameters:
  • fig_to_plot_on (plt.Figure, optional) – The figure to plot on. If None, a new figure will be created. Defaults to None.

  • figsize (tuple[float, float], optional) – The size of the figure. Defaults to (10, 5).

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

Returns:

The current figure and its axes.

Return type:

tuple