lentil.Wavefront

class lentil.Wavefront(wavelength, pixelscale=None, shape=None, planetype=None, data=None, focal_length=None)[source]

A class representing a monochromatic wavefront.

Parameters
  • wavelength (float) – Wavelength in meters

  • pixelscale (float, optional) – Physical sampling of wavefront

  • shape ((2,) array_like, optional) – Wavefront shape. If shape is None (default), the wavefront is assumed to be infinite (broadcastable to any shape).

  • data (list_like, optional) – Wavefront data. Default is [1+0j] (a plane wave).

  • focal_length (float or np.inf) – Wavefront focal length. A plane wave (default) has an infinite focal length (np.inf).

Attributes

wavelength

focal_length

data

shape

planetype

field

Wavefront complex field

intensity

Wavefront intensity

pixelscale

Physical sampling of the wavefront

Methods

copy()

insert(out[, weight])

Directly insert wavefront intensity data into an output array.

propagate_image(pixelscale, npix[, ...])

Propagate the Wavefront from a Pupil to an Image plane using Fraunhofer diffraction.