MultiHexagonAperture
- class poppy.MultiHexagonAperture(name='MultiHex', flattoflat=1.0, side=None, gap=0.01, rings=1, segmentlist=None, center=False, **kwargs)[source]
Bases:
MultiSegmentAperture
Defines a hexagonally segmented aperture
- Parameters:
- namestring
Descriptive name
- ringsinteger
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)
- sidefloat, optional
side length (and/or radius) of hexagon, in meters. Overrides flattoflat if both are present.
- flattoflatfloat, 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
- centerbool, optional
should the central segment be included? Default is False.
- segmentlistlist 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, evaluate 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.