observations¶

This module contains the objects in Tudat that are used to store and process observations. The ObservationCollection is the object for which a complete set of observations (e.g. all observations to be used in a single estimation) are stored. This object is composed of a list of SingleObservationSet objects, each of which stores observations of a common type, link ends, etc. Dealing with observations in Tudat is discussed extensively on the user guide. In addition to the observations, these objects also store observation residuals and dependent variables. These are normally computed during an estimation (see estimation_analysis), but can also be computed outside an estimation loop using the function compute_residuals_and_dependent_variables()

In addition to the top-level classes, this module contains functionality to manipulate objects of these classes (merge_observation_collections(), split_observation_collection(), create_new_observation_collection()). For a more detailed discussion on the use of these functions, as well as the filtering of observations using create_filtered_observation_collection(), create_filtered_observation_set() (e.g. removing observations outside a certain time range, with a residual higher than a given value, etc.), see our corresponding user guide section.

Functions¶

compute_residuals_and_dependent_variables(...)

Computes residuals and dependent variables for a given observation collection.

single_observation_set(observable_type, ...)

Deprecated.

create_single_observation_set(...)

Factory function to create a SingleObservationSet object.

filter_observations(...[, ...])

Deprecated.

create_filtered_observation_set(...[, ...])

Filters a single observation set and returns a new set containing the filtered observations.

split_observation_set(...[, print_warning])

Splits a single observation set into multiple sets based on a splitter.

create_filtered_observation_collection(...)

Overloaded function.

merge_observation_collections(...)

split_observation_collection(...)

Creates a new observation collection by splitting sets from an existing collection.

create_new_observation_collection(...)

Creates a new observation collection containing a subset of an existing collection.

compute_residuals_and_dependent_variables(observation_collection: tudatpy.kernel.estimation.observations.ObservationCollection, observation_simulators: list[tudatpy.kernel.estimation.observable_models.observables_simulation.ObservationSimulator], bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies) None¶

Computes residuals and dependent variables for a given observation collection.

This function simulates observations based on the settings of the input observation_collection (which typically contains real data). It then computes the residuals by subtracting the simulated observations from the original observations. The computed residuals and any observation-dependent variables are then stored in the input observation_collection.

Parameters:
single_observation_set(observable_type: tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType, link_definition: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition, observations: list[numpy.ndarray[numpy.float64[m, 1]]], observation_times: list[tudatpy.kernel.astro.time_representation.Time], reference_link_end: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType, ancillary_settings: tudat::observation_models::ObservationAncillarySimulationSettings = None) tudatpy.kernel.estimation.observations.SingleObservationSet¶

Deprecated. Use create_single_observation_set() instead.

create_single_observation_set(observable_type: tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType, link_ends: dict[tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType, tudatpy.kernel.estimation.observable_models_setup.links.LinkEndId], observations: list[numpy.ndarray[numpy.float64[m, 1]]], observation_times: list[tudatpy.kernel.astro.time_representation.Time], reference_link_end: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType, ancillary_settings: tudat::observation_models::ObservationAncillarySimulationSettings = None) tudatpy.kernel.estimation.observations.SingleObservationSet¶

Factory function to create a SingleObservationSet object.

This function creates a SingleObservationSet object from a list of observations and their corresponding times. This is a simplified factory function that does not include dependent variables.

Parameters:
  • observable_type (ObservableType) – Type of observable.

  • link_ends (dict[LinkEndType, LinkEndId]) – Definition of the link ends for the observation.

  • observations (list[numpy.ndarray]) – List of observations. Each entry is a vector representing a single observation.

  • observation_times (list[float]) – List of observation times.

  • reference_link_end (LinkEndType) – Reference link end for the observation.

  • ancillary_settings (ObservationAncillarySimulationSettings, optional) – Ancillary settings for the observation.

Returns:

A SingleObservationSet object.

Return type:

tudatpy.estimation.observations.SingleObservationSet

filter_observations(original_observation_set: tudatpy.kernel.estimation.observations.SingleObservationSet, observation_filter: tudatpy.kernel.estimation.observations.observations_processing.ObservationFilterBase, save_filtered_observations: bool = False) tudatpy.kernel.estimation.observations.SingleObservationSet¶

Deprecated. Use create_filtered_observation_set() instead.

create_filtered_observation_set(original_observation_set: tudatpy.kernel.estimation.observations.SingleObservationSet, observation_filter: tudatpy.kernel.estimation.observations.observations_processing.ObservationFilterBase, save_filtered_observations: bool = False) tudatpy.kernel.estimation.observations.SingleObservationSet¶

Filters a single observation set and returns a new set containing the filtered observations.

This function creates a copy of the input observation set and applies the given filter. The original observation set is not modified.

Parameters:
  • original_observation_set (tudatpy.estimation.observations.SingleObservationSet) – The observation set to filter.

  • observation_filter (tudatpy.estimation.observations.observations_processing.ObservationFilterBase) – The filter to apply.

  • save_filtered_observations (bool, optional) – If true, the observations that are filtered out are stored within the new observation set. Defaults to false.

Returns:

A new observation set containing only the observations that passed the filter.

Return type:

