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 aPhaseFunction
,w
is the single-scattering albedo, andhs
is the shadowing parameter (eq. 28-30 in Hapke, 2000), ormodel = ScatteringModel(P, w, E, a, phi)
, where P is aPhaseFunction
,w
is the single-scattering albedo,E
is the extinction coefficient in the medium,a
the mean particle radius, andphi
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, wherexi
is the asymmetry parameter.DoubleHenyeyGreenstein(c, xi)
, for Henyey-Greenstein scattering, wherec
is the weight parameter andxi
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.