McEwenIllumination.compute_photoclinometry_jacobian¶
giant.ray_tracer.illumination
:
- McEwenIllumination.compute_photoclinometry_jacobian(observations, rotation_to_inertial, max_inc=1.2217304763960306, max_emi=1.2217304763960306, max_phase=2.443460952792061, update=False, update_weight=0.005)[source]¶
This computes the Jacobian matrix of the change in the illumination values given a change in the surface normal (represented by a change in the surface slope) and a change in the local albedo values.
Mathematically the jacobian is
where
is the cosine of the incidence angle, is the cosine of the exidence angle, and all else is as defined before.- Parameters:
observations (ndarray) – The observations as a numpy array with type
ILLUM_DTYPE
.rotation_to_inertial (ndarray) – The rotation that takes the frame the observations are expressed in into the the local frame for the surface (usually the local east north up frame)
max_inc (float) – the maximum incidence angle to consider valid in radians
max_emi (float) – the maximum emission angle to consider valid in radians
max_phase (float) – the maximum phase angle to consider valid in radians
update (bool) – A flag specifying whether to form an update Jacobian
update_weight (float) – The weight of the prior values if doing an update
- Returns:
the jacobian matrix as a n(+3)x3 array (where n is the number of observations) and a boolean array of length n specifying which rows of the jacobian matrix are valid
- Return type:
Tuple[ndarray, ndarray]