exosim.tasks.radiometric.compute_integration_time#

Classes#

ComputeIntegrationTime

Task to compute the integration time for each entry in a saturation table.

Module Contents#

class ComputeIntegrationTime[source]#

Bases: exosim.tasks.task.Task

Task to compute the integration time for each entry in a saturation table.

This class determines the integration time as the minimum integration time found in the input saturation table. The computed integration time can be used for all entries or for a specific channel if requested.

Parameters:
  • saturation_table (astropy.table.QTable or array-like) – Table containing the saturation information. Must include the column: - ‘integration_time’: integration time for each entry (astropy.units.Quantity, in s)

  • description (dict) – Dictionary containing the channel description. Must include: - ‘integration_time’: integration time (required key, astropy.units.Quantity, in s)

  • channel_name (str, optional) – Name of the channel to filter the table. If None, all entries are used.

Raises:
  • ValueError – If required keys are missing in the description dictionary or table.

  • TypeError – If the output table is not a QTable.

Notes

The integration time is computed as:

\[\mathrm{frame\_time} = \min(\mathrm{integration\_time})\]

and is assigned to all relevant entries in the output.

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(table, description, channel_name=None)[source]#

Compute the integration time for each entry in the provided saturation table.

The integration time is determined as the minimum saturation time found in the input table. If a channel name is provided, the minimum is computed only for that channel. The resulting integration time is returned as an array with the same length as the number of bins for the selected channel or the whole table.

Parameters:
  • table (astropy.table.QTable or array-like) – Table containing the saturation information. Must include the column: - ‘saturation_time’: saturation time for each entry (astropy.units.Quantity, in s)

  • description (dict) – Dictionary containing the channel description.

  • channel_name (str, optional) – Name of the channel to filter the table. If None, all entries are used.

Returns:

Array of integration time values (minimum saturation time) for each entry (or channel bin), in seconds.

Return type:

numpy.ndarray

Raises:

ValueError – If required keys are missing in the description dictionary or table.

Notes

The integration time is computed as:

\[\mathrm{integration\_time} = \min(\mathrm{saturation\_time})\]

and is assigned to all relevant entries in the output.