lentil.Plane#
- class lentil.Plane(amplitude=1, opd=0, mask=None, pixelscale=None, diameter=None, ptype=None, **kwargs)[source]#
Base class for representing a finite geometric plane.
- Parameters:
amplitude (array_like, optional) – Electric field amplitude transmission. Amplitude should be normalized with
normalize_power()
if conservation of power through diffraction propagation is required. If not specified (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 or (2,) array_like, optional) – Physical sampling of each pixel in the plane. If
pixelscale
is a scalar, uniform sampling in x and y is assumed. If None (default),pixelscale
is left undefined.diameter (float, optional) – Outscribing diameter around mask. If not provided (default), it is computed from the boundary of
mask
.ptype (ptype object) – Plane type
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