libera_utils.footprint_matching.psf.psf_weight#

libera_utils.footprint_matching.psf.psf_weight(delta_deg: ndarray, beta_deg: ndarray) → ndarray#

Evaluate the CERES PSF P(delta’, beta) – ATBD Eq. 4.4-1.

delta_deg is the geometric along-scan angle (e.g. what project_to_angular() returns); the radiometric centroid shift is applied internally as delta’ = delta + Delta-delta, and the PSF is evaluated at delta’.

The PSF has a flat-ish “core” region (set by the optical FOV half-width a) convolved with the detector time response _f_response, which produces a sharp leading edge and a long trailing tail. Cross-scan symmetry P(delta, beta) = P(delta, -beta) is enforced by taking abs(beta).

Parameters:
  • delta_deg (np.ndarray) – Along-scan angle(s) in degrees (geometric, before the centroid shift).

  • beta_deg (np.ndarray) – Cross-scan angle(s) in degrees. Sign is ignored (symmetry).

Returns:

PSF response, broadcast to the shape of delta_deg/beta_deg. Zero outside the optical FOV in the cross-scan direction.

Return type:

np.ndarray