eradiate.scenes.bsdfs.RPVBSDF#

class eradiate.scenes.bsdfs.RPVBSDF(id='bsdf', rho_0=0.183, rho_c=None, k=0.78, g=- 0.1)[source]#

Bases: eradiate.scenes.bsdfs._core.BSDF

RPV BSDF [rpv].

This BSDF implements the Rahman-Pinty-Verstraete (RPV) reflection model [PRV+00, RPV93]. It notably features a controllable back-scattering lobe (hot spot) characteristic of many natural land surfaces and is frequently used in Earth observation because of its simple parametrisation.

Parameters
  • id (str, optional, default: "bsdf") – User-defined object identifier.

  • rho_0 (Spectrum or dict or float, optional, default: 0.183) – Amplitude parameter. Must be dimensionless. Should be in \([0, 1]\).

  • rho_c (Spectrum or dict or float or None, optional, default: None) – Hot spot parameter. Must be dimensionless. Should be in \([0, 1]\). If unset, \(\rho_\mathrm{c}\) defaults to the kernel plugin default (equal to \(\rho_0\)).

  • k (Spectrum or dict or float, optional, default: 0.780) – Bowl-shape parameter. Must be dimensionless. Should be in \([0, 2]\).

  • g (Spectrum or dict or float, optional, default: -0.1) – Asymmetry parameter. Must be dimensionless. Should be in \([-1, 1]\).

Fields
  • id (str or None) – User-defined object identifier.

  • rho_0 (Spectrum) – Amplitude parameter.

  • rho_c (Spectrum or None) – Hot spot parameter.

  • k (Spectrum) – Bowl-shape parameter.

  • g (Spectrum) – Asymmetry parameter.

Notes

  • The default configuration is typical of grassland in the visible domain ([RPV93], Table 1).

  • Parameter names are defined as per the symbols used in the Eradiate Scientific Handbook [Tea20].

kernel_dict(ctx)[source]#

Return a dictionary suitable for kernel scene configuration.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

KernelDict – Kernel dictionary which can be loaded as a Mitsuba object.