BandLimitedCoronagraph
- class poppy.BandLimitedCoronagraph(name='unnamed BLC', kind='circular', sigma=1, wavelength=None, **kwargs)[source]
Bases:
AnalyticImagePlaneElementDefines 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 accepts (deprecated) ‘nircamcircular’ and ‘nircamwedge’ for JWST NIRCam occulters; these will raise a DeprecationWarning.
- sigmafloat
The numerical size parameter, as specified in Krist et al. 2009 SPIE
- wavelengthastropy Quantity length or float, optional
Wavelength this BLC is optimized for (only used for the ‘linear’ kind). Plain float is interpreted as meters.
Attributes Summary
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.