AbstractInstrument#

class esis.optics.abc.AbstractInstrument[source]#

Bases: Printable, Rollable, Yawable, Pitchable

An interface describing the entire optical system.

Attributes

angle_grating_input

The angle between the grating normal and the direction of the incident light.

angle_grating_output

The angle between the grating normal and the direction of the diffracted light.

axis_channel

The name of the logical axis corresponding to changing camera channel.

camera

A model of the camera and sensors.

central_obscuration

A model of the central obscuration.

field

A default grid of field positions to trace through the system.

field_stop

A model of the field stop.

filter

A model of the thin-film filters.

front_aperture

A model of the front aperture plate.

grating

A model of the diffraction grating array.

kwargs_plot

Extra keyword arguments used to plot the optical system.

name

The human-readable name of the instrument.

pitch

pitch angle of this object

primary_mirror

A model of the primary mirror.

pupil

A default grid of pupil positions to trace through the system.

roll

roll angle of this object

system

Convert this model into an instance of optika.systems.SequentialSystem.

transformation

the coordinate transformation between the global coordinate system and this object's local coordinate system

wavelength

A default grid of wavelengths to trace through the system.

wavelength_max

The maximum wavelength permitted through the system.

wavelength_min

The minimum wavelength permitted through the system.

wavelength_physical

The value of wavelength converted to physical units if needed.

yaw

yaw angle of this object

Methods

__init__()

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

Inheritance diagram of esis.optics.abc.AbstractInstrument
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.

Parameters:

prefix (None | str) – an optional string, the length of which is used to calculate how much whitespace to add to the result.

Return type:

str

property angle_grating_input: AbstractScalar#

The angle between the grating normal and the direction of the incident light.

This is the incidence angle \(theta_i\) in the diffraction grating equation.

property angle_grating_output: AbstractScalar#

The angle between the grating normal and the direction of the diffracted light.

This is an analogue to the diffracted angle in the diffraction grating equation.

abstract property axis_channel#

The name of the logical axis corresponding to changing camera channel.

abstract property camera: None | Camera#

A model of the camera and sensors.

abstract property central_obscuration: None | AbstractCentralObscuration#

A model of the central obscuration.

abstract property field: None | AbstractCartesian2dVectorArray#

A default grid of field positions to trace through the system.

abstract property field_stop: None | AbstractFieldStop#

A model of the field stop.

abstract property filter: None | AbstractFilter#

A model of the thin-film filters.

abstract property front_aperture: None | AbstractFrontAperture#

A model of the front aperture plate.

abstract property grating: None | AbstractGrating#

A model of the diffraction grating array.

abstract property kwargs_plot#

Extra keyword arguments used to plot the optical system.

abstract property name: str#

The human-readable name of the instrument.

abstract property pitch: Quantity | int | float | complex | ndarray | AbstractScalar#

pitch angle of this object

abstract property primary_mirror: None | AbstractPrimaryMirror#

A model of the primary mirror.

abstract property pupil#

A default grid of pupil positions to trace through the system.

abstract property roll: Quantity | int | float | complex | ndarray | AbstractScalar#

roll angle of this object

property system: SequentialSystem#

Convert this model into an instance of optika.systems.SequentialSystem.

This is a cached property that is only computed once.

property transformation: AbstractTransformation#

the coordinate transformation between the global coordinate system and this object’s local coordinate system

abstract property wavelength: None | Quantity | AbstractScalar#

A default grid of wavelengths to trace through the system.

Can be either in normalized coordinates (in the range \(-1\) to \(+1\)) or in physical coordinates (with units of length).

See also

wavelength_physical

This value converted into in physical coordinates.

property wavelength_max: Quantity | AbstractScalar#

The maximum wavelength permitted through the system.

property wavelength_min: Quantity | AbstractScalar#

The minimum wavelength permitted through the system.

property wavelength_physical: ScalarArray#

The value of wavelength converted to physical units if needed.

abstract property yaw: Quantity | int | float | complex | ndarray | AbstractScalar#

yaw angle of this object