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¶
Computes residuals and dependent variables for a given observation collection. |
|
|
Deprecated. |
Factory function to create a SingleObservationSet object. |
|
|
Deprecated. |
|
Filters a single observation set and returns a new set containing the filtered observations. |
|
Splits a single observation set into multiple sets based on a splitter. |
Overloaded function. |
|
Creates a new observation collection by splitting sets from an existing 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:
observation_collection (tudatpy.estimation.observations.ObservationCollection) – The collection of observations for which to compute residuals and dependent variables. This object is modified in-place.
observation_simulators (list[tudatpy.estimation.observable_models.observables_simulation.ObservationSimulator]) – List of observation simulators to be used for computing the observations.
bodies (tudatpy.dynamics.environment.SystemOfBodies) – The system of bodies required for the observation simulation.
- 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:
- 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:
- 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:
- 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.ObservationCollectionCreates 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:
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.ObservationCollectionCreates 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:
- 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:
- 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:
Classes¶
Class for storing and handling a single set of observations. |
|
Class collecting all observations and associated data for use in an estimation. |
- class SingleObservationSet¶
Bases:
pybind11_objectClass 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
SingleObservationSetobject 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:
observable_type (tudatpy.estimation.observable_models_setup.model_settings.ObservableType) – Type of observable.
link_ends (tudatpy.estimation.observable_models_setup.links.LinkDefinition) – 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_epochs (list[float]) – List of observation times.
reference_link_end (tudatpy.estimation.observable_models_setup.links.LinkEndType) – Reference link end for the observation.
observation_dependent_variables (list[numpy.ndarray], optional) – List of dependent variables for each observation.
dependent_variable_calculator (tudatpy.estimation.observations.ObservationDependentVariableCalculator, optional) – Calculator for dependent variables.
ancillary_settings (tudatpy.estimation.observations_setup.ancillary_settings.ObservationAncillarySimulationSettings, optional) – Ancillary settings for the observation.
- 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:
- 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) -> NoneSets 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]"]) -> NoneSets 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]"]]) -> NoneSets 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]"]) -> NoneSets 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]"]]) -> NoneSets 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]"]) -> NoneSets 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to retrieve.
return_first_compatible_settings (bool, optional) – If true, returns the first compatible variable found. Defaults to false.
- Returns:
A matrix of the dependent variable values over all observation times.
- Return type:
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to retrieve.
return_first_compatible_settings (bool, optional) – If true, returns the first compatible variable found. Defaults to false.
- Returns:
A map from observation time to the value of the specified dependent variable.
- Return type:
- property ancillary_settings¶
read-only
Ancillary settings for all stored observations
- property ancilliary_settings¶
read-only
Ancillary settings for all stored observations
- property computed_observations¶
Returns the vector of computed observation values (observed - residual).
- Returns:
The list of computed observations.
- Return type:
- property concatenad_weights¶
Returns all weights concatenated into a single vector.
- Returns:
A single vector containing all weights.
- Return type:
- property concatenated_computed_observations¶
Returns all computed observations concatenated into a single vector.
- Returns:
A single vector containing all computed observations.
- Return type:
- 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:
- 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:
- 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:
- property filtered_observation_set¶
Returns the set of filtered observations.
- Returns:
The observation set containing filtered observations.
- Return type:
- property link_definition¶
Definition of the link ends for which the object stores observations
- Type:
- 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:
- property number_filtered_observations¶
Returns the number of observations that have been filtered out.
- Returns:
The number of filtered observations.
- Return type:
- property number_of_observables¶
Returns the number of observations in the set.
- Returns:
The number of observations.
- Return type:
- property observable_type¶
read-only
Type of observable for which the object stores observations
- Type:
- property observation_times¶
read-only
List of reference times for each of the observations in
list_of_observations
- property observations_history¶
read-only
Dictionary of observations sorted by time. Created by making a dictionary with
observation_timesas keys andlist_of_observationsas values.- Type:
dict[ tudatpy.astro.time_representation.Time, numpy.ndarray[numpy.float64[m, 1]] ]
- property reference_link_end¶
read-only
Reference link end for all stored observations
- Type:
- property residuals¶
Returns the vector of residuals for all observations.
- Returns:
The list of residuals.
- Return type:
- 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:
- 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:
- 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:
- property weights¶
Returns the vector of weights for all observations.
- Returns:
The list of weights.
- Return type:
- property weights_vector¶
Concatenated vector of weights for all observations.
- class ObservationCollection¶
Bases:
pybind11_objectClass 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to add.
bodies (tudatpy.dynamics.environment.SystemOfBodies) – System of bodies containing the environment.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select the observation sets to which the variable should be added.
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select a subset of observation sets.
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select a subset of observation sets.
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to retrieve.
first_compatible_settings (bool, optional) – If true, returns the first compatible variable found, by default False.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select a subset of observation sets.
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to retrieve.
first_compatible_settings (bool, optional) – If true, returns the first compatible variable found, by default False.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select a subset of observation sets.
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to retrieve.
first_compatible_settings (bool, optional) – If true, returns the first compatible variable found, by default False.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select a subset of observation sets.
- Returns:
A map from time to dependent variable value.
- Return type:
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to retrieve.
first_compatible_settings (bool, optional) – If true, returns the first compatible variable found, by default False.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select a subset of observation sets.
- Returns:
A list of maps from time to dependent variable value, one for each set.
- Return type:
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to retrieve.
first_compatible_settings (bool, optional) – If true, returns the first compatible variable found, by default False.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select a subset of observation sets.
- Returns:
A list of maps from time to dependent variable value, one for each set, with times as Time objects.
- Return type:
- 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:
dependent_variable_settings (tudatpy.estimation.observations_setup.observations_dependent_variables.ObservationDependentVariableSettings) – Settings for the dependent variable to retrieve.
first_compatible_settings (bool, optional) – If true, returns the first compatible variable found, by default False.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select a subset of observation sets.
- Returns:
A map from time to dependent variable value, with times as Time objects.
- Return type:
- 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) -> NoneFilter 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:
observation_filters (dict[tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, tudatpy.estimation.observations.observations_processing.ObservationFilterBase]) – A dictionary mapping observation parsers to observation filters.
save_filtered_observations (bool, optional) – If true, the filtered-out observations are saved within each observation set, by default True.
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) -> NoneFilter 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_bodies_in_link_ends(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc7e4c70>) list[str]¶
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:
- 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:
- 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:
- get_concatenated_link_definition_ids(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser) list[int]¶
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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- get_link_definitions_for_observables(self: tudatpy.kernel.estimation.observations.ObservationCollection, observable_type: tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType) list[tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition]¶
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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- get_reference_points_in_link_ends(self: tudatpy.kernel.estimation.observations.ObservationCollection, observation_parser: tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser = <tudatpy.kernel.estimation.observations.observations_processing.ObservationCollectionParser object at 0x7fa5cc4b3d70>) list[str]¶
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:
- 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:
- 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:
- get_single_link_and_type_observations(self: tudatpy.kernel.estimation.observations.ObservationCollection, observable_type: tudatpy.kernel.estimation.observable_models_setup.model_settings.ObservableType, link_definition: tudatpy.kernel.estimation.observable_models_setup.links.LinkDefinition) list[tudatpy.kernel.estimation.observations.SingleObservationSet]¶
Function to get all observation sets for a given observable type and link definition.
- Parameters:
observable_type (
tudatpy.estimation.observable_models_setup.model_settings.ObservableType) – Observable type of which observations are to be simulated.link_ends (LinkDefinition) – Link ends for which observations are to be simulated.
- Returns:
List of observation sets for given observable type and link definition.
- Return type:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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>) -> NoneSet a constant weight for a subset of observation sets.
- Parameters:
weight (float) – The constant weight to set.
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.
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>) -> NoneSet a constant weight vector for a subset of observation sets.
- Parameters:
weight (numpy.ndarray) – The constant weight vector to set.
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.
- 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]) -> NoneSet 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]"]]) -> NoneSet 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]"]) -> NoneFunction 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) -> NoneFunction to reset a subset of all observable values, with this subset defined by the
observation_parserinput. The order and size of the new observation vector must be the same as when callingconcatenated_observationson anObservationCollectioncontaining 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]"]]) -> NoneFunction 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_observationson anObservationCollectioncontaining only the parsed observation (from a single parser). NOTE: since the multiple parsers are handled in order (iterating over the keys ofobservations_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>) -> NoneSet a fixed reference point for a subset of observations.
- Parameters:
bodies (tudatpy.dynamics.environment.SystemOfBodies) – System of bodies.
antenna_position (numpy.ndarray) – Position of the antenna in the spacecraft body-fixed frame.
antenna_name (str) – Name of the antenna/reference point.
spacecraft_name (str) – Name of the spacecraft body.
link_end_type (LinkEndType) – Link end type to which the reference point should be applied.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select the observation sets to which the reference point should be applied.
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>) -> NoneSet a time-varying reference point for a subset of observations.
- Parameters:
bodies (tudatpy.dynamics.environment.SystemOfBodies) – System of bodies.
antenna_body_fixed_ephemeris (tudatpy.dynamics.environment.Ephemeris) – Ephemeris of the antenna in the spacecraft body-fixed frame.
antenna_name (str) – Name of the antenna/reference point.
spacecraft_name (str) – Name of the spacecraft body.
link_end_type (LinkEndType) – Link end type to which the reference point should be applied.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select the observation sets.
- 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:
bodies (tudatpy.dynamics.environment.SystemOfBodies) – System of bodies.
antenna_switch_history (dict[float, numpy.ndarray]) – Dictionary mapping time to antenna position.
spacecraft_name (str) – Name of the spacecraft body.
link_end_type (LinkEndType) – Link end type to which the reference points should be applied.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select the observation sets.
- 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]"]) -> NoneFunction 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) -> NoneFunction to reset a subset of all observation residuals, with this subset defined by the
observation_parserinput.- 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]"]]) -> NoneFunction 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>) -> NoneSet tabulated weights for a subset of observation sets.
- Parameters:
tabulated_weights (numpy.ndarray) – The vector of tabulated weights to set.
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.
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]"]]) -> NoneSet 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:
spacecraft_name (str) – Name of the spacecraft with the transponder.
transponder_delay (float) – The transponder delay in seconds.
observation_parser (tudatpy.estimation.observations.observations_processing.ObservationCollectionParser, optional) – Parser to select the observation sets.
- 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.
- property concatenated_link_definition_ids¶
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]]
- property link_definition_ids¶
read-only
Dictionary mapping a link end integer identifier to the specific link ends
- Type:
dict[ int, dict[ LinkEndType, LinkEndId ] ]
- property link_definitions_per_observable¶
read-only
Dictionary mapping each observable type to a list of link definitions.
- Type:
- property link_ends_per_observable_type¶
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 thesorted_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.
- 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.
- property time_bounds¶
read-only
Pair of minimum and maximum observation time in the collection.