1. FilterDataManager#
- class FilterDataManager(datasets=None)#
Bases:
objectManages and processes measurement data for orbit determination filters.
Allows combining multiple datasets into a dictionary keyed by unique t2 values with pointers to the original dataset, and reconstructing full measurement blocks.
Attributes
Return the names of the datasets.
Return the list of managed datasets.
Return the indices grouped by unique t2 values.
Methods
Rebuild indices_by_t2 for current datasets.
combine_indices_by_t2(datasets)Combines multiple MeasurementDataSets into a dictionary keyed by unique t2. Each entry contains: - 'dataset': pointer to the original MeasurementDataSet - 'indices': indices into the dataset arrays corresponding to this t2 Returns a dict whose keys are sorted ascending by t2.
Combines all measurement time vectors into a single time vector and generates a mask indicating which measurements are available at each time.
create_combined_from_indices(indices_by_t2)Construct the combined measurement structure (numeric arrays, stacked partials, list fields) from indices grouped by t2.
Returns the combined measurement structure from the built indices.
get_combined_for_t2(t2_val)Returns a combined measurement block for a single t2 value.
Returns a sorted numpy array of unique t2 spacecraft times.
- classmethod combine_indices_by_t2(datasets: list)#
Combines multiple MeasurementDataSets into a dictionary keyed by unique t2. Each entry contains:
‘dataset’: pointer to the original MeasurementDataSet
‘indices’: indices into the dataset arrays corresponding to this t2
Returns a dict whose keys are sorted ascending by t2.
- static create_combined_from_indices(indices_by_t2)#
Construct the combined measurement structure (numeric arrays, stacked partials, list fields) from indices grouped by t2.
Supports single t2 (tuple) or multiple t2 (dict) input. Returns a dict whose keys are sorted ascending by t2.
- build_indices()#
Rebuild indices_by_t2 for current datasets.
- combine_time_vectors()#
Combines all measurement time vectors into a single time vector and generates a mask indicating which measurements are available at each time.
Args: - measurement_times_list (list of np.ndarray): List of arrays where each array contains the epochs for a different measurement type.
Returns: - combined_times (np.ndarray): Array of unique combined epochs. - measurement_mask (np.ndarray): Mask array showing the availability of each measurement at each time.
- get_combined()#
Returns the combined measurement structure from the built indices.
- get_combined_for_t2(t2_val)#
Returns a combined measurement block for a single t2 value.
- get_spacecraft_times()#
Returns a sorted numpy array of unique t2 spacecraft times. Useful for looping: for t2 in self.get_spacecraft_times(): …
- property dataset_names#
Return the names of the datasets.
- property datasets#
Return the list of managed datasets.
- property indices_by_t2#
Return the indices grouped by unique t2 values.