AbstractCentralObscuration#
- class esis.optics.abc.AbstractCentralObscuration[source]#
Bases:
Printable,Replaceable,TranslatableAn interface defining the central obscuration of the instrument.
Attributes
The distance from the center to the edge of the obscuration.
The order of the rotational symmetry of the optical system.
The distance from the center to a vertex of the obscuration.
A flag controlling whether the last vertex should be removed.
Represent this object as an
optikasurface.the coordinate transformation between the global coordinate system and this object's local coordinate system
translate the coordinate system
Methods
__init__()replace(**changes)A copy of this object with the given fields replaced.
to_string([prefix])Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.Inheritance Diagram

- replace(**changes)#
A copy of this object with the given fields replaced.
A method version of
dataclasses.replace(), matchingnamed_arrays.AbstractArray.replace(), so that a nested change reads the same at every level:system.replace( surface=system.surface.replace( sag=system.surface.sag.replace(radius=r), ), )
The copy is shallow, as
dataclasses.replace()is: every field which is not named is shared with the original, and mutating one through the copy is mutating it in both. Takecopy.deepcopy()of the result where that matters.- Parameters:
changes – The fields to overwrite in the copy.
- Return type:
- to_string(prefix=None)#
Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.
- abstract property halfwidth: Quantity | AbstractScalar#
The distance from the center to the edge of the obscuration.
- property radius: Quantity | AbstractScalar#
The distance from the center to a vertex of the obscuration.
- abstract property remove_last_vertex: bool#
A flag controlling whether the last vertex should be removed.
- property transformation: AbstractTransformation#
the coordinate transformation between the global coordinate system and this object’s local coordinate system
- abstract property translation: Quantity | AbstractScalar | AbstractVectorArray#
translate the coordinate system