Sensor

class pybsm.simulation.sensor.Sensor(*, name: str, D: float, f: float, p_x: float, opt_trans_wavelengths: ndarray, eta: float = 0.0, p_y: float | None = None, w_x: float | None = None, w_y: float | None = None, int_time: float = 1, dark_current: float = 0, other_irradiance: float = 0.0, read_noise: float = 0, max_n: int = 100000000, max_well_fill: float = 1.0, bit_depth: float = 100.0, n_tdi: float = 1.0, cold_shield_temperature: float = 70.0, optics_temperature: float = 270.0, optics_emissivity: float = 0.0, cold_filter_transmission: float = 1.0, cold_filter_temperature: float = 70.0, cold_filter_emissivity: float = 0.0, s_x: float = 0.0, s_y: float = 0.0, da_x: float = 0.0, da_y: float = 0.0, pv: float = 0.0, pv_wavelength: float = 6.33e-07)

Example details of the camera system.

This is not intended to be a complete list but is more than adequate for the NIIRS demo (see pybsm.metrics.functional.niirs).

Parameters:
  • name – name of the sensor

  • D – effective aperture diameter (m)

  • f – focal length (m)

  • p_x – detector center-to-center spacings (pitch) in the x and y directions (meters); if p_y is not provided, it is assumed equal to p_x

  • opt_trans_wavelengths – specifies the spectral bandpass of the camera (m); at minimum, specify a start and end wavelength

  • optics_transmission – full system in-band optical transmission (unitless); do not include loss due to any telescope obscuration in this optical transmission array

  • eta – relative linear obscuration (unitless); obscuration of the aperture commonly occurs within telescopes due to secondary mirror or spider supports

  • p_y – detector center-to-center spacings (pitch) in the x and y directions (meters); if p_y is not provided, it is assumed equal to p_x

  • w_x – detector width in the x and y directions (m); if set equal to p_x and p_y, this corresponds to an assumed full pixel fill factor. In general, w_x and w_y are less than p_x and p_y due to non-photo-sensitive area (typically transistors) around each pixel.

  • w_y – detector width in the x and y directions (m); if set equal to p_x and p_y, this corresponds to an assumed full pixel fill factor. In general, w_x and w_y are less than p_x and p_y due to non-photo-sensitive area (typically transistors) around each pixel.

  • int_time – maximum integration time (s)

  • qe – quantum efficiency as a function of wavelength (e-/photon)

  • qe_wavelengths – wavelengths corresponding to the array qe (m)

  • other_irradiance – spectral irradiance from other sources (W/m^2 m); this is particularly useful for self emission in infrared cameras and may also represent stray light.

  • dark_current – detector dark current (e-/s); dark current is the relatively small electric current that flows through photosensitive devices even when no photons enter the device

  • max_n – detector electron well capacity (e-); the default 100 million initializes to a large number so that, in the absence of better information, it doesn’t affect outcomes

  • bit_depth – resolution of the detector ADC in bits (unitless); default of 100 is a sufficiently large number so that in the absence of better information, it doesn’t affect outcomes

  • n_tdi – number of TDI stages (unitless)

  • cold_shield_temperature – temperature of the cold shield (K); it is a common approximation to assume that the coldshield is at the same temperature as the detector array

  • optics_temperature – temperature of the optics (K)

  • optics_emissivity – emissivity of the optics (unitless) except for the cold filter; a common approximation is 1-optics transmissivity

  • cold_filter_transmission – transmission through the cold filter (unitless)

  • cold_filter_temperature – temperature of the cold filter; it is a common approximation to assume that the filter is at the same temperature as the detector array

  • cold_filter_emissivity – emissivity through the cold filter (unitless); a common approximation is 1-cold filter transmission

  • s_x – root-mean-squared jitter amplitudes in the x direction (rad)

  • s_y – root-mean-squared jitter amplitudes in the y direction (rad)

  • da_x – line-of-sight angular drift rate during one integration time in the x direction (rad/s)

  • da_y – line-of-sight angular drift rate during one integration time in the y direction (rad/s)

  • pv – wavefront error phase variance (rad^2) – tip: write as (2*pi*waves of error)^2

  • pv_wavelength – wavelength at which pv is obtained (m)

Methods

__init__(*, name: str, D: float, f: float, p_x: float, opt_trans_wavelengths: ndarray, eta: float = 0.0, p_y: float | None = None, w_x: float | None = None, w_y: float | None = None, int_time: float = 1, dark_current: float = 0, other_irradiance: float = 0.0, read_noise: float = 0, max_n: int = 100000000, max_well_fill: float = 1.0, bit_depth: float = 100.0, n_tdi: float = 1.0, cold_shield_temperature: float = 70.0, optics_temperature: float = 270.0, optics_emissivity: float = 0.0, cold_filter_transmission: float = 1.0, cold_filter_temperature: float = 70.0, cold_filter_emissivity: float = 0.0, s_x: float = 0.0, s_y: float = 0.0, da_x: float = 0.0, da_y: float = 0.0, pv: float = 0.0, pv_wavelength: float = 6.33e-07) None

Returns a sensor object whose name is name and….

__weakref__

list of weak references to the object (if defined)