diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2021-01-18 09:37:00 +0100 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2021-01-18 09:37:00 +0100 |
commit | ac22b1deb81c5e314477f19238e39b518dfccbe0 (patch) | |
tree | dbdde212615f2f234ad0f958950b1e7a25113d85 /lib/lennart/DataProcessor.py | |
parent | c6aace4bc9e0c51248e9c003ba19a0cc67a64edd (diff) |
refactor graph-based drift compensation into a separate function
Diffstat (limited to 'lib/lennart/DataProcessor.py')
-rw-r--r-- | lib/lennart/DataProcessor.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/lennart/DataProcessor.py b/lib/lennart/DataProcessor.py index 1f784b4..265ebce 100644 --- a/lib/lennart/DataProcessor.py +++ b/lib/lennart/DataProcessor.py @@ -222,7 +222,6 @@ class DataProcessor: pelt = PELT(with_multiprocessing=False) expected_transition_start_timestamps = sync_timestamps[::2] transition_start_candidate_weights = list() - compensated_timestamps = list() drift = 0 for i, expected_start_ts in enumerate(expected_transition_start_timestamps): @@ -266,6 +265,15 @@ class DataProcessor: ) ) + # TODO provide different algorithmes (shortest path, greedy, ...?) and use environment variables to decide + # which one should be used + return self.compensate_drift_graph( + sync_timestamps, transition_start_candidate_weights + ) + + def compensate_drift_graph( + self, sync_timestamps, transition_start_candidate_weights + ): # Algorithm: Obtain the shortest path in a layered graph made up from # transition candidates. Each node represents a transition candidate timestamp, and each layer represents a transition. # Each node in layer i contains a directed edge to each node in layer i+1. @@ -284,6 +292,7 @@ class DataProcessor: nodes_by_transition_index = dict() transition_by_node = dict() + compensated_timestamps = list() for transition_index, candidates in enumerate( transition_start_candidate_weights @@ -399,6 +408,8 @@ class DataProcessor: import json from dfatool.utils import NpEncoder + expected_transition_start_timestamps = sync_timestamps[::2] + with open(os.getenv("DFATOOL_EXPORT_DRIFT_COMPENSATION"), "w") as f: json.dump( [ |