tudatpy.estimation.observations.SingleObservationSet

split_observation_set(original_observation_set: tudatpy.kernel.estimation.observations.SingleObservationSet, observation_splitter: tudatpy.kernel.estimation.observations.observations_processing.ObservationSetSplitterBase, print_warning: bool = True) list[tudatpy.kernel.estimation.observations.SingleObservationSet]¶

Splits a single observation set into multiple sets based on a splitter.

This function takes an observation set and divides it into a list of smaller observation sets according to the criteria defined in the observation splitter.

Parameters:
  • original_observation_set (tudatpy.estimation.observations.SingleObservationSet) – The observation set to split.

  • observation_splitter (tudatpy.estimation.observations.observations_processing.ObservationSetSplitterBase) – The splitter defining the splitting criteria.

  • print_warning (bool, optional) – If true, a warning is printed if the original set contains filtered observations that will be lost. Defaults to true.

Returns:

A list of new observation sets resulting from the split.

Return type:

list[tudatpy.estimation.observations.SingleObservationSet]

merge_observation_collections(observation_collection_list: list[tudatpy.kernel.estimation.observations.ObservationCollection]) tudatpy.kernel.estimation.observations.ObservationCollection¶
create_filtered_observation_collection(*args, **kwargs)¶

Overloaded function.

Overload 1: create_filtered_observation_collection(original_observation_collection: tudatpy.kernel.estimation.observations.ObservationCollection, observation_filters_map: collections.abc.Mapping[tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser, tudatpy.kernel.estimation.observations.observations_processing.ObservationFilterBase]) -> tudatpy.kernel.estimation.observations.ObservationCollection

Creates a new, filtered observation collection from an existing one using multiple filters.

This function applies a set of filters, each associated with a parser, to an observation collection and returns a new collection with the filtered observations. The original collection is not modified.

Parameters:
  • original_observation_collection (tudatpy.estimation.observations.ObservationCollection) – The observation collection to filter.

  • observation_filters_map (dict[tudatpy.estimation.observations.ObservationCollectionParser, tudatpy.estimation.observations.observations_processing.ObservationFilterBase]) – A dictionary mapping parsers to filters.

Returns:

A new observation collection containing the filtered observations.

Return type:

tudatpy.estimation.observations.ObservationCollection

Overload 2: create_filtered_observation_collection(original_observation_collection: tudatpy.kernel.estimation.observations.ObservationCollection, observation_filter: tudatpy.kernel.estimation.observations.observations_processing.ObservationFilterBase, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc48fcb0>) -> tudatpy.kernel.estimation.observations.ObservationCollection

Creates a new, filtered observation collection from an existing one using a single filter.

This function applies a single filter to a subset of an observation collection (selected by a parser) and returns a new collection with the filtered observations. The original collection is not modified.

Parameters:
  • original_observation_collection (tudatpy.estimation.observations.ObservationCollection) – The observation collection to filter.

  • observation_filter (tudatpy.estimation.observations.observations_processing.ObservationFilterBase) – The filter to apply.

  • observation_parser (tudatpy.estimation.observations.ObservationCollectionParser, optional) – Parser to select the subset of observations to filter. Defaults to an empty parser (all observations).

Returns:

A new observation collection containing the filtered observations.

Return type:

tudatpy.estimation.observations.ObservationCollection

split_observation_collection(original_observation_collection: tudatpy.kernel.estimation.observations.ObservationCollection, observation_set_splitter: tudatpy.kernel.estimation.observations.observations_processing.ObservationSetSplitterBase, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4b31f0>) tudatpy.kernel.estimation.observations.ObservationCollection¶

Creates a new observation collection by splitting sets from an existing collection.

This function splits observation sets from the original collection based on a splitter and returns a new collection containing the resulting sets. The original collection is not modified.

Parameters:
  • original_observation_collection (tudatpy.estimation.observations.ObservationCollection) – The observation collection from which to split sets.

  • observation_set_splitter (tudatpy.estimation.observations.observations_processing.ObservationSetSplitterBase) – The splitter defining how to split the sets.

  • observation_parser (tudatpy.estimation.observations.ObservationCollectionParser, optional) – Parser to select which observation sets to split. Defaults to an empty parser (all sets).

Returns:

A new observation collection with the split observation sets.

Return type:

tudatpy.estimation.observations.ObservationCollection

create_new_observation_collection(original_observation_collection: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc52eab0>) tudatpy.kernel.estimation.observations.ObservationCollection¶

Creates a new observation collection containing a subset of an existing collection.

This function selects a subset of observation sets from an original collection using a parser and creates a new collection containing only those sets.

Parameters:
  • original_observation_collection (tudatpy.estimation.observations.ObservationCollection) – The collection from which to extract a subset.

  • observation_parser (tudatpy.estimation.observations.ObservationCollectionParser, optional) – Parser to select the observation sets to include in the new collection. Defaults to an empty parser (all sets).

Returns:

A new observation collection containing the selected subset of observation sets.

Return type:

tudatpy.estimation.observations.ObservationCollection

Classes¶

SingleObservationSet

Class for storing and handling a single set of observations.

ObservationCollection

Class collecting all observations and associated data for use in an estimation.

