BRDF Module¶
The BRDF module provides access to the SCATMECH class BRDF_Model. It defines the Python class BRDF_Model that has two member functions BRDF and MuellerBRDF.
- class pySCATMECH.brdf.BRDF_Model(*args, **kwargs)¶
Bases:
Model
A class for handling BRDF Models.
Arguments *args and **kwargs can contain parameters passed to the model.
One form is to pass a dict of {“parameter” : value, … }.
The keyword argument ‘wavelength’ is automatically changed to ‘lambda’, since lambda is a Python keyword. However, as a str, it should be ‘lambda’.
- Parameters:
name (str) – The name of a SCATMECH model inheriting BRDF_Model
- BRDF(thetai=0, thetas=0, phis=0, rotation=0, coords='psps', inc=StokesVector(1, 0, 0, 0), sens=StokesVector(1, 0, 0, 0))¶
Return the scalar BRDF in a given geometry.
- Parameters:
thetai (float) – Polar angle of incidence in radians.
thetas (float) – Polar angle of viewing in radians.
phis (float, optional) – Azimuthal angle of viewing in radians. (Note: Specular occurs when thetai = thetas, phis = 0) (default is 0)
rotation (float, optional) – Sample rotation angle in radians. (Default is 0)
coords (string, optional) – The coordinate system for the Mueller matrix, either “psps”, “xyxy”, or “plane”. (Default is psps)
inc (StokesVector or 4-list of float or int, optional) – Incident polarization as Stokes vector. (Default is unpolarized)
sens (StokesVector or 4-list of float or int, optional) – Polarization sensitivity of the viewer as a Stokes vector. (Default is unpolarized)
- Returns:
BRDF – The Mueller matrix BRDF for the given incident and viewing directions and polarizations.
- Return type:
float
- JonesBRDF(thetai=0, thetas=0, phis=0, rotation=0, coords='psps')¶
Evaluate the Jones matrix BRDF in a given geometry, and coordinate system. The result, when typecast to a Mueller matrix, is the Mueller matrix BRDF, but maintains phase, if the model has phase information.
- Parameters:
thetai (float) – Polar angle of incidence in radians.
thetas (float) – Polar angle of viewing in radians.
phis (float, optional) – Azimuthal angle of viewing in radians. (Note: Specular occurs when thetai = thetas, phis = 0) (Default is 0)
rotation (float, optional) – Sample rotation angle in radians. (Default is 0)
coords (string, optional) – The coordinate system for the Mueller matrix, either “psps”, “xyxy”, or “plane.” (Default is “psps”)
- Returns:
BRDF – The Jones matrix BRDF
- Return type:
numpy.array of complex (2x2)
- MuellerBRDF(thetai=0, thetas=0, phis=0, rotation=0, coords='psps')¶
Evaluate the Mueller matrix BRDF in a given geometry, and coordinate system.
- Parameters:
thetai (float) – Polar angle of incidence in radians.
thetas (float) – Polar angle of viewing in radians.
phis (float, optional) – Azimuthal angle of viewing in radians. (Note: Specular occurs when thetai = thetas, phis = 0) (Default is 0)
rotation (float, optional) – Sample rotation angle in radians. (Default is 0)
coords (string, optional) – The coordinate system for the Mueller matrix, either “psps”, “xyxy”, or “plane.” (Default is “psps”)
- Returns:
BRDF – The Mueller matrix BRDF
- Return type: