ArrayOpticalElement

class poppy.ArrayOpticalElement(opd=None, transmission=None, pixelscale=None, **kwargs)[source]

Bases: OpticalElement

Defines an arbitrary optic, based on amplitude transmission and/or OPD given as numpy arrays.

This is a very lightweight wrapper for the base OpticalElement class, which just provides some additional convenience features in the initializer.

Parameters:
opdndarray, optional

Optical path difference array in meters. If not provided and transmission is given, OPD defaults to an array of zeros with the same shape.

transmissionndarray, optional

Electric field amplitude transmission array (values 0–1). If not provided and opd is given, transmission defaults to an array of ones with the same shape.

pixelscaleastropy.units.Quantity or float, optional

Pixel scale of the provided arrays, in meters/pixel (pupil plane) or arcsec/pixel (image plane). If not set, no pixel scale is associated with the optic.

**kwargs

Additional keyword arguments passed to OpticalElement (e.g., name, planetype, oversample).