class SingleObservationSet¶

Bases: pybind11_object

Class for storing and handling a single set of observations.

This class stores a set of observations of a single observable type and a single link definition. The observations are stored as a vector of Eigen matrices, where each entry represents a single observation at a given time. The class also stores the observation times, reference link end, and other metadata.

The pybind SingleObservationSet object is a list-like object, which can be iterated over, and from which specific observation data can be retrieved by index.

When iterating, a tuple is returned with the following entries: - int: index of the observation. - float: time of the observation. - numpy.ndarray: value of the observation.

When using the [] operator, a tuple is returned with the following entries: - float: time of the observation. - numpy.ndarray: value of the observation.

Parameters:
compatible_dependent_variable_settings(self: tudatpy.kernel.estimation.observations.SingleObservationSet, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings) list[tudat::simulation_setup::ObservationDependentVariableSettings]¶

Returns the list of all dependent variable settings compatible with the settings provided as inputs.

Parameters:

dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – The settings to check for compatibility.

Returns:

A list of compatible dependent variable settings.

Return type:

list[tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings]

compatible_dependent_variables_list(self: tudatpy.kernel.estimation.observations.SingleObservationSet, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings) list[numpy.ndarray[numpy.float64[m, n]]]¶

Returns a vector containing the values of all dependent variables compatible with the settings provided as input.

Parameters:

dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – The settings to check for compatibility.

Returns:

A list of matrices, each containing values of a compatible dependent variable.

Return type:

list[numpy.ndarray]

filter_observations(self: tudatpy.kernel.estimation.observations.SingleObservationSet, filter: tudatpy.kernel.estimation.observations.observations_processing.ObservationFilterBase, save_filtered_obs: bool = True) None¶

Filters observations based on a given filter criterion.

Parameters:
  • filter (tudatpy.estimation.observations.observations_processing.ObservationFilterBase) – The filter to apply.

  • save_filtered_obs (bool, optional) – If true, the filtered observations are stored in a separate set. Defaults to true.

set_constant_weight(*args, **kwargs)¶

Overloaded function.

Overload 1: set_constant_weight(self: tudatpy.kernel.estimation.observations.SingleObservationSet, weight: typing.SupportsFloat | typing.SupportsIndex) -> None

Sets a constant scalar weight for all observations.

Parameters:

weight (float) – The constant weight to apply.

Overload 2: set_constant_weight(self: tudatpy.kernel.estimation.observations.SingleObservationSet, weight: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]) -> None

Sets a constant weight vector for all observations.

Parameters:

weight (numpy.ndarray) – The constant weight vector to apply to each observation.

set_observations(*args, **kwargs)¶

Overloaded function.

Overload 1: set_observations(self: tudatpy.kernel.estimation.observations.SingleObservationSet, observations: collections.abc.Sequence[typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]]) -> None

Sets the observation values from a list of vectors.

Parameters:

observations (list[numpy.ndarray]) – The new list of observations.

Overload 2: set_observations(self: tudatpy.kernel.estimation.observations.SingleObservationSet, observations: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]) -> None

Sets the observation values from a single concatenated vector.

Parameters:

observations (numpy.ndarray) – A single vector containing all observations concatenated.

set_residuals(*args, **kwargs)¶

Overloaded function.

Overload 1: set_residuals(self: tudatpy.kernel.estimation.observations.SingleObservationSet, residuals: collections.abc.Sequence[typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]]) -> None

Sets the residuals for all observations from a list of vectors.

Parameters:

residuals (list[numpy.ndarray]) – The new list of residuals.

Overload 2: set_residuals(self: tudatpy.kernel.estimation.observations.SingleObservationSet, residuals: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]) -> None

Sets the residuals for all observations from a single concatenated vector.

Parameters:

residuals (numpy.ndarray) – A single vector containing all residuals concatenated.

set_tabulated_weights(self: tudatpy.kernel.estimation.observations.SingleObservationSet, weights: numpy.ndarray[numpy.float64[m, 1]]) None¶

Sets weights for all observations from a single concatenated vector.

Parameters:

weights (numpy.ndarray) – A single vector containing all weights concatenated.

single_dependent_variable(self: tudatpy.kernel.estimation.observations.SingleObservationSet, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, return_first_compatible_settings: bool = False) numpy.ndarray[numpy.float64[m, n]]¶

Returns the values of a single dependent variable (specified by dependent variable settings).

Parameters:
Returns:

A matrix of the dependent variable values over all observation times.

Return type:

numpy.ndarray

single_dependent_variable_history(self: tudatpy.kernel.estimation.observations.SingleObservationSet, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, return_first_compatible_settings: bool = False) dict[tudatpy.kernel.astro.time_representation.Time, numpy.ndarray[numpy.float64[m, 1]]]¶

Returns the time history of a single dependent variable (specified by settings).

Parameters:
Returns:

A map from observation time to the value of the specified dependent variable.

Return type:

dict[float, numpy.ndarray]

property ancillary_settings¶

read-only

Ancillary settings for all stored observations

Type:

ObservationAncillarySimulationSettings

property ancilliary_settings¶

read-only

Ancillary settings for all stored observations

Type:

ObservationAncillarySimulationSettings

