eradiate.scenes.bsdfs.HapkeBSDF¶
- class eradiate.scenes.bsdfs.HapkeBSDF(id=None, w=0.5, b=0.2, c=0.5, theta=<Quantity(30.0, 'degree')>, B_0=0.0, h=0.0)[source]¶
Bases:
BSDFHapke BSDF [
hapke].This BSDF implements a bare soil reflection model based on the work of Bruce Hapke. This variant is validated against the one presented by Nguyen et al. [2025]. It features 6 parameters and includes adjustments compared to the core reference [Hapke, 2012]. The unit test suite used to validate this implementation used reference data from Pommerol et al. [2013].
The default parameters are an order of magnitude of the results presented by Nguyen et al. [2025] and notably neglect the influence of the opposition effect.
- Parameters:
id (
str, optional) – Identifier of the current scene element.w (
Spectrumordictorfloat, default:0.5) – Single scattering albedo ω. Must be in [0, 1].b (
Spectrumordictorfloat, default:0.2) – Asymmetry parameter of the Henyey-Greenstein phase function. Must be in [0, 1].c (
Spectrumordictorfloat, default:0.5) – Backscattering parameter of the Henyey-Greenstein phase function. Must be in [0, 1].theta (
quantityorfloat, default:30.0) – Photometric roughness θ. Angle in degree. Must be in [0, 90]°.B_0 (
Spectrumordictorfloat, default:0.0) – Intensity of shadow hiding opposition effect. Must be in [0, 1].h (
Spectrumordictorfloat, default:0.0) – Width of shadow hiding opposition effect . Must be in [0, 1].
- Fields:
w (
Spectrum) – Single scattering albedo ω.b (
Spectrum) – Asymmetry parameter of the Henyey-Greenstein phase function.c (
Spectrum) – Backscattering parameter of the Henyey-Greenstein phase function.theta (
Spectrum) – Photometric roughness θ.B_0 (
Spectrum) – Intensity of shadow hiding opposition effect.h (
Spectrum) – Width of shadow hiding opposition effect.
See also
- traverse(callback)¶
Traverse this scene element and collect kernel dictionary template and parameter update map contributions.
- Parameters:
callback (
SceneTraversal) – Callback data structure storing the collected data.
- update()¶
Enforce internal state consistency. This method should be called when fields are modified. It is automatically called as a post-init step.
- property objects¶
Map of child objects associated with this scene element.
- Returns:
dict– A dictionary mapping object names to a corresponding object to be inserted in the Eradiate scene graph.
- property params¶
- Returns:
dict[str,SceneParameter] orNone– A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.
See also
- property template¶
Kernel dictionary template contents associated with this scene element.
- Returns:
dict– A flat dictionary mapping dot-separated strings describing the path of an item in the nested scene dictionary to values. Values may be objects which can be directly used by themitsuba.load_dict()function, orDictParameterinstances which must be rendered.
See also