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)14int 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