isofit.surface.surface_glint_model ================================== .. py:module:: isofit.surface.surface_glint_model Classes ------- .. autoapisummary:: isofit.surface.surface_glint_model.GlintModelSurface Module Contents --------------- .. py:class:: GlintModelSurface(full_config: Config) Bases: :py:obj:`isofit.surface.surface_multicomp.MultiComponentSurface` A model of the surface based on a collection of multivariate Gaussians, extended with two surface glint terms (sun + sky glint). .. py:attribute:: glint_ind .. py:attribute:: sky_glint_ind .. py:attribute:: sun_glint_ind .. py:attribute:: n_state .. py:attribute:: idx_surface .. py:attribute:: analytical_iv_idx .. py:attribute:: sun_glint_sigma .. py:attribute:: sky_glint_sigma .. py:method:: xa(x_surface, geom) Mean of prior distribution, calculated at state x. .. py:method:: Sa(x_surface, geom) Covariance of prior distribution, calculated at state x. We find the covariance in a normalized space (normalizing by z) and then un- normalize the result for the calling function. .. py:method:: fit_params(rfl_meas, geom, *args) Given a reflectance estimate and one or more emissive parameters, fit a state vector. .. py:method:: calc_rfl(x_surface, geom) Direct and diffuse Reflectance (includes sun and sky glint). Inputs: x_surface : np.ndarray Surface portion of the statevector element geom : Geometry Isofit geometry object Outputs: rho_dir_dir : np.ndarray Reflectance quantity for downward direct photon paths rho_dif_dir : np.ndarray Reflectance quantity for downward diffuse photon paths .. note:: Here, we treat direct and diffuse photon path reflectance differently. The sun and sky glint magnitudes are statevector elements that interact with the two reflectance quantities independently. .. py:method:: drfl_dsurface(x_surface, geom) Partial derivative of reflectance with respect to state vector, calculated at x_surface. .. py:method:: drdn_dglint(L_tot, L_down_dir, s_alb, rho_dif_dir) Derivative of radiance with respect to the direct and diffuse glint terms .. py:method:: drdn_dsurface(rho_dif_dir, drfl_dsurface, dLs_dsurface, s_alb, t_total_up, L_tot, L_down_dir) Derivative of radiance with respect to full surface vector .. py:method:: analytical_model(background, L_down_dir, L_down_dif, L_tot, geom, L_dir_dir=None, L_dir_dif=None, L_dif_dir=None, L_dif_dif=None) Linearization of the glint terms to use in AOE inner loop. Function will fetch the linearization of the rho terms and add the matrix components for the direct glint term. Currently we set the diffuse glint scaling term to constant value, which makes the AOE inner loop inversion possible. .. py:method:: summarize(x_surface, geom) Summary of state vector. .. py:method:: fresnel_rf(vza) :staticmethod: Calculates reflectance factor of sky radiance based on the Fresnel equation for unpolarized light as a function of view zenith angle (vza).