1. FilterDataManager#
- class FilterDataManager#
Bases:
object
manages and processes measurement data for use in orbit determination filters.
Provides methods to convert datasets to a standardized list format, combine multiple datasets, standardize times across measurements, and combine measurement time vectors into a unified time array.
Facilitates the process of filtering and data assimilation by preparing the data for further analysis and model updates. Methods ensure that measurement data is consistently formatted, combined, and processed for use in filtering algorithms such as Kalman Filters or other estimation methods.
Notes
This class is designed to handle datasets from different sources, ensuring that the data is combined in a way that maintains chronological integrity.
Supports the integration of multiple measurement types (e.g., range, range rate) by combining their corresponding data vectors.
The times in different datasets may be in different time systems or units. Methods such as
standardize_times()
are provided to ensure consistent time references across measurements.The
combine_multiple_datasets()
method allows you to merge datasets, ensuring that data is aligned based on timestamps.Methods
combine_multiple_datasets
(datasets)Combines multiple MeasurementDataSets into a single dataset, sorted by timestamps.
Combines multiple measurement time vectors into a single unified time vector and generates a mask to indicate which measurements are available at each time.
convert_dataset_to_list
(dataset)Converts a MeasurementDataSet object into a list format with unitless data for filter processing.
standardize_times
(dataset, target_timeframe)Standardizes the times of a dataset to a specific time system or timeframe.
- classmethod combine_multiple_datasets(datasets: list)#
Combines multiple MeasurementDataSets into a single dataset, sorted by timestamps.
- Parameters:
datasets (
list
) – A list of MeasurementDataSets to be combined.- Returns:
combined_data, dataset_names – A tuple with the following values corresponding to their respective indices:
[0]
= combined_datalistA list of combined measurement data, sorted by timestamp.
[1]
= dataset_nameslistA list of the dataset names.
- Return type:
tuple[list
,list]
- classmethod convert_dataset_to_list(dataset: MeasurementDataSet) list #
Converts a MeasurementDataSet object into a list format with unitless data for filter processing.
- Parameters:
dataset (
MeasurementDataSet
) – The dataset containing measurement data to be converted.- Returns:
converted – A list where each element contains measurement details, including time, observed value, computed value, residuals, partial derivatives, covariance, instrument, measurement type, and dataset name.
- Return type:
- combine_time_vectors()#
Combines multiple measurement time vectors into a single unified time vector and generates a mask to indicate which measurements are available at each time.
- Parameters:
measurement_times_list (
list
ofnp.ndarray
) – List of arrays, where each array contains the epochs for a different measurement type.- Returns:
combined_times, measurement_mask – A tuple with the following values corresponding to their respective indices:
[0]
= combined_timesnumpy.ndarrayArray of unique combined epochs.
- ``[1]] = measurement_masknp.ndarray
Mask array indicating which measurements are available at each time.
- Return type:
tuple[numpy.ndarray
,numpy.ndarray]
- standardize_times(dataset: MeasurementDataSet, target_timeframe: str)#
Standardizes the times of a dataset to a specific time system or timeframe.
Adjusts the times in the dataset to match a target time system, ensuring consistency across all measurements for further processing.
- Parameters:
dataset (
MeasurementDataSet
) – The dataset containing measurement data to be standardized.target_timeframe (
str
) – The target time system or timeframe to which the times should be converted.
- Return type: