exorad.models.optics.opticalPath module
- class InstRadiance(wl_grid, data, time_grid=<Quantity [0.] h>)[source]
Bases:
RadianceHandler for instrument radiance.
- Variables:
class constructor
- Parameters:
wl_grid (quantity) – wavelength grid. Must have a single axes
data (array) – data table. Can have 2 axes
time_grid (quantity (optional)) – time grid. Must have a single axes
- position = 'path'
- slit = None
- class OpticalPath(description, wl)[source]
Bases:
LoggerHandler for instrument diffuse light.
- Parameters:
description (dict) – Optic description.
wl (array_like) – Wavelength grid as a quantity array.
- Variables:
optical_element_dict (dict) – Dictionary of OpticalElement instances.
radiance_dict (dict) – Dictionary of InstRadiance instances.
radiance_table (QTable) – Table of optical elements radiance.
transmission_table (QTable) – Table of optical elements transmissions.
signal_table (QTable) – Table of optical elements signals.
max_signal_per_pixel (QTable) – Table of optical elements max signal per pixel.
slit_width (Quantity or None) – Slit width measurement, if a slit is in the optical path. Default is None.
- prepend_optical_elements(optical_element_dict)[source]
Updates the class optical_element_dict by putting the input dictionary at the top of the existing one.
- compute_signal(ch_table, ch_built_instr)[source]
Produces the telescope self-emission signal for the channel and returns the updated channel table.
Examples
>>> telescope = OpticalPath(wl=wl_grid, description=options) >>> spec = OpticalPath(wl=wl_grid, description=options['channel']['Spec']) >>> spec.prepend_optical_elements(telescope.optical_element_dict) >>> spec.build_transmission_table() >>> spec.chain()
Initialize the OpticalPath instance.
- Parameters:
description (dict) – Optic description.
wl (array_like) – Wavelength grid as a quantity array.
- build_transmission_table()[source]
Build the transmission table for the optical path.
- Returns:
transmission_table – Table containing the transmission of each optical element and the total transmission.
- Return type:
QTable
- chain()[source]
Concatenate the optical elements, producing the radiance_table and radiance_dict.
- Returns:
radiance_dict – Dictionary of InstRadiance instances for each optical element.
- Return type:
OrderedDict
- compute_signal(ch_table, ch_built_instr)[source]
Compute the telescope self-emission signal for the channel.
- Parameters:
ch_table (QTable) – Channel table.
ch_built_instr (dict) – Built instrument parameters for the channel.
- Returns:
updated_table – Updated channel table with instrument signals.
- Return type:
QTable
- surface_radiance(wl, T, emissivity)[source]
Calculate the spectral radiance from optics.
The spectral radiance is defined as power per unit surface area, per unit solid angle, and per unit bandwidth.
- Parameters:
wl (array_like) – Wavelength array with units of length.
T (scalar) – Temperature of optical elements in Kelvin.
emissivity (array_like) – Emissivity of optical surfaces.
- Returns:
radiance – Spectral radiance. It will have the same shape as the input wl.
- Return type: