DOPComputations.compute_target_dop_facet

giant.coverage.utilities.dop_computations:

DOPComputations.compute_target_dop_facet(visibility)[source]

This method takes a list of observations for a certain facet on the target’s surface and computes DOP metrics based on the observations where the facet is visible.

Parameters:

visibility (ndarray[tuple[Any, ...], dtype[_ScalarT]]) – An array of ILLUM_DTYPE values representing the illumination geometry of a certain facet, with length i where i is the number of images. Each entry characterizes the illumination geometry of the facet at a specific time so that DOP metrics can be computed from the surface normal vector provided by each entry

Return type:

tuple[int, Sequence[ndarray[tuple[Any, …], dtype[float64]] | None], Sequence[float64 | float], Sequence[float64 | float], Sequence[float64 | float], Sequence[float64 | float]] | tuple[dict[str, int], dict[str, Sequence[ndarray[tuple[Any, …], dtype[float64]] | None]], dict[str, Sequence[float64 | float]], dict[str, Sequence[float64 | float]], dict[str, Sequence[float64 | float]], dict[str, Sequence[float64 | float]]]

Note that if labels are being used to handle multiple sets of imaging times, the DOP metrics will be calculated for each label and then a set of combined DOP metrics will be computed for all imaging times. Each of these computed metrics will be stored as values in a dictionary with each label being the keys along with an “all” label for the combined DOP metrics.

Returns:

A tuple of the following data, each having the length of the number of permutations the facet’s surface normal vector was oriented through:

The number of usable observations for the given facet,

The jacobians,

The albedo DOP values,

The x slope DOP values,

The y slope DOP values, and

The RSS of the DOP values

Parameters:

visibility (ndarray[tuple[Any, ...], dtype[_ScalarT]])

Return type:

tuple[int, Sequence[ndarray[tuple[Any, …], dtype[float64]] | None], Sequence[float64 | float], Sequence[float64 | float], Sequence[float64 | float], Sequence[float64 | float]] | tuple[dict[str, int], dict[str, Sequence[ndarray[tuple[Any, …], dtype[float64]] | None]], dict[str, Sequence[float64 | float]], dict[str, Sequence[float64 | float]], dict[str, Sequence[float64 | float]], dict[str, Sequence[float64 | float]]]