visisipy.models.catalog.navarro#

Escudero-Sanz and Navarro wide-angle schematic eye.

This module does not provide an eye model class, because the default eye model in visisipy is already based on the Navarro geometry and materials.

Classes#

NavarroGeometry

Geometric parameters of the Navarro wide-angle schematic eye.

Module Contents#

class visisipy.models.catalog.navarro.NavarroGeometry(**surfaces: visisipy.types.Unpack[visisipy.models.geometry.EyeModelSurfaces])#

Bases: visisipy.models.geometry.EyeGeometry[visisipy.models.geometry.StandardSurface, visisipy.models.geometry.StandardSurface, visisipy.models.geometry.Stop, visisipy.models.geometry.StandardSurface, visisipy.models.geometry.StandardSurface, visisipy.models.geometry.StandardSurface]

Geometric parameters of the Navarro wide-angle schematic eye.

This schematic eye is based on the Navarro model as described in [1]. Sizes are specified in mm.

Attributes:
cornea_frontStandardSurface

The front surface of the cornea.

cornea_backStandardSurface

The back surface of the cornea.

pupilStop

The pupil of the eye.

lens_frontStandardSurface

The front surface of the lens.

lens_backStandardSurface

The back surface of the lens.

retinaStandardSurface

The retina of the eye.

References

[1]

Escudero-Sanz, I., & Navarro, R. (1999). Off-axis aberrations of a wide-angle schematic eye model. JOSA A, 16(8), 1881-1891. https://doi.org/10.1364/JOSAA.16.001881

Examples

Use the default Navarro geometry:

>>> from visisipy import NavarroGeometry
>>> geometry = NavarroGeometry()

Create a Navarro geometry with a custom retina:

>>> geometry = NavarroGeometry(
...     retina=StandardSurface(radius=-12.5, asphericity=0.5)
... )

Create a default Navarro geometry and change only the lens back radius:

>>> geometry = NavarroGeometry()
>>> geometry.lens_back.radius = -5.8