1. FilterDataManager#

class FilterDataManager(datasets=None)#

Bases: object

Manages 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

dataset_names

Return the names of the datasets.

datasets

Return the list of managed datasets.

indices_by_t2

Return the indices grouped by unique t2 values.

Methods

build_indices()

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.

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.

create_combined_from_indices(indices_by_t2)

Construct the combined measurement structure (numeric arrays, stacked partials, list fields) from indices grouped by t2.

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.

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.