property computed_observations¶

Returns the vector of computed observation values (observed - residual).

Returns:

The list of computed observations.

Return type:

list[numpy.ndarray]

property concatenad_weights¶

Returns all weights concatenated into a single vector.

Returns:

A single vector containing all weights.

Return type:

numpy.ndarray

property concatenated_computed_observations¶

Returns all computed observations concatenated into a single vector.

Returns:

A single vector containing all computed observations.

Return type:

numpy.ndarray

property concatenated_observations¶

read-only

Concatenated vector of all stored observations

Type:

numpy.ndarray[numpy.float64[m, 1]]

property concatenated_residuals¶

Returns all residuals concatenated into a single vector.

Returns:

A single vector containing all residuals.

Return type:

numpy.ndarray

property dependent_variables¶

List of dependent variables for all observations.

property dependent_variables_history¶

Time history of all observation dependent variables.

Returns:

A map from observation time to the vector of dependent variables.

Return type:

dict[tudatpy.astro.time_representation.Time, numpy.ndarray]

property dependent_variables_matrix¶

Returns the dependent variables for all observations as a matrix.

Returns:

A matrix where each row corresponds to an observation and columns to dependent variables.

Return type:

numpy.ndarray

property filtered_observation_set¶

Returns the set of filtered observations.

Returns:

The observation set containing filtered observations.

Return type:

SingleObservationSet

Definition of the link ends for which the object stores observations

Type:

LinkDefinition

property list_of_observations¶

read-only

List of separate stored observations. Each entry of this list is a vector containing a single observation. In cases where the observation is single-valued (range, Doppler), the vector is size 1, but for multi-valued observations such as angular position, each vector in the list will have size >1

Type:

list[ numpy.ndarray[numpy.float64[m, 1]] ]

property mean_residuals¶

Returns the mean of the residuals.

Returns:

A vector containing the mean of residuals for each component of the observable.

Return type:

numpy.ndarray

property number_filtered_observations¶

Returns the number of observations that have been filtered out.

Returns:

The number of filtered observations.

Return type:

int

property number_of_observables¶

Returns the number of observations in the set.

Returns:

The number of observations.

Return type:

int

property observable_type¶

read-only

Type of observable for which the object stores observations

Type:

ObservableType

property observation_times¶

read-only

List of reference times for each of the observations in list_of_observations

Type:

list[ tudatpy.astro.time_representation.Time ]

property observations_history¶

read-only

Dictionary of observations sorted by time. Created by making a dictionary with observation_times as keys and list_of_observations as values.

Type:

dict[ tudatpy.astro.time_representation.Time, numpy.ndarray[numpy.float64[m, 1]] ]

read-only

Reference link end for all stored observations

Type:

LinkEndType

property residuals¶

Returns the vector of residuals for all observations.

Returns:

The list of residuals.

Return type:

list[numpy.ndarray]

property rms_residuals¶

Returns the Root Mean Square (RMS) of the residuals.

Returns:

A vector containing the RMS of residuals for each component of the observable.

Return type:

numpy.ndarray

property single_observable_size¶

Returns the size of a single observation value (e.g., 1 for range, 2 for angular position).

Returns:

The size of a single observation.

Return type:

int

property time_bounds¶

Returns the start and end time of the observation set.

Returns:

The start and end time of the observations.

Return type:

tuple[tudatpy.astro.time_representation.Time, tudatpy.astro.time_representation.Time]

property total_observation_set_size¶

Returns the total size of all observation values in the set.

Returns:

The total size of the observation set.

Return type:

int

property weights¶

Returns the vector of weights for all observations.

Returns:

The list of weights.

Return type:

list[numpy.ndarray]

property weights_vector¶

Concatenated vector of weights for all observations.

class ObservationCollection¶

Bases: pybind11_object

Class collecting all observations and associated data for use in an estimation.

Class containing the full set of observations and associated data, typically for input into the estimation. When using simulated data, this class is instantiated via a call to the simulate_observations() function. More information is provided on the user guide

add_dependent_variable(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc465d30>) tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser¶

Add an observation dependent variable to a subset of the single observation sets.

Parameters:
Returns:

A parser that can be used to retrieve the added dependent variable.

Return type:

tudatpy.estimation.observations.observations_processing.ObservationCollectionParser

append(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_collection_to_append: tudatpy.kernel.estimation.observations.ObservationCollection) None¶
compatible_dependent_variable_settings(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc82d370>) tuple[list[list[tudat::simulation_setup::ObservationDependentVariableSettings]], tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser]¶

Get a list of all dependent variable settings compatible with the input settings.

Parameters:
Returns:

A pair containing a list of lists of compatible settings and the parser used.

Return type:

tuple[list[list[tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings]], tudatpy.estimation.observations.observations_processing.ObservationCollectionParser]

compatible_dependent_variables_list(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc7e56f0>) tuple[list[list[numpy.ndarray[numpy.float64[m, n]]]], tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser]¶

Get all dependent variables compatible with the input settings.

Parameters:
Returns:

A pair containing a list of lists of dependent variable values and the parser used.

Return type:

tuple[list[list[numpy.ndarray]], tudatpy.estimation.observations.observations_processing.ObservationCollectionParser]

