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 the amp 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. If mask has 3 dimensions, the plane is assumed to be segmented with the individual segment masks inserted along the first dimension.

    ../../_images/segmask.png

  • 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

amplitude

Electric field amplitude transmission

diameter

Plane diameter

global_mask

Flattened view of mask

mask

Binary transmission mask

opd

Optical path difference

pixelscale

Physical sampling of each pixel in the plane

ptt_vector

2D vector representing piston and tilt in x and y.

ptype

Plane type

shape

Plane dimensions computed from mask.

size

Number of independent masks (segments) in mask

Methods

copy()

Make a copy of this object.

fit_tilt([inplace])

Fit and remove tilt from Plane opd via least squares.

multiply(wavefront)

Multiply with a wavefront

resample(pixelscale)

Resample a plane via interpolation.

rescale(scale)

Rescale a plane via interpolation.