Detector¶
- class kgpy.optics.detectors.Detector(name='', plot_kwargs=<factory>, transform=<factory>, is_field_stop=False, is_pupil_stop=False, is_pupil_stop_test=False, is_active=True, is_visible=True, sag=None, material=None, aperture=None, aperture_mechanical=None, ruling=None, baffle_loft_ids=<factory>, shape_pixels=None)¶
Bases:
Surface[None,MaterialT,Rectangular,Rectangular,None]- Parameters:
name (str) –
transform (TransformList) –
is_field_stop (bool) –
is_pupil_stop (bool) –
is_pupil_stop_test (bool) –
is_active (bool) –
is_visible (bool) –
sag (SagT | None) –
material (MaterialT | None) –
aperture (ApertureT | None) –
aperture_mechanical (ApertureMechT | None) –
ruling (RulingT | None) –
shape_pixels (Cartesian2D[int, int]) –
- __init__(name='', plot_kwargs=<factory>, transform=<factory>, is_field_stop=False, is_pupil_stop=False, is_pupil_stop_test=False, is_active=True, is_visible=True, sag=None, material=None, aperture=None, aperture_mechanical=None, ruling=None, baffle_loft_ids=<factory>, shape_pixels=None)¶
- Parameters:
name (str) –
transform (TransformList) –
is_field_stop (bool) –
is_pupil_stop (bool) –
is_pupil_stop_test (bool) –
is_active (bool) –
is_visible (bool) –
sag (SagT | None) –
material (MaterialT | None) –
aperture (ApertureT | None) –
aperture_mechanical (ApertureMechT | None) –
ruling (RulingT | None) –
shape_pixels (Cartesian2D[int, int] | None) –
- Return type:
None
Attributes
Aperture of this surface
Mechanical aperture of this surface
Flag to disable the surface
Flag to disable plotting this surface
Material type for this surface
Ruling profile of this surface
Sag profile of this surface
Methods
__init__([name, plot_kwargs, transform, ...])copy()- rtype:
typing.TypeVar(CopyableT, bound= Copyable)
- rtype:
typing.TypeVar(CopyableT, bound= Copyable)
plot(ax[, component_x, component_y, ...])- rtype:
propagate_rays(ray[, intercept_error])- rtype:
ray_intercept(ray[, intercept_error])- rtype:
write_to_dxf(file_writer, unit[, ...])- rtype:
Inheritance Diagram
digraph inheritance66997e5fd5 { bgcolor=transparent; rankdir=TB; size="8.0, 12.0"; "abc.ABC" [URL="https://docs.python.org/3/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "kgpy.io.dxf.WritableMixin" [URL="kgpy.io.dxf.WritableMixin.html#kgpy.io.dxf.WritableMixin",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="WritableMixin()"]; "abc.ABC" -> "kgpy.io.dxf.WritableMixin" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Broadcastable" [URL="kgpy.mixin.Broadcastable.html#kgpy.mixin.Broadcastable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Class to help with determining the shape of the optical configuration."]; "kgpy.mixin.Copyable" [URL="kgpy.mixin.Copyable.html#kgpy.mixin.Copyable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "abc.ABC" -> "kgpy.mixin.Copyable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Dataframable" [URL="kgpy.mixin.Dataframable.html#kgpy.mixin.Dataframable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="This mixin class naively converts a child class to a :class:`pandas.Dataframe`."]; "kgpy.mixin.Named" [URL="kgpy.mixin.Named.html#kgpy.mixin.Named",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Named(name: str = '')"]; "kgpy.mixin.Copyable" -> "kgpy.mixin.Named" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Dataframable" -> "kgpy.mixin.Named" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Plottable" [URL="kgpy.mixin.Plottable.html#kgpy.mixin.Plottable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Plottable(plot_kwargs: Dict[str, Any] = <factory>)"]; "kgpy.mixin.Copyable" -> "kgpy.mixin.Plottable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "abc.ABC" -> "kgpy.mixin.Plottable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.optics.detectors.Detector" [URL="kgpy.optics.detectors.Detector.html#kgpy.optics.detectors.Detector",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Detector(name: str = '', plot_kwargs: Optional[Dict[str, Any]] = <factory>, transform: kgpy.transforms.TransformList = <factory>, is_field_stop: bool = False, is_pupil_stop: bool = False, is_pupil_stop_test: bool = False, is_active: bool = True, is_visible: bool = True, sag: Optional[~SagT] = None, material: Optional[~MaterialT] = None, aperture: Optional[~ApertureT] = None, aperture_mechanical: Optional[~ApertureMechT] = None, ruling: Optional[~RulingT] = None, baffle_loft_ids: List[int] = <factory>, shape_pixels: 'kgpy.vectors.Cartesian2D[int, int]' = None)"]; "kgpy.optics.surfaces.Surface" -> "kgpy.optics.detectors.Detector" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.optics.surfaces.Surface" [URL="kgpy.optics.surfaces.Surface.html#kgpy.optics.surfaces.Surface",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Interface for representing an optical surface."]; "kgpy.io.dxf.WritableMixin" -> "kgpy.optics.surfaces.Surface" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Broadcastable" -> "kgpy.optics.surfaces.Surface" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.transforms.Transformable" -> "kgpy.optics.surfaces.Surface" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Plottable" -> "kgpy.optics.surfaces.Surface" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Named" -> "kgpy.optics.surfaces.Surface" [arrowsize=0.5,style="setlinewidth(0.5)"]; "abc.ABC" -> "kgpy.optics.surfaces.Surface" [arrowsize=0.5,style="setlinewidth(0.5)"]; "typing.Generic" -> "kgpy.optics.surfaces.Surface" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.transforms.Transformable" [URL="kgpy.transforms.Transformable.html#kgpy.transforms.Transformable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Transformable(transform: kgpy.transforms.TransformList = <factory>)"]; "typing.Generic" [URL="https://docs.python.org/3/library/typing.html#typing.Generic",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for generic types."]; }- copy()¶
- Return type:
typing.TypeVar(CopyableT, bound= Copyable)- Parameters:
self (CopyableT) –
- copy_shallow()¶
- Return type:
typing.TypeVar(CopyableT, bound= Copyable)- Parameters:
self (CopyableT) –
- plot(ax, component_x='x', component_y='y', component_z='z', transform_extra=None, to_global=False, plot_annotations=True, annotation_text_y=1.05, **kwargs)¶
- Return type:
- Parameters:
- propagate_rays(ray, intercept_error=<Quantity 0.1 nm>)¶
- Return type:
- Parameters:
- ray_intercept(ray, intercept_error=<Quantity 0.1 nm>)¶
- Return type:
- Parameters:
- write_to_dxf(file_writer, unit, transform_extra=None)¶
- Return type:
- Parameters:
self (SurfaceT) –
file_writer (R12FastStreamWriter) –
unit (Unit) –
transform_extra (TransformList | None) –
- aperture: typ.Optional[ApertureT] = None¶
Aperture of this surface
- aperture_mechanical: typ.Optional[ApertureMechT] = None¶
Mechanical aperture of this surface
- baffle_loft_ids: typ.List[int]¶
- property broadcasted¶
- property indices_pixels: Cartesian2D¶
- is_active: bool = True¶
Flag to disable the surface
- is_field_stop: bool = False¶
- is_pupil_stop: bool = False¶
- is_pupil_stop_test: bool = False¶
- is_visible: bool = True¶
Flag to disable plotting this surface
- material: typ.Optional[MaterialT] = None¶
Material type for this surface
- name: str = ''¶
- property pitch_pixels: Cartesian2D¶
- plot_kwargs: typ.Optional[typ.Dict[str, typ.Any]]¶
- property position_pixels¶
- ruling: typ.Optional[RulingT] = None¶
Ruling profile of this surface
- sag: typ.Optional[SagT] = None¶
Sag profile of this surface
- property shape¶
- shape_pixels: kgpy.vectors.Cartesian2D[int, int] = None¶
- transform: TransformList¶