concatenated_dependent_variable(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, first_compatible_settings: bool = False, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc456230>) tuple[numpy.ndarray[numpy.float64[m, n]], tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser]¶

Retrieve the concatenated values of a given dependent variable.

Parameters:
Returns:

A pair containing a matrix with the concatenated dependent variable values and the parser used.

Return type:

tuple[numpy.ndarray, tudatpy.estimation.observations.observations_processing.ObservationCollectionParser]

dependent_variable(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, first_compatible_settings: bool = False, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4e7030>) tuple[list[numpy.ndarray[numpy.float64[m, n]]], tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser]¶

Retrieve the values of a given dependent variable, sorted per single observation set.

Parameters:
Returns:

A pair containing a list of matrices with the dependent variable values and the parser used.

Return type:

tuple[list[numpy.ndarray], tudatpy.estimation.observations.observations_processing.ObservationCollectionParser]

dependent_variable_history(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, first_compatible_settings: bool = False, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc53e1f0>) dict[float, numpy.ndarray[numpy.float64[m, 1]]]¶

Retrieve the concatenated time history of a given dependent variable.

Parameters:
Returns:

A map from time to dependent variable value.

Return type:

dict[float, numpy.ndarray]

dependent_variable_history_per_set(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, first_compatible_settings: bool = False, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc7c60f0>) list[dict[float, numpy.ndarray[numpy.float64[m, 1]]]]¶

Retrieve the time history of a given dependent variable, sorted per observation set.

Parameters:
Returns:

A list of maps from time to dependent variable value, one for each set.

Return type:

list[dict[float, numpy.ndarray]]

dependent_variable_history_per_set_time_object(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, first_compatible_settings: bool = False, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc44fd30>) list[dict[tudatpy.kernel.astro.time_representation.Time, numpy.ndarray[numpy.float64[m, 1]]]]¶

Retrieve the time history of a given dependent variable, sorted per observation set, with times as Time objects.

Parameters:
Returns:

A list of maps from time to dependent variable value, one for each set, with times as Time objects.

Return type:

list[dict[Time, numpy.ndarray]]

dependent_variable_history_time_object(self: tudatpy.kernel.estimation.observations.ObservationCollection, dependent_variable_settings: tudat::simulation_setup::ObservationDependentVariableSettings, first_compatible_settings: bool = False, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc53e370>) dict[tudatpy.kernel.astro.time_representation.Time, numpy.ndarray[numpy.float64[m, 1]]]¶

Retrieve the concatenated time history of a given dependent variable, with times as Time objects.

Parameters:
Returns:

A map from time to dependent variable value, with times as Time objects.

Return type:

dict[Time, numpy.ndarray]

filter_observations(*args, **kwargs)¶

Overloaded function.

Overload 1: filter_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_filters: collections.abc.Mapping[tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser, tudatpy.kernel.estimation.observations.observations_processing.ObservationFilterBase], save_filtered_observations: bool = True) -> None

Filter observations using a set of filters.

This function filters the observations in the collection based on a map of observation filters, each associated with an observation parser.

Parameters:

Overload 2: filter_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_filters: tudatpy.kernel.estimation.observations.observations_processing.ObservationFilterBase, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc44c730>, save_filtered_observations: bool = True) -> None

Filter observations using a single filter.

This function filters a subset of observations (or all) using a single observation filter.

Parameters:
  • observation_filter (tudatpy.estimation.observations.observations_processing.ObservationFilterBase) – The observation filter to apply.

  • observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, applying to all observation sets.

  • save_filtered_observations (bool, optional) – If true, the filtered-out observations are saved within each observation set, by default True.

Get the names of bodies present in the link ends of a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of body names.

Return type:

list[str]

get_computed_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc53c0f0>) list[numpy.ndarray[numpy.float64[m, 1]]]¶

Get the computed observations for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of computed observation vectors, one for each selected observation set.

Return type:

list[numpy.ndarray]

get_concatenated_computed_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4c7cb0>) numpy.ndarray[numpy.float64[m, 1]]¶

Get the concatenated computed observations for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

The concatenated vector of computed observation values.

Return type:

numpy.ndarray

Get the concatenated link definition IDs for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser) – Object that is used to select a subset of the observation sets.

Returns:

A list of concatenated link end IDs.

Return type:

list[int]

get_concatenated_observation_times(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc52d9b0>) list[float]¶

Get the concatenated observation times for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A concatenated list of observation times.

Return type:

list[float]

get_concatenated_observation_times_objects(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4b0530>) list[tudatpy.kernel.astro.time_representation.Time]¶

Get the concatenated observation times for a subset of observation sets as Time objects.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A concatenated list of observation times as Time objects.

Return type:

list[Time]

get_concatenated_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5ea038030>) numpy.ndarray[numpy.float64[m, 1]]¶

Get the concatenated observations for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

The concatenated vector of observation values.

Return type:

numpy.ndarray

get_concatenated_observations_and_times(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc52d070>) tuple[numpy.ndarray[numpy.float64[m, 1]], list[float]]¶

Get the concatenated observations and times for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A pair containing the concatenated observation vector and list of times.

