MultiHexagonAperture

class poppy.MultiHexagonAperture(name='MultiHex', flattoflat=1.0, side=None, gap=0.01, rings=1, segmentlist=None, center=False, **kwargs)[source]

Bases: poppy.optics.AnalyticOpticalElement

Defines a hexagonally segmented aperture

name : string
Descriptive name
rings : integer
The number of rings of hexagons to include, not counting the central segment (i.e. 2 for a JWST-like aperture, 3 for a Keck-like aperture, and so on)
side : float, optional
side length (and/or radius) of hexagon, in meters. Overrides flattoflat if both are present.
flattoflat : float, optional
Distance between sides (flat-to-flat) of the hexagon, in meters. Default is 1.0
gap: float, optional
Gap between adjacent segments, in meters. Default is 0.01 m = 1 cm
center : bool, optional
should the central segment be included? Default is False.
segmentlist : list of ints, optional
This allows one to specify that only a subset of segments are present, for a partially populated segmented telescope, non-redundant segment set, etc. Segments are numbered from 0 for the center segment, 1 for the segment immediately above it, and then clockwise around each ring. For example, segmentlist=[1,3,5] would make an aperture of 3 segments.

Note that this routine becomes a bit slow for nrings >4. For repeated computations on the same aperture, avoid repeated evaluations of this function. It will be faster to create this aperture, evalute it once, and save the result onto a discrete array, via either

(1) saving it to a FITS file using the to_fits() method, and then use that in a FITSOpticalElement, or (2) Use the fixed_sampling_optic function to create an ArrayOpticalElement with a sampled version of this.

Methods Summary

get_transmission(wave) Compute the transmission inside/outside of the occulter.

Methods Documentation

get_transmission(wave)[source]

Compute the transmission inside/outside of the occulter.