Introduction
============

This section contains the API reference documentation for Optiland. All public classes, functions, and methods are documented here.

.. figure:: ../images/class_diagram.svg
   :alt: Architectural Diagram of Optiland
   :align: center
   :figwidth: 100%

   Architectural diagram showing relationships between the `Optic` class, which is the core class for optical systems, and other key components like fields,
   surfaces, rays, optimization, analysis, and visualization frameworks.

This diagram is not meant to be exhaustive but provides a high-level overview of the core components and their interactions.

The following sections provide detailed information about the various modules and classes in the Optiland package.

.. toctree::
   :hidden:
   :maxdepth: 1
   :caption: Modules

   api_analysis
   api_prescription
   api_backend
   api_coatings
   api_colorimetry
   api_core
   api_diagnostics
   api_environment
   api_fields
   api_fileio
   api_geometries
   api_interactions
   api_materials
   api_ml
   api_optic
   api_optimization
   api_paraxial
   api_phase
   api_physical_apertures
   api_rays
   api_raytrace
   api_sequences
   api_solves
   api_sources
   api_surfaces
   api_thin_film
   api_tolerancing
   api_visualization
   api_wavefront
   api_zernike
   api_nonsequential
   api_multiconfig
