isofit.surface.surface_lut

class LUTSurface(full_config)[source]

Bases: Surface

A model of the surface based on an N-dimensional lookup table indexed by one or more state vector elements. We calculate the reflectance by multilinear interpolation. This is good for surfaces like aquatic ecosystems or snow that can be described with just a few degrees of freedom.

The lookup table must be precalculated based on the wavelengths of the instrument. It is stored with other metadata in a matlab- format file. For an n-dimensional lookup table, it contains the following fields:

  • grids: an object array containing n lists of gridpoints

  • data: an n+1 dimensional array containing the reflectances

    for each gridpoint

  • bounds: a list of n [min,max] tuples representing the bounds

    for all state vector elements

  • statevec_names: an array of n strings representing state

    vector element names

  • mean: an array of n prior mean values, one for each state

    vector element

  • sigma: an array of n prior standard deviations, one for each

    state vector element

  • scale: an array of n scale values, one for each state vector

    element

xa(x_surface, geom)[source]

Mean of prior distribution.

Sa(x_surface, geom)[source]

Covariance of prior distribution, calculated at state x.

fit_params(rfl_meas, geom, *args)[source]

Given a reflectance estimate, fit a state vector.

calc_rfl(x_surface, geom)[source]

Non-Lambertian reflectance.

calc_lamb(x_surface, geom)[source]

Lambertian reflectance. Be sure to incorporate BRDF-related LUT dimensions such as solar and view zenith.

drfl_dsurface(x_surface, geom)[source]

Partial derivative of reflectance with respect to state vector, calculated at x_surface.

dlamb_dsurface(x_surface, geom)[source]

Partial derivative of Lambertian reflectance with respect to state vector, calculated at x_surface. We calculate the reflectance with multilinear interpolation so the finite difference derivative is exact.

calc_Ls(x_surface, geom)[source]

Emission of surface, as a radiance.

dLs_dsurface(x_surface, geom)[source]

Partial derivative of surface emission with respect to state vector, calculated at x_surface.

summarize(x_surface, geom)[source]

Summary of state vector.