Based on Hapke (2002). Optionally including the shadow-hiding opposition effect term.
Example:
using HapkeModel
model = ScatteringModel(HenyeyGreenstein(0.5), 0.1)
r = BRDF(model, 0.0, 0.0, 0.0)
To define a scattering model without the Shadow-Hiding Opposition Effect (SHOE) term, call model = ScatteringModel(P, w)
, where P is a PhaseFunction
and w
is the single-scattering albedo.
To use the SHOE term, define the model with:
model = ScatteringModel(P, w, hs)
, where P is a PhaseFunction
, w
is the single-scattering albedo, and hs
is the shadowing parameter (eq. 28-30 in Hapke, 2000), ormodel = ScatteringModel(P, w, E, a, phi)
, where P is a PhaseFunction
, w
is the single-scattering albedo, E
is the extinction coefficient in the medium, a
the mean particle radius, and phi
the filling factor (eq. 30 in Hapke, 2000).Be wary of the actual physical interpretation of the parameter values.
There are four options for PhaseFunction
:
Isotropic()
, for isotropic scatteringRayleigh()
for Rayleigh scatteringHenyeyGreenstein(xi)
, for Henyey-Greenstein scattering, where xi
is the asymmetry parameter.DoubleHenyeyGreenstein(c, xi)
, for Henyey-Greenstein scattering, where c
is the weight parameter and xi
is the asymmetry parameter.To compute the value of the Hapke BDRF for a given scattering model, call BDRF(model, mu0, mu, g)
where model
is a ScatteringModel
object, mu0
and mu
are the cosines of incidence and emergence, and g
is the phase angle.
01/17/2013
almost 3 years ago
28 commits