ThinLens

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

Bases: 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).

Recall the sign convention choice that the OPD is positive if the aberrated wavefront leads the ideal unaberrated wavefront; a converging wavefront leads at its outer edges relative to a flat wavefront.

In other words, a positive number of waves of defocus indicates a lens with more positive OPD at the edges than at the center.

NOTE - this sign convention was different in prior versions of poppy < 1.0.

Parameters:
nwavesfloat

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_wavelengthfloat

Wavelength, in meters, at which that number of waves of defocus is specified.

radiusfloat

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.

In this base class instance, the wavefront parameter ‘wave’ is not used,

and the .opd attribute of the optic is returned directly. Subclasses may change this behavior, for instance to evaluate optical aberrations on the sampling defined for that wavefront, or to compute the wavelength-dependent aberrations of a refractive optic.

Parameters:
wavefloat or obj

either a scalar wavelength or a Wavefront object

Returns:
ndarray giving OPD in meters