lentil.Pupil#
- class lentil.Pupil(amplitude=1, opd=0, mask=None, pixelscale=None, focal_length=None, diameter=None, **kwargs)[source]#
Class for representing a pupil plane.
- Parameters:
amplitude (array_like, optional) – Electric field amplitude transmission. Amplitude should be normalized with
normalize_power()
if conservation of power through a diffraction propagation is required. If not specified, a default amplitude is created which has no effect on wavefront propagation. Can also be specified using theamp
keyword.opd (array_like, optional) – Optical path difference (OPD) induced by plane. If not specified (default), zero OPD is created which has no effect on wavefront propagation.
mask (array_like, optional) –
Binary mask. If not specified, a mask is created from the amplitude. If
mask
has 2 dimensions, the plane is assumed to be monolithic. Ifmask
has 3 dimensions, the plane is assumed to be segmented with the individual segment masks inserted along the first dimension.pixelscale (float) – Physical sampling of each pixel in the pupil
focal_length (float) – Focal length
diameter (float, optional) – Outscribing diameter around mask. If not provided (default), it is computed from the boundary of
mask
.
Notes
By definition, a pupil is represented by a spherical wavefront. Any aberrations in the optical system appear as deviations from this perfect sphere. The primary use of
Pupil
is to represent this spherical wavefront.
Attributes
Electric field amplitude transmission |
|
Plane diameter |
|
Flattened view of |
|
Binary transmission mask |
|
Optical path difference |
|
Physical sampling of each pixel in the plane |
|
2D vector representing piston and tilt in x and y. |
|
Plane type |
|
Plane dimensions computed from |
|
Number of independent masks (segments) in |
Methods