Requirements#

class esis.optics.Requirements(resolution_spatial, resolution_spectral, fov, snr, cadence, length_observation)[source]#

Bases: Printable, Replaceable

The requirements of the ESIS optical system.

Attributes

resolution_angular

The angular resolution of the instrument.

resolution_spatial

The required spatial resolution of the instrument.

resolution_spectral

The required spectral resolution of the instrument.

fov

The required field of view of the instrument.

snr

The required signal-to-noise ratio of the instrument.

cadence

The required cadence of the instrument.

length_observation

The required amount of observing time.

Methods

__init__(resolution_spatial, ...)

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

Inheritance diagram of esis.optics.Requirements
Parameters:
replace(**changes)#

A copy of this object with the given fields replaced.

A method version of dataclasses.replace(), matching named_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. Take copy.deepcopy() of the result where that matters.

Parameters:

changes – The fields to overwrite in the copy.

Return type:

Self

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

cadence: Quantity#

The required cadence of the instrument.

fov: Quantity#

The required field of view of the instrument.

length_observation: Quantity#

The required amount of observing time.

property resolution_angular: Quantity#

The angular resolution of the instrument.

resolution_spatial: Quantity#

The required spatial resolution of the instrument.

resolution_spectral: Quantity#

The required spectral resolution of the instrument.

snr: Quantity#

The required signal-to-noise ratio of the instrument.