InverseTransmission

class poppy.InverseTransmission(optic=None)[source]

Bases: AnalyticOpticalElement

Given any arbitrary OpticalElement with transmission T(x,y) return the inverse transmission 1 - T(x,y)

This is a useful ingredient in the SemiAnalyticCoronagraph algorithm.

Attributes Summary

shape

Return shape of the OpticalElement, as a tuple

Methods Summary

display(**kwargs)

Display plots showing an optic's transmission and OPD.

get_opd(wave)

Return the optical path difference, given a wavelength.

get_transmission(wave)

Note that this is the amplitude transmission, not the total intensity transmission.

Attributes Documentation

shape

Methods Documentation

display(**kwargs)[source]

Display plots showing an optic’s transmission and OPD.

Parameters:
whatstr

What to display: ‘intensity’, ‘amplitude’, ‘phase’, ‘opd’, or ‘both’ (meaning intensity and OPD in two subplots)

axmatplotlib.Axes instance

Axes to display into

nrows, rowintegers

number of rows and row index for subplot display

crosshairsbool

Display crosshairs indicating the center?

colorbarbool

Show colorbar?

colorbar_orientationbool

Desired orientation, horizontal or vertical? Default is horizontal if only 1 row of plots, else vertical

opd_vmaxfloat

Max absolute value for OPD image display, in meters.

titlestring

Plot label

wavelengthfloat, default 1 micron

For optics with wavelength-dependent behavior, evaluate at this wavelength for display.

npixinteger

For optics without a fixed pixel sampling, evaluate onto this many pixels for display.

grid_sizefloat

For optics without a fixed pixel sampling, evaluate onto this large a spatial or angular extent for display. Specify in units of arcsec for image plane optics, meters for all other optics. If unspecified, a default value will be chosen instead, possibly from the ._default_display_size attribute, if present.

get_opd(wave)[source]

Return the optical path difference, given a wavelength.

In this base class instance, the wavefront parameter ‘wave’ is not used,

and the .opd attribute of the optic is returned directly. Subclasses may change this behavior, for instance to evaluate optical aberrations on the sampling defined for that wavefront, or to compute the wavelength-dependent aberrations of a refractive optic.

Parameters:
wavefloat or obj

either a scalar wavelength or a Wavefront object

Returns:
ndarray giving OPD in meters
get_transmission(wave)[source]

Note that this is the amplitude transmission, not the total intensity transmission.