exosim.tasks.radiometric.compute_custom_noise#
Classes#
Computes custom noise contributions for radiometric calculations. |
Module Contents#
- class ComputeCustomNoise[source]#
Bases:
exosim.tasks.task.TaskComputes custom noise contributions for radiometric calculations.
This task processes user-defined noise sources that can be added to the radiometric noise budget. It supports three different input formats to accommodate various noise specification methods:
Spectral data tables: wavelength-dependent noise from data files
Multiple noise sources: Using OrderedDict for several contributions
Single noise source: Simple dictionary for one contribution
The task combines multiple noise contributions using quadrature addition: \(\\sigma_{total} = \\sqrt{\\sigma_1^2 + \\sigma_2^2 + ... + \\sigma_n^2}\)
- Parameters:
wavelength (astropy.units.Quantity) – wavelength array defining the spectral grid for noise calculation. Must have units of length (e.g., micron, nm, angstrom).
description (dict, optional) – Channel description dictionary containing the custom noise specification under
description["radiometric"]["custom_noise"]. If None or if custom_noise is not present, returns zero noise.radiometric_table (astropy.table.QTable, optional) – Radiometric table that may be used for noise calculations if needed.
- Returns:
Table containing: -
custom_noise: Combined noise from all sources (units: hr**0.5) - Individual noise columns for each named source (units: hr**0.5)- Return type:
astropy.table.QTable
Notes
For spectral data, noise values are rebinned to the target wavelength grid using the Signal class spectral_rebin method
For constant values (OrderedDict and simple dict), the
valuefield is assumed to be in ppm and is converted using a 1e-6 factorAll noise contributions are combined in quadrature
The output table includes both individual noise components and the total
- execute()[source]#
Class execution. It runs on call and executes all the task actions returning the outputs. It requires the input with correct keywords
- model(wl, description, radiometric_table)[source]#
Compute custom noise contributions for the given wavelengths.
- Parameters:
wl (astropy.units.Quantity) – wavelength array with shape (N,) and units of length.
description (dict or None) – Channel specification dictionary. Custom noise should be located at
description["radiometric"]["custom_noise"].radiometric_table (astropy.table.QTable or None) – Radiometric table for potential use in noise calculations.
- Returns:
(noise_table, total_custom_noise) where: - noise_table : QTable with individual noise contributions (no total column) - total_custom_noise : Quantity array with total combined noise
- Return type: