esbo_etc.classes.sensor package

Submodules

esbo_etc.classes.sensor.ASensor module

class esbo_etc.classes.sensor.ASensor.ASensor(parent: esbo_etc.classes.IRadiant.IRadiant)[source]

Bases: object

Abstract super class for sensor models

abstract __init__(parent: esbo_etc.classes.IRadiant.IRadiant)[source]

Initialize a new sensor

Parameters

parent (IRadiant) – The parent element of the optical component from which the electromagnetic radiation is received

abstract calcExpTime(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, snr: astropy.units.quantity.Quantity)[source]

Calculate the necessary exposure time in order to achieve the given SNR.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • snr (Quantity) – The SNR for which the necessary exposure time shall be calculated.

Returns

exp_time (Quantity) – The necessary exposure time in seconds.

abstract calcSNR(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, exp_time: astropy.units.quantity.Quantity)[source]

Calculate the signal to noise ratio (SNR) for the given exposure time.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • exp_time (time-Quantity) – The exposure time to calculate the SNR for.

Returns

snr (Quantity) – The calculated SNR

abstract calcSensitivity(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, exp_time: astropy.units.quantity.Quantity, snr: astropy.units.quantity.Quantity, target_brightness: astropy.units.quantity.Quantity) → [Unit(“mag”), Unit(“mag / sr”)][source]

Calculate the sensitivity of the telescope detector combination.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • exp_time (Quantity) – The exposure time in seconds.

  • snr (Quantity) – The SNR for which the sensitivity time shall be calculated.

  • target_brightness (Quantity) – The target brightness in magnitudes.

Returns

sensitivity (Quantity) – The sensitivity as limiting apparent star magnitude in mag or mag / sr.

abstract static check_config(sensor: esbo_etc.classes.Entry.Entry, conf: esbo_etc.classes.Entry.Entry) → Union[None, str][source]

Check the configuration for this class

Parameters
  • sensor (Entry) – The configuration entry to be checked.

  • conf (Entry) – The complete configuration.

Returns

mes (Union[None, str]) – The error message of the check. This will be None if the check was successful.

getExpTime(snr: astropy.units.quantity.Quantity)[source]

Calculate the necessary exposure time in order to achieve the given SNR.

Parameters

snr (Quantity) – The SNR for which the necessary exposure time shall be calculated.

Returns

exp_time (Quantity) – The necessary exposure time in seconds.

getSNR(exp_time: astropy.units.quantity.Quantity)[source]

Calculate the signal to noise ratio (SNR) for the given exposure time.

Parameters

exp_time (time-Quantity) – The exposure time to calculate the SNR for.

Returns

snr (Quantity) – The calculated SNR

getSensitivity(exp_time: astropy.units.quantity.Quantity, snr: astropy.units.quantity.Quantity, target_brightness: astropy.units.quantity.Quantity) → [Unit(“mag”), Unit(“mag / sr”)][source]

Calculate the sensitivity of the telescope detector combination.

Parameters
  • exp_time (Quantity) – The exposure time in seconds.

  • snr (Quantity) – The SNR for which the sensitivity time shall be calculated.

  • target_brightness (Quantity) – The target brightness in magnitudes.

Returns

sensitivity (Quantity) – The sensitivity as limiting apparent star magnitude in mag or mag / sr.

esbo_etc.classes.sensor.Heterodyne module

class esbo_etc.classes.sensor.Heterodyne.Heterodyne(parent: esbo_etc.classes.IRadiant.IRadiant, aperture_efficiency: float, main_beam_efficiency: float, receiver_temp: astropy.units.quantity.Quantity, eta_fss: float, lambda_line: astropy.units.quantity.Quantity, kappa: float, common_conf: esbo_etc.classes.Entry.Entry, n_on: float = None, lambda_local_oscillator: astropy.units.quantity.Quantity = None)[source]

Bases: esbo_etc.classes.sensor.ASensor.ASensor

A class for modelling the behaviour of a superheterodyne spectrometer.

__init__(parent: esbo_etc.classes.IRadiant.IRadiant, aperture_efficiency: float, main_beam_efficiency: float, receiver_temp: astropy.units.quantity.Quantity, eta_fss: float, lambda_line: astropy.units.quantity.Quantity, kappa: float, common_conf: esbo_etc.classes.Entry.Entry, n_on: float = None, lambda_local_oscillator: astropy.units.quantity.Quantity = None)[source]

Initialize a new heterodyne detector

Parameters
  • parent (IRadiant) – The parent element of the optical component from which the electromagnetic radiation is received.

  • aperture_efficiency (float) – The aperture efficiency of the antenna.

  • main_beam_efficiency (float) – The main beam efficiency of the telescope.

  • receiver_temp (u.Quantity in Kelvins) – The intrinsic noise temperature of all receiver components.

  • eta_fss (float) – The forward scattering efficiency of the antenna.

  • lambda_line (u.Quantity) – The wavelength to be used for calculating the SNR.

  • kappa (float) – The backend degradation factor.

  • common_conf (Entry) – The common-Entry of the configuration.

  • n_on (float) – The number of on source observations.

calcExpTime(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, snr: astropy.units.quantity.Quantity)[source]

Calculate the necessary exposure time in order to achieve the given SNR.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • snr (Quantity) – The SNR for which the necessary exposure time shall be calculated as dimensionless quantity.

Returns

exp_time (Quantity) – The necessary exposure time in seconds.

