ThinLens

class poppy.ThinLens(name='Thin lens', nwaves=4.0, reference_wavelength=<Quantity 1.e-06 m>, radius=<Quantity 1. m>, **kwargs)[source]

Bases: poppy.optics.CircularAperture

An idealized thin lens, implemented as a Zernike defocus term.

The sign convention adopted is the usual for lenses: a “positive” lens is converging (i.e. convex), a “negative” lens is diverging (i.e. concave).

In other words, a positive number of waves of defocus indicates a lens with positive OPD at the center, and negative at its rim. (Note, this is opposite the sign convention for Zernike defocus)

nwaves : float
The number of waves of defocus, peak to valley. May be positive or negative. This is applied as a normalization over an area defined by the circumscribing circle of the input wavefront. That is, there will be nwaves defocus peak-to-valley over the region of the pupil that has nonzero input intensity.
reference_wavelength : float
Wavelength, in meters, at which that number of waves of defocus is specified.
radius : float
Pupil radius, in meters, over which the Zernike defocus term should be computed such that rho = 1 at r = radius.

Methods Summary

get_opd(wave) Return the optical path difference, given a wavelength.

Methods Documentation

get_opd(wave)[source]

Return the optical path difference, given a wavelength.

wave : float or obj
either a scalar wavelength or a Wavefront object

ndarray giving OPD in meters