pybsm.otf.functional.common_OTFs

pybsm.otf.functional.common_OTFs(*, sensor: Sensor, scenario: Scenario, uu: ndarray, vv: ndarray, mtf_wavelengths: ndarray, mtf_weights: ndarray, slant_range: float, int_time: float) OTF

Returns optical transfer functions for the most common sources.

This code originally served the NIIRS model but has been abstracted for other uses. OTFs for the aperture, detector, turbulence, jitter, drift, wavefront errors, and image filtering are all explicitly considered.

Parameters:
  • sensor – an object from the class sensor

  • scenario – an object from the class scenario

  • uu – spatial frequency arrays in the x directions respectively (cycles/radian)

  • vv – spatial frequency arrays in the y directions respectively (cycles/radian)

  • mtf_wavelengths – a numpy array of wavelengths (m)

  • mtf_weights – a numpy array of weights for each wavelength contribution (arb)

  • slant_range – distance between the sensor and the target (m)

  • int_time – integration time (s)

Returns:

otf:

an object containing results of the OTF calculations along with many intermediate calculations; the full system OTF is contained in otf.system_OTF

Raises:
ZeroDivisionError:

if slant_range is 0

IndexError:

if uu or vv are empty