refmod.hapke.amsa#

Module Contents#

refmod.hapke.amsa.__amsa_preprocess(single_scattering_albedo, incidence_direction, emission_direction, surface_orientation, phase_function_type, b_n=None, a_n=None, roughness=0.0, hs=0.0, bs0=0.0, hc=0.0, bc0=0.0, phase_function_args=())#

Preprocesses the inputs for the AMSA model.

Parameters:
  • single_scattering_albedo (npt.NDArray) – Single scattering albedo.

  • incidence_direction (npt.NDArray) – Incidence direction vector(s) of shape (…, 3).

  • emission_direction (npt.NDArray) – Emission direction vector(s) of shape (…, 3).

  • surface_orientation (npt.NDArray) – Surface orientation vector(s) of shape (…, 3).

  • phase_function_type (PhaseFunctionType) – Type of phase function to use.

  • b_n (npt.NDArray) – Coefficients of the Legendre expansion.

  • a_n (npt.NDArray) – Coefficients of the Legendre expansion.

  • roughness (float, optional) – Surface roughness, by default 0.0.

  • hs (float, optional) – Shadowing parameter, by default 0.0.

  • bs0 (float, optional) – Shadowing parameter, by default 0.0.

  • hc (float, optional) – Coherent backscattering parameter, by default 0.0.

  • bc0 (float, optional) – Coherent backscattering parameter, by default 0.0.

  • phase_function_args (tuple, optional) – Additional arguments for the phase function, by default ().

Returns:

A tuple containing:
  • albedo_independentnpt.NDArray

    Albedo-independent term.

  • mu_0npt.NDArray

    Cosine of the incidence angle.

  • munpt.NDArray

    Cosine of the emission angle.

  • p_gnpt.NDArray

    Phase function values.

  • mnpt.NDArray

    M term.

  • p_mu_0npt.NDArray

    Legendre polynomial values for mu_0.

  • p_munpt.NDArray

    Legendre polynomial values for mu.

  • pnpt.NDArray

    Legendre polynomial values.

  • h_mu_0npt.NDArray

    H-function values for mu_0.

  • h_munpt.NDArray

    H-function values for mu.

Return type:

tuple

refmod.hapke.amsa.amsa(single_scattering_albedo, incidence_direction, emission_direction, surface_orientation, phase_function_type, b_n=None, a_n=None, hs=0, bs0=0, roughness=0, hc=0, bc0=0, phase_function_args=(), refl_optimization=None)#

Calculates the reflectance using the AMSA model.

Parameters:
  • single_scattering_albedo (npt.NDArray) – Single scattering albedo.

  • incidence_direction (npt.NDArray) – Incidence direction vector(s) of shape (…, 3).

  • emission_direction (npt.NDArray) – Emission direction vector(s) of shape (…, 3).

  • surface_orientation (npt.NDArray) – Surface orientation vector(s) of shape (…, 3).

  • phase_function_type (PhaseFunctionType) – Type of phase function to use.

  • b_n (npt.NDArray) – Coefficients of the Legendre expansion.

  • a_n (npt.NDArray) – Coefficients of the Legendre expansion.

  • hs (float, optional) – Shadowing parameter, by default 0.

  • bs0 (float, optional) – Shadowing parameter, by default 0.

  • roughness (float, optional) – Surface roughness, by default 0.

  • hc (float, optional) – Coherent backscattering parameter, by default 0.

  • bc0 (float, optional) – Coherent backscattering parameter, by default 0.

  • phase_function_args (tuple, optional) – Additional arguments for the phase function, by default ().

  • refl_optimization (npt.NDArray | None, optional) – Reflectance optimization array, by default None.

Returns:

Reflectance values.

Return type:

npt.NDArray

Raises:
  • Exception – If at least one reflectance value is not real.

  • References

  • ----------

  • [AMSAModelPlaceholder]

refmod.hapke.amsa.amsa_derivative(single_scattering_albedo, incidence_direction, emission_direction, surface_orientation, phase_function_type, b_n=None, a_n=None, roughness=0, hs=0, bs0=0, hc=0, bc0=0, phase_function_args=(), refl_optimization=None)#

Calculates the derivative of the reflectance using the AMSA model.

Parameters:
  • single_scattering_albedo (npt.NDArray) – Single scattering albedo.

  • incidence_direction (npt.NDArray) – Incidence direction vector(s) of shape (…, 3).

  • emission_direction (npt.NDArray) – Emission direction vector(s) of shape (…, 3).

  • surface_orientation (npt.NDArray) – Surface orientation vector(s) of shape (…, 3).

  • phase_function_type (PhaseFunctionType) – Type of phase function to use.

  • b_n (npt.NDArray) – Coefficients of the Legendre expansion.

  • a_n (npt.NDArray) – Coefficients of the Legendre expansion.

  • roughness (float, optional) – Surface roughness, by default 0.

  • hs (float, optional) – Shadowing parameter, by default 0.

  • bs0 (float, optional) – Shadowing parameter, by default 0.

  • hc (float, optional) – Coherent backscattering parameter, by default 0.

  • bc0 (float, optional) – Coherent backscattering parameter, by default 0.

  • phase_function_args (tuple, optional) – Additional arguments for the phase function, by default ().

  • refl_optimization (npt.NDArray | None, optional) – Reflectance optimization array, by default None. This parameter is not used in the derivative calculation.

Returns:

  • npt.NDArray – Derivative of the reflectance with respect to single scattering albedo.

  • References

  • ———-

  • [AMSAModelPlaceholder]