calcSNR(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, exp_time: astropy.units.quantity.Quantity)[source]

Calculate the signal to background ratio (SNR) for the given exposure time using the CCD-equation.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • exp_time (time-Quantity) – The exposure time to calculate the SNR for.

Returns

snr (Quantity) – The calculated SNR as dimensionless quantity

calcSensitivity(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, exp_time: astropy.units.quantity.Quantity, snr: astropy.units.quantity.Quantity, target_brightness: astropy.units.quantity.Quantity) → [Unit(“mag”), Unit(“mag / sr”)][source]

Calculate the sensitivity of the telescope detector combination.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • exp_time (Quantity) – The exposure time in seconds.

  • snr (Quantity) – The SNR for which the sensitivity time shall be calculated.

  • target_brightness (Quantity) – The target brightness in mag or mag / sr.

Returns

sensitivity (Quantity) – The sensitivity as limiting apparent star magnitude in mag.

calcTemperatures(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float)[source]

Calculate the noise temperatures of the signal and the background radiation.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

Returns

  • t_signal (SpectralQty) – The spectral signal temperature in Kelvins.

  • t_background (SpectralQty) – The spectral signal temperature in Kelvins.

static check_config(sensor: esbo_etc.classes.Entry.Entry, conf: esbo_etc.classes.Entry.Entry) → Union[None, str][source]

Check the configuration for this class

Parameters
  • sensor (Entry) – The configuration entry to be checked.

  • conf (Entry) – The complete configuration.

Returns

mes (Union[None, str]) – The error message of the check. This will be None if the check was successful.

esbo_etc.classes.sensor.Imager module

class esbo_etc.classes.sensor.Imager.Imager(**func_kwargs)[source]

Bases: esbo_etc.classes.sensor.ASensor.ASensor

A class for modelling a Image-sensor

calcExpTime(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, snr: astropy.units.quantity.Quantity)[source]

Calculate the necessary exposure time in order to achieve the given SNR.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • snr (Quantity) – The SNR for which the necessary exposure time shall be calculated as dimensionless quantity.

Returns

exp_time (Quantity) – The necessary exposure time in seconds.

calcSNR(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, exp_time: astropy.units.quantity.Quantity)[source]

Calculate the signal to background ratio (SNR) for the given exposure time using the CCD-equation.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • exp_time (time-Quantity) – The exposure time to calculate the SNR for.

Returns

snr (Quantity) – The calculated SNR as dimensionless quantity

calcSensitivity(background: esbo_etc.classes.SpectralQty.SpectralQty, signal: esbo_etc.classes.SpectralQty.SpectralQty, obstruction: float, exp_time: astropy.units.quantity.Quantity, snr: astropy.units.quantity.Quantity, target_brightness: astropy.units.quantity.Quantity) → [Unit(“mag”), Unit(“mag / sr”)][source]

Calculate the sensitivity of the telescope detector combination.

Parameters
  • background (SpectralQty) – The received background radiation

  • signal (SpectralQty) – The received signal radiation

  • obstruction (float) – The obstruction factor of the aperture as ratio A_ob / A_ap

  • exp_time (Quantity) – The exposure time in seconds.

  • snr (Quantity) – The SNR for which the sensitivity time shall be calculated.

  • target_brightness (Quantity) – The target brightness in mag or mag / sr.

Returns

sensitivity (Quantity) – The sensitivity as limiting apparent star magnitude in mag.

static check_config(sensor: esbo_etc.classes.Entry.Entry, conf: esbo_etc.classes.Entry.Entry) → Union[None, str][source]

Check the configuration for this class

Parameters
  • sensor (Entry) – The configuration entry to be checked.

  • conf (Entry) – The complete configuration.

Returns

mes (Union[None, str]) – The error message of the check. This will be None if the check was successful.

esbo_etc.classes.sensor.PixelMask module

class esbo_etc.classes.sensor.PixelMask.PixelMask(**func_kwargs)[source]

Bases: numpy.ndarray

A class for modelling the pixel exposure mask for a pixel array.

createPhotometricAperture(shape: str, radius: astropy.units.quantity.Quantity, center_offset: astropy.units.quantity.Quantity = None)[source]

Create a photometric aperture on the pixel mask.

Parameters
  • shape (str) – Shape of the photometric aperture. This can be either ‘circle’ or ‘square’.

  • radius (u.Quantity) – The radius of the photometric aperture in pixels. In case of a square, the radius equals the half of the side length.

  • center_offset (u.Quantity) – The offset of the photometric aperture’s centre with respect to the array’s centre in pixels [x ,y]. The origin of the coordinate system is in the upper left corner.

esbo_etc.classes.sensor.SensorFactory module

class esbo_etc.classes.sensor.SensorFactory.SensorFactory(common_conf: esbo_etc.classes.Entry.Entry)[source]

Bases: esbo_etc.classes.AFactory.AFactory

A Factory creating objects of the type ASensor

__init__(common_conf: esbo_etc.classes.Entry.Entry)[source]

Instantiate a new factory object

Parameters

common_conf (Entry) – The common configuration of the configuration file

create(options: esbo_etc.classes.Entry.Entry, parent: esbo_etc.classes.IRadiant.IRadiant = None)esbo_etc.classes.sensor.ASensor.ASensor[source]

Create a new sensor object

Parameters
  • options (Entry) – The options to be used as parameters for the instantiation of the new object.

  • parent (IRadiant) – The parent element of the object.

Returns

obj (ASensor) – The created sensor object

Module contents