AbstractSystem#
- class optika.systems.AbstractSystem[source]#
Bases:
DxfWritable,Plottable,Printable,Transformable,ShapedAn interface describing an optical system.
Could potentially be sequential or non-sequential.
Attributes
Extra keyword arguments that will be used in the call to
named_arrays.plt.plot()within theplot()method.The array shape of this object.
the coordinate transformation between the global coordinate system and this object's local coordinate system
Methods
__init__()image(scene, **kwargs)Forward model of the optical system.
plot([ax, transformation, components])Plot the selected components onto the given axes.
to_dxf(file, unit[, transformation])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

- abstractmethod image(scene, **kwargs)[source]#
Forward model of the optical system. Maps the given spectral radiance of a scene to detector counts.
- Parameters:
scene (FunctionArray[SpectralPositionalVectorArray, AbstractScalar]) – The spectral radiance of the scene as a function of wavelength and field position.
kwargs (Any) – Additional keyword arguments used by subclass implementations of this method.
- Return type:
- abstractmethod plot(ax=None, transformation=None, components=None, **kwargs)#
Plot the selected components onto the given axes.
- Parameters:
ax (None | Axes | ScalarArray[ndarray[tuple[Any, ...], dtype[_ScalarT]]]) – The matplotlib axes to plot onto
transformation (None | AbstractTransformation) – Any extra transformations to apply to the coordinate system before plotting
components (None | tuple[str, ...]) – Which 3d components to plot, helpful if plotting in 2d.
kwargs – Additional keyword arguments that will be passed along to
named_arrays.plt.plot()
- Return type:
- to_dxf(file, unit, transformation=None)#
- Parameters:
file (Path)
unit (Unit)
transformation (None | AbstractTransformation)
- 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 kwargs_plot: None | dict#
Extra keyword arguments that will be used in the call to
named_arrays.plt.plot()within theplot()method.
- abstract property transformation: None | AbstractTransformation#
the coordinate transformation between the global coordinate system and this object’s local coordinate system