exosim.recipes.radiometricModel#

Classes#

RadiometricModel

Pipeline to create the radiometric model.

Module Contents#

class RadiometricModel(options_file, input_file)[source]#

Bases: exosim.utils.timed_class.TimedClass, exosim.log.Logger

Pipeline to create the radiometric model. This pipeline has three working modes:

  • it can load an already produced focal plane and use it to estimate a radiometric model;

  • it can produce a single sourec focal planet and estimate the radiometric model;

  • it can load a target list and produce the radiometric model for each target of the target list.

Variables:
  • mainConfig (dict) – This is parsed from LoadOptions

  • input (Output) – input/output file

  • payloadConfig (dict) – payload configuration dictionary extracted from mainConfig`

  • table (QTable) – table for the radiometric estimations

Parameters:
  • options_file (Union[str, dict]) –

  • input_file (str) –

Examples

If the user wants to estimate the radiometric model af an existing focal plane

>>> import exosim.recipes as recipes
>>> rm = recipes.RadiometricModel(options_file= 'main _configuration.xml',
>>>                                input_file = 'focal_plane.h5')

Otherwhise, if a focal planet has not been produced yet, this recipy can produce it, if a destination not existing file is provided:

>>> import exosim.recipes as recipes
>>> rm = recipes.RadiometricModel(options_file= 'main _configuration.xml',
>>>                                input_file = 'desired_output.h5')

In both cases, to store the produced table into the output file, the write is to be used:

>>> rm.write()
single_file_pipeline()[source]#

Radiometric pipeline to run for a single target with an already produced focal plane. The involved steps are:

  1. creation of the wavelength table with create_table;

  2. estimation of the apertures sizes and number of pixels involved with compute_apertures;

  3. estimation of the signals in the apertures for the sub foregrounds, if any: compute_sub_foregrounds_signals;

  4. estimation of the total foreground signal in the apertures: compute_foreground_signals;

  5. estimation of the source focal plane signal in the aperture: compute_source_signals;

  6. estimation of the saturation time in the channel: compute_saturation;

The pipeline will update the table attribute.

Return type:

None

common_pipeline()[source]#

Radiometric pipeline to run starting from a radiometric table with already estimated signals. It computes the noise.

  1. estimation of the multiaccum factors compute_multiaccum;

  2. estimation shot noise compute_photon_noise;

  3. update total noise update_total_noise

The pipeline will update the table attribute.

Return type:

None

create_table()[source]#

Produces the starting radiometric table with the spectral bins and their edges. It is based on EstimateSpectralBinning by default.

Returns:

table for the radiometric estimations with wavelength grid.

Return type:

QTable

compute_apertures()[source]#

Estimates the photometric aperture for each spectral bin using EstimateApertures by default.

Returns:

table with the apertures for each channel and bin

Return type:

QTable

write(output_file=None)[source]#

It adds the radiometric table to the output. If the table exists already in the output file, it replaces it.

Parameters:

output_file (str (optional)) – output file. Default is input

Return type:

None

compute_sub_foregrounds_signals()[source]#

It estimates the radiometric signals on the foreground sub focal planes for all the channels and returns a table with all the contributions.

It uses ComputeSubFrgSignalsChannel by default.

Returns:

signal table

Return type:

astropy.table.QTable

compute_foreground_signals()[source]#

It estimates the radiometric signals on the foreground focal plane for all the channels and returns a table with all the contributions.

It uses ComputeSignalsChannel by default.

Returns:

signal table

Return type:

astropy.table.QTable

compute_source_signals()[source]#

It estimates the radiometric signals on the source focal plane for all the channels and returns a table with all the contributions.

It uses ComputeSignalsChannel by default.

Returns:

signal table

Return type:

astropy.table.QTable

compute_saturation()[source]#

It computes and adds the saturation time to the radiometric table

Returns:

saturation table

Return type:

astropy.table.QTable

compute_multiaccum()[source]#

It estimates the multiaccum gain factors using Multiaccum. The

Returns:

multiaccum factors

Return type:

astropy.table.QTable

compute_photon_noise()[source]#

It computes and adds the photon noise to the radiometric table using ComputePhotonNoise.

Returns:

photon noise

Return type:

astropy.table.QTable

update_total_noise()[source]#

Updates the total noise column in the radiometric table.

Return type:

astropy.table.QTable