optics_lens_design
Analyze sequential lens systems by defining surfaces, aperture stop, EPD or f-number, wavelengths, and fields; return EFL, BFL, RMS spot, and oracle deviation.
Instructions
First-order + spot analysis of a SEQUENTIAL optical system with optiland
(MIT, in-process). Requires the optics extra; degrades to {ok:false, reason,
install} otherwise. For a single lens optiland is gated against the analytic
thick-lens oracle (oracle_dev_pct).
surfaces: list (object->image) of {radius, thickness, material, stop?} — exactly
one surface must set stop:true (the aperture stop). epd (entrance-pupil dia)
OR fno. wavelengths_um (first is primary, default [0.5876]). field_angles_deg
(default [0.0]). image_solve solves the last gap to paraxial focus.
Returns the degradation dict, or {ok, backend:'optiland', optiland_version, efl_mm, bfl_mm, fno, n_surfaces, rms_spot_um:[per field], oracle_efl_mm, oracle_dev_pct}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| epd | No | ||
| fno | No | ||
| surfaces | Yes | ||
| want_spot | No | ||
| image_solve | No | ||
| wavelengths_um | No | ||
| field_angles_deg | No |