Return type:

tuple[numpy.ndarray, list[float]]

get_concatenated_observations_and_times_objects(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc48c3b0>) tuple[numpy.ndarray[numpy.float64[m, 1]], list[tudatpy.kernel.astro.time_representation.Time]]¶

Get the concatenated observations and times for a subset of observation sets, with times as Time objects.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A pair containing the concatenated observation vector and list of times as Time objects.

Return type:

tuple[numpy.ndarray, list[Time]]

get_concatenated_residuals(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc52d7f0>) numpy.ndarray[numpy.float64[m, 1]]¶

Get the concatenated residuals for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

The concatenated vector of residuals.

Return type:

numpy.ndarray

get_concatenated_weights(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc52c670>) numpy.ndarray[numpy.float64[m, 1]]¶

Get the concatenated weights for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

The concatenated vector of weights.

Return type:

numpy.ndarray

Function to get all link definitions for a given observable type.

Parameters:

observable_type (tudatpy.estimation.observable_models_setup.model_settings.ObservableType) – Observable type for which link definitions are to be retrieved.

Returns:

List of link definitions for the given observable type.

Return type:

list[ LinkDefinition ]

get_mean_residuals(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4679b0>) list[numpy.ndarray[numpy.float64[m, 1]]]¶

Get the mean of residuals for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of mean residual vectors, one for each selected observation set.

Return type:

list[numpy.ndarray]

get_observable_types(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc49b870>) list[tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType]¶

Get the observable types for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of observable types present in the selected subset.

Return type:

list[ObservableType]

get_observation_times(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4f75f0>) list[list[float]]¶

Get the observation times for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of lists of observation times, one for each selected observation set.

Return type:

list[list[float]]

get_observation_times_objects(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc749830>) list[list[tudatpy.kernel.astro.time_representation.Time]]¶

Get the observation times for a subset of observation sets as Time objects.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of lists of observation times as Time objects.

Return type:

list[list[Time]]

get_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5e8ece4f0>) list[numpy.ndarray[numpy.float64[m, 1]]]¶

Get the observations for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of observation vectors, one for each selected observation set.

Return type:

list[numpy.ndarray]

get_observations_and_times(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc52e5b0>) tuple[list[numpy.ndarray[numpy.float64[m, 1]]], list[list[float]]]¶

Get the observations and times for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A pair containing a list of observation vectors and a list of lists of observation times.

Return type:

tuple[list[numpy.ndarray], list[list[float]]]

get_observations_and_times_objects(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc7e5130>) tuple[list[numpy.ndarray[numpy.float64[m, 1]]], list[list[tudatpy.kernel.astro.time_representation.Time]]]¶

Get the observations and times for a subset of observation sets, with times as Time objects.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A pair containing a list of observation vectors and a list of lists of observation times as Time objects.

Return type:

tuple[list[numpy.ndarray], list[list[Time]]]

Get the names of reference points (e.g., ground stations) in the link ends of a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of reference point names.

Return type:

list[str]

get_residuals(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4558b0>) list[numpy.ndarray[numpy.float64[m, 1]]]¶

Get the residuals for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of residual vectors, one for each selected observation set.

Return type:

list[numpy.ndarray]

get_rms_residuals(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc483070>) list[numpy.ndarray[numpy.float64[m, 1]]]¶

Get the RMS of residuals for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of RMS residual vectors, one for each selected observation set.

Return type:

list[numpy.ndarray]

Function to get all observation sets for a given observable type and link definition.

Parameters:
Returns:

List of observation sets for given observable type and link definition.

Return type:

list[ SingleObservationSet ]

get_single_observation_sets(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc480b70>) list[tudatpy.kernel.estimation.observations.SingleObservationSet]¶

Get a subset of single observation sets.

This function returns a list of the single observation sets that are selected by the provided observation parser.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of the selected single observation sets.

Return type:

list[tudatpy.estimation.observations.SingleObservationSet]

get_time_bounds_list(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc53d2f0>) list[tuple[float, float]]¶

Get the time bounds for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of time bound pairs (start_time, end_time).

Return type:

list[tuple[float, float]]

get_time_bounds_list_time_object(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5e8ecd3f0>) list[tuple[tudatpy.kernel.astro.time_representation.Time, tudatpy.kernel.astro.time_representation.Time]]¶

Get the time bounds for a subset of observation sets as Time objects.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of time bound pairs (start_time, end_time) as Time objects.

Return type:

list[tuple[Time, Time]]

get_time_bounds_per_set(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc53d570>) list[tuple[float, float]]¶

Get the time bounds for each set in a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of time bound pairs for each observation set.

Return type:

list[tuple[float, float]]

get_time_bounds_per_set_time_object(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc483eb0>) list[tuple[tudatpy.kernel.astro.time_representation.Time, tudatpy.kernel.astro.time_representation.Time]]¶

Get the time bounds for each set in a subset of observation sets as Time objects.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of time bound pairs for each observation set as Time objects.

Return type:

list[tuple[Time, Time]]

get_weights(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4b29f0>) list[numpy.ndarray[numpy.float64[m, 1]]]¶

Get the weights for a subset of observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, retrieving all observation sets.

