1 /*
2     SPDX-FileCopyrightText: 2017 Max Planck Society.
3     All rights reserved.
4 
5     SPDX-License-Identifier: BSD-3-Clause
6 */
7 
8 /* Created by Edgar Klenske <edgar.klenske@tuebingen.mpg.de>
9  */
10 
11 #include "gaussian_process_guider.h"
12 #include "guide_performance_tools.h"
13 
main(int argc,char ** argv)14 int main(int argc, char** argv)
15 {
16     if (argc < 15)
17         return -1;
18 
19     GaussianProcessGuider* GPG;
20 
21     GaussianProcessGuider::guide_parameters parameters;
22 
23     // use parameters from command line
24     parameters.control_gain_ = std::stod(argv[2]);
25     parameters.min_periods_for_inference_ = std::stod(argv[3]);
26     parameters.min_move_ = std::stod(argv[4]);
27     parameters.SE0KLengthScale_ = std::stod(argv[5]);
28     parameters.SE0KSignalVariance_ = std::stod(argv[6]);
29     parameters.PKLengthScale_ = std::stod(argv[7]);
30     parameters.PKPeriodLength_ = std::stod(argv[8]);
31     parameters.PKSignalVariance_ = std::stod(argv[9]);
32     parameters.SE1KLengthScale_ = std::stod(argv[10]);
33     parameters.SE1KSignalVariance_ = std::stod(argv[11]);
34     parameters.min_periods_for_period_estimation_ = std::stod(argv[12]);
35     parameters.points_for_approximation_ = static_cast<int>(std::floor(std::stod(argv[13])));
36     parameters.prediction_gain_ = std::stod(argv[14]);
37     parameters.compute_period_ = true;
38 
39     GPG = new GaussianProcessGuider(parameters);
40 
41     GAHysteresis GAH;
42 
43     std::string filename;
44 
45     filename = argv[1];
46     double improvement = calculate_improvement(filename, GAH, GPG);
47 
48     std::cout << improvement << std::endl;
49 
50     return 0;
51 }
52