BandLimitedCoronagraph

class poppy.BandLimitedCoronagraph(name='unnamed BLC', kind='circular', sigma=1, wavelength=None, **kwargs)[source]

Bases: AnalyticImagePlaneElement

Defines an ideal band limited coronagraph occulting mask.

Parameters:
namestring

Descriptive name

kindstring

Either ‘circular’ or ‘linear’. The linear ones are custom shaped to NIRCAM’s design with flat bits on either side of the linear tapered bit. Also includes options ‘nircamcircular’ and ‘nircamwedge’ specialized for the JWST NIRCam occulters, including the off-axis ND acq spots and the changing width of the wedge occulter.

sigmafloat

The numerical size parameter, as specified in Krist et al. 2009 SPIE

wavelengthfloat

Wavelength this BLC is optimized for, only for the linear ones.

Attributes Summary

allowable_kinds

Allowable types of BLC supported by this class

Methods Summary

get_transmission(wave)

Compute the amplitude transmission appropriate for a BLC for some given pixel spacing corresponding to the supplied Wavefront.

Attributes Documentation

allowable_kinds = ['circular', 'linear']

Allowable types of BLC supported by this class

Methods Documentation

get_transmission(wave)[source]

Compute the amplitude transmission appropriate for a BLC for some given pixel spacing corresponding to the supplied Wavefront.

Based on the Krist et al. SPIE paper on NIRCam coronagraph design

Note that the equations in Krist et al specify the intensity transmission of the occulter, but what we want to return here is the amplitude transmittance. That is the square root of the intensity, of course, so the equations as implemented here all differ from those written in Krist’s SPIE paper by lacking an exponential factor of 2. Thanks to John Krist for pointing this out.