eradiate.scenes.phase.TabulatedPhaseFunction
eradiate.scenes.phase.TabulatedPhaseFunction#
- class eradiate.scenes.phase.TabulatedPhaseFunction(id='phase', *, data)[source]#
Bases:
eradiate.scenes.phase._core.PhaseFunction
Tabulated phase function [
tab_phase
].A lookup table-based phase function. The
data
field is aDataArray
with wavelength and angular dimensions.- Parameters
- Fields
Notes
The \(\mu\) coordinate must cover the \([-1, 1]\) interval but there is no constraint on value ordering or spacing. In particular, irregular \(\mu\) grids are supported.
For optimal performance, providing phase function data on a regular, sorted \(\mu\) grid is recommended.
- eval(spectral_ctx)[source]#
Evaluate phase function based on a spectral context. This method dispatches evaluation to specialised methods depending on the active mode.
- Parameters
spectral_ctx (
SpectralContext
) – A spectral context data structure containing relevant spectral parameters (e.g. wavelength in monochromatic mode, bin and quadrature point index in CKD mode).- Returns
ndarray
– Evaluated phase function as a 1D array.
- eval_mono(w)[source]#
Evaluate phase function in monochromatic modes.
- Parameters
w (
pint.Quantity
) – Wavelength values at which the phase function is to be evaluated.- Returns
ndarray
– Evaluated phase function as a 1D or 2D array depending on the shape of w (angle dimension comes last).
- 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.