Returns:

A list of weight vectors, one for each selected observation set.

Return type:

list[numpy.ndarray]

print_observation_sets_start_and_size(self: tudatpy.kernel.estimation.observations.ObservationCollection) None¶

Prints the structure of the observation collection, showing the start index and size of each individual observation set.

remove_empty_observation_sets(self: tudatpy.kernel.estimation.observations.ObservationCollection) None¶

Remove all single observation sets that contain no observations.

remove_single_observation_sets(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser) None¶

Remove a subset of single observation sets.

Parameters:

observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser) – Object that is used to select the subset of observation sets to remove.

set_constant_weight(*args, **kwargs)¶

Overloaded function.

Overload 1: set_constant_weight(self: tudatpy.kernel.estimation.observations.ObservationCollection, weight: typing.SupportsFloat | typing.SupportsIndex, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc50e8b0>) -> None

Set a constant weight for a subset of observation sets.

Parameters:

Overload 2: set_constant_weight(self: tudatpy.kernel.estimation.observations.ObservationCollection, weight: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"], observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc7dca30>) -> None

Set a constant weight vector for a subset of observation sets.

Parameters:
set_constant_weight_per_observation_parser(*args, **kwargs)¶

Overloaded function.

Overload 1: set_constant_weight_per_observation_parser(self: tudatpy.kernel.estimation.observations.ObservationCollection, weights_per_observation_parser: collections.abc.Mapping[tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser, typing.SupportsFloat | typing.SupportsIndex]) -> None

Set a constant weight for multiple subsets of observation sets.

Parameters:

weights_per_observation_parser (dict[tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, float]) – A dictionary mapping observation parsers to constant weights.

Overload 2: set_constant_weight_per_observation_parser(self: tudatpy.kernel.estimation.observations.ObservationCollection, weights_per_observation_parser: collections.abc.Mapping[tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser, typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]]) -> None

Set a constant weight vector for multiple subsets of observation sets.

Parameters:

weights_per_observation_parser (dict[tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, numpy.ndarray]) – A dictionary mapping observation parsers to constant weight vectors.

set_observations(*args, **kwargs)¶

Overloaded function.

Overload 1: set_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observations: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]) -> None

Function to reset the full list of observable values. The order of the observations must be the same as for concatenated_observations

Parameters:

observations (np.ndarray) – New list of observable values

Overload 2: set_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observations: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"], observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser) -> None

Function to reset a subset of all observable values, with this subset defined by the observation_parser input. The order and size of the new observation vector must be the same as when calling concatenated_observations on an ObservationCollection containing only the parsed observation.

Parameters:
  • observations (np.ndarray) – New list of observable values

  • observation_parser (ObservationCollectionParser) – Observation parser with which to select the subset of observations that is to be reset

Overload 3: set_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observations_per_parser: collections.abc.Mapping[tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser, typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]]) -> None

Function to reset a subset of all observable values, with this subset defined by a list of observation parsers input. Each observation parser is associated with a new set of observable values. The order and size of the new observation vector for each parser must be the same as when calling concatenated_observations on an ObservationCollection containing only the parsed observation (from a single parser). NOTE: since the multiple parsers are handled in order (iterating over the keys of observations_per_parser) some observations may be reset several times, in case.

Parameters:
  • observations (np.ndarray) – New list of observable values

  • observation_parser (ObservationCollectionParser) – Observation parser with which to select the subset of observations that is to be reset

set_reference_point(*args, **kwargs)¶

Overloaded function.

Overload 1: set_reference_point(self: tudatpy.kernel.estimation.observations.ObservationCollection, bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, antenna_position: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[3, 1]"], antenna_name: str, spacecraft_name: str, link_end_type: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5e9367530>) -> None

Set a fixed reference point for a subset of observations.

Parameters:

Overload 2: set_reference_point(self: tudatpy.kernel.estimation.observations.ObservationCollection, bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, antenna_body_fixed_ephemeris: tudatpy.kernel.dynamics.environment.Ephemeris, antenna_name: str, spacecraft_name: str, link_end_type: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc7df670>) -> None

Set a time-varying reference point for a subset of observations.

Parameters:
set_reference_points(self: tudatpy.kernel.estimation.observations.ObservationCollection, bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, antenna_switch_history: dict[float | typing.SupportsIndex, numpy.ndarray[numpy.float64[3, 1]]], spacecraft_name: str, link_end_type: tudatpy.kernel.estimation.observable_models_setup.links.LinkEndType, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4546f0>) None¶

Set multiple reference points based on an antenna switch history.

Parameters:
set_residuals(*args, **kwargs)¶

Overloaded function.

Overload 1: set_residuals(self: tudatpy.kernel.estimation.observations.ObservationCollection, residuals: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]) -> None

Function to reset the full list of observation residuals. The order of the residuals must be the same as for concatenated_observations

Parameters:

residuals (np.ndarray) – New list of observation residuals

