-
Notifications
You must be signed in to change notification settings - Fork 22
/
__init__.py
46 lines (41 loc) · 1.63 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Copyright © 2021 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved.
__all__ = ['predictors', 'uncertain_data', 'state_estimators', 'run_prog_playback', 'metrics']
from . import predictors, state_estimators, uncertain_data
import warnings
__version__ = '1.5.0'
def run_prog_playback(obs, pred, future_loading, output_measurements, **kwargs):
warnings.warn("Depreciated in 1.2.0, will be removed in a future release.", DeprecationWarning)
config = {# Defaults
'predict_rate': 0, # Default- predict every step
'num_samples': 10,
'predict_config': {}
}
config.update(kwargs)
next_predict = output_measurements[0][0] + config['predict_rate']
times = []
inputs = []
states = []
outputs = []
event_states = []
toes = []
index = 0
for (t, measurement) in output_measurements:
obs.estimate(t, future_loading(t), measurement)
if t >= next_predict:
pred_results = pred.predict(obs.x.sample(config['num_samples']), future_loading, **config['predict_config'])
times.append(pred_results.times)
inputs.append(pred_results.inputs)
states.append(pred_results.states)
outputs.append(pred_results.outputs)
event_states.append(pred_results.event_states)
toes.append(pred_results.time_of_event)
index += 1
next_predict += config['predict_rate']
return predictors.PredictionResults(
times,
inputs,
states,
outputs,
event_states,
toes
)