Reflectance¶
- class sonic.Reflectance¶
This software is made available under the MIT license. See SONIC/LICENSE for details.
- Method Summary
- static calcAzimuth(method, var1, var2, var3)¶
Calculates the emission azimuth angles given either incidence, emission and normal unit vectors or incidence, emission, and phase angles.
- Inputs:
- method (string): Type of azimuth calculation inputs
‘unitVec’: Unit Vector Inputs
- ‘phaseAng’: Phase angle with incidence and
emission angle inputs [rad]
- var1/var2/var3:
- Incidence, emission and normal unit vectors
(3xn) (double)
- Incidence, emission, phase angles (nxm)
(double) [rad]
- Outputs:
- cosPhi (1xn) (double): cosine of the emission azimuth
angles
Last revised: 09/30/2024 Last author: Priyal Soni
- static calcCosAzimuth(method, var1, var2, var3)¶
Calculates cosine of the emission azimuth angles given either incidence, emission and normal unit vectors or incidence, emission, and phase angles.
- Inputs:
- method (string): Type of azimuth calculation inputs
‘unitVec’: Unit Vector Inputs
- ‘phaseAng’: Phase angle with incidence and
emission angle inputs
- var1/var2/var3:
- Incidence, emission and normal unit vectors
(3xn) (double)
- Incidence, emission, phase angles (nxm)
(double) [rad]
- Outputs:
- cosPhi (1xn) (double): cosine of the emission azimuth
angles
Last revised: 09/30/2024 Last author: Priyal Soni
- static calcCosIE(u_i, u_e, u_n)¶
Calculates cosine of the incidence and emission angles (measured from the normal vector) given the incidence, emission and normal unit vectors.
- Inputs:
u_i (3xn) (double): incidence unit vectors
u_e (3xn) (double): emission unit vectors
u_n (3xn) (double): normal unit vectors
- Outputs:
cosi (1xn) (double): cosine of incidence angles
cose (1xn) (double): cosine of emission angles
Last revised: 09/30/2024 Last author: Priyal Soni
- static calcCosPhase(varargin)¶
Calculates cosine of the phase angles given either incidence, emission and azimuth angles or incidence and emission unit vectors
- Inputs:
- varargin:
- Incidence, emission and azimuth angles (nxm)
(double) [rad]
- Incidence and emission unit vectors (3xn)
(double)
- Outputs:
cosg (1xn) (double): phase angles [rad]
Last revised: 09/30/2024 Last author: Priyal Soni
- static calcIE(u_i, u_e, u_n)¶
Calculates incidence and emission angles (measured from the normal vector) given the incidence, emission and normal unit vectors.
- Inputs:
u_i (3xn) (double): incidence unit vectors
u_e (3xn) (double): emission unit vectors
u_n (3xn) (double): normal unit vectors
- Outputs:
i (1xn) (double): incidence angles [rad]
e (1xn) (double): emission angles [rad]
Last revised: 09/30/2024 Last author: Priyal Soni
- static calcPhase(varargin)¶
Calculates the phase angles given either incidence, emission and azimuth angles or incidence and emission unit vectors
- Inputs:
- varargin:
- Incidence, emission and azimuth angles (nxm)
(double) [rad]
- Incidence and emission unit vectors (3xn)
(double)
- Outputs:
g (1xn) (double): phase angles [rad]
Last revised: 09/30/2024 Last author: Priyal Soni
- static checkInputs(inputType, var1, var2, varargin)¶
Validates all reflectance model inputs to ensure size compatibility and value
- Inputs:
- inputType (string):
“iep” for incidence/emission/phase angles
“iea” for incidence/emission/azimuth angles
- “ien” for incidence/emission/normal vectors
– Must be column vectors, (3xn)
var1
var2
- varargin: REQUIRED for “ien” as var3
OPTIONAL for “iea” and “iep” depending on the reflectance model
- Outputs:
var1: same as input
var2: same as input
- varargout: same as varargin
will be output if varargin is used for var3
Last revised: 09/30/2024 Last author: Priyal Soni
- static cosineArgCheck(x)¶
Checks x to ensure any value sufficiently close to +1 or -1 are set to +1 and -1 (respectively) to avoid complex evaluation in cos(x)
- Inputs:
x (n,m) (double): matrix of values that will be
evaluated using cos(x)
- Outputs:
x (n,m) (double): corrected matrix with any values
within sonic.Tolerances.CosArgCheck and greater than 1 are set to +1, and similar with -1.
Last revised: 09/30/2024 Last author: Priyal Soni
- static mustBeDoubleOrPointsS2(a)¶
Input validation function for reflectance model inputs.
- Inputs:
- a: typically var1, var2, or var3 in a reflctance
object refl() function.
- Outputs:
N/A for input validation functions
Last revised: 09/30/2024 Last author: Priyal Soni