Overload 2: set_residuals(self: tudatpy.kernel.estimation.observations.ObservationCollection, residuals: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"], observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser) -> None

Function to reset a subset of all observation residuals, with this subset defined by the observation_parser input.

Parameters:
  • residuals (np.ndarray) – New list of observation residuals

  • observation_parser (ObservationCollectionParser) – Observation parser with which to select the subset of residuals that is to be reset

Overload 3: set_residuals(self: tudatpy.kernel.estimation.observations.ObservationCollection, residuals_per_parser: collections.abc.Mapping[tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser, typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]]) -> None

Function to reset a subset of all observation residuals, with this subset defined by a list of observation parsers input.

Parameters:

residuals_per_parser (dict[ObservationCollectionParser, np.ndarray]) – Dictionary mapping observation parsers to new residual values.

set_tabulated_weights(*args, **kwargs)¶

Overloaded function.

Overload 1: set_tabulated_weights(self: tudatpy.kernel.estimation.observations.ObservationCollection, tabulated_weights: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"], observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc52fcf0>) -> None

Set tabulated weights for a subset of observation sets.

Parameters:

Overload 2: set_tabulated_weights(self: tudatpy.kernel.estimation.observations.ObservationCollection, tabulated_weights: collections.abc.Mapping[tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser, typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[m, 1]"]]) -> None

Set tabulated weights for multiple subsets of observation sets.

Parameters:

tabulated_weights (dict[tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, numpy.ndarray]) – A dictionary mapping observation parsers to tabulated weight vectors.

set_transponder_delay(self: tudatpy.kernel.estimation.observations.ObservationCollection, spacecraft_name: str, transponder_delay: float | SupportsIndex, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4b25b0>) None¶

Set the transponder delay for a subset of observations.

Parameters:
split_observation_sets(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_set_splitter: tudatpy.kernel.estimation.observations.observations_processing.ObservationSetSplitterBase, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc50d770>) None¶

Split observation sets based on a splitter.

This function splits a subset of observation sets (or all) into smaller sets based on the criteria defined by the splitter.

Parameters:
  • observation_set_splitter (tudatpy.estimation.observations.observations_processing.ObservationSetSplitterBase) – The splitter to use for splitting the observation sets.

  • observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Object that is used to select a subset of the observation sets, by default an empty parser, applying to all observation sets.

read-only

Vector containing concatenated indices identifying the link ends. Each set of link ends is assigned a unique integer identifier (for a given instance of this class). The definition of a given integer identifier with the link ends is given by this class’ link_definition_ids() function. See user guide for details on storage order of the present vector.

Type:

numpy.ndarray[ int ]

property concatenated_observations¶

read-only

Vector containing concatenated observable values. See user guide for details on storage order

Type:

numpy.ndarray[numpy.float64[m, 1]]

property concatenated_times¶

read-only

Vector containing concatenated observation times. See user guide for details on storage order

Type:

numpy.ndarray[numpy.float64[m, 1]]

property concatenated_times_objects¶

read-only

Vector containing concatenated observation times. See user guide for details on storage order

Type:

numpy.ndarray[numpy.float64[m, 1]]

property concatenated_weights¶

read-only

Vector containing concatenated observation weights.

Type:

numpy.ndarray[numpy.float64[m, 1]]

read-only

Dictionary mapping a link end integer identifier to the specific link ends

Type:

dict[ int, dict[ LinkEndType, LinkEndId ] ]

read-only

Dictionary mapping each observable type to a list of link definitions.

Type:

dict[ ObservableType, list[LinkDefinition] ]

read-only

Dictionary mapping each observable type to a list of link ends for which observations are available.

Type:

dict[ ObservableType, list[LinkEnds] ]

property observable_type_start_index_and_size¶

read-only

Dictionary defining per observable type (dict key), the index in the full observation vector (concatenated_observations()) where the given observable type starts, and the number of subsequent entries in this vector containing a value of an observable of this type

Type:

dict[ ObservableType, [ int, int ] ]

property observation_set_start_index_and_size¶

read-only

The nested dictionary/list returned by this property mirrors the structure of the sorted_observation_sets() property of this class. The present function provides the start index and size of the observables in the full observation vector that come from the corresponding SingleObservationSet in the sorted_observation_sets() Consequently, the present property returns a nested dictionary defining per observable type, link end identifier, and SingleObservationSet index (for the given observable type and link end identifier), where the observables in the given SingleObservationSet starts, and the number of subsequent entries in this vector containing data from it.

Type:

dict[ ObservableType, dict[ int, list[ int, int ] ] ]

property observation_vector_size¶

read-only

Length of the total vector of observations

Type:

int

property sorted_observation_sets¶

read-only

The nested dictionary/list contains the list of SingleObservationSet objects, in the same method as they are stored internally in the present class. Specifics on the storage order are given in the user guide

Type:

dict[ ObservableType, dict[ int, list[ SingleObservationSet ] ] ]

property sorted_per_set_time_bounds¶

read-only

Nested dictionary providing the time bounds for each single observation set, sorted by observable type and link end ID.

Type:

dict[ ObservableType, dict[ int, list[tuple[float, float]] ] ]

property time_bounds¶

read-only

Pair of minimum and maximum observation time in the collection.

Type:

tuple[float, float]

property time_bounds_time_object¶

read-only

Pair of minimum and maximum observation time in the collection, as Time objects.

Type:

tuple[Time, Time]