My Project
helpFunctions.py
Go to the documentation of this file.
1 import os
2 import sys
3 
4 from matplotlib import pyplot as plt
5 
6 import numpy as np
7 
8 import yaml
9 
10 try:
11  from yaml import CLoader as Loader, CDumper as Dumper
12 except ImportError:
13  from yaml import Loader, Dumper
14 
15 class LoadFile:
16  def __init__(
17  self
18  ):
19  self.loadedYaml = False
20  self.results_path = os.path.dirname(os.path.realpath(__file__)) + "/../../../results/"
21  self.numeric_method = "_midpoint_"
22 
23  def set_results_path(
24  self,
25  results_path
26  ):
27  self.results_path = results_path
28 
30  self,
31  numeric_method
32  ):
33  self.numeric_method = numeric_method
34 
35  def load_file(
36  self,
37  filename
38  ):
39  return np.loadtxt(filename, delimiter = ',')
40 
42  self,
43  yaml_parameters,
44  run_name,
45  output_name,
46  use_shared_names = True
47  ):
48  numeric_method = ""
49  if(use_shared_names):
50  shared_names = self.get_parameter(yaml_parameters, "file_name")
51  numeric_method = self.numeric_method
52  else:
53  shared_names = ""
54  path_to_file = self.results_path \
55  + run_name \
56  + "/results/" \
57  + shared_names \
58  + numeric_method \
59  + output_name \
60  + ".csv"
61  return self.load_file(path_to_file)
62 
64  self,
65  run_name = ""
66  ):
67  return self.results_path + run_name
68 
70  self
71  ):
72  if(self.loadedYaml):
73  print("Some yaml has been loaded before with this instance-loader.")
74  else:
75  print("There has not been a yaml loaded before on this loader.")
76 
78  self,
79  run_name
80  ):
81 
82  self.loadedYaml = True
83  stream = open(self.results_path + run_name + "/doc/yaml/parameters.yaml", 'r')
84  return yaml.load(stream, Loader = Loader)
85 
86  def loadYaml(
87  self,
88  run_name,
89  file_name
90  ):
91  stream = open(self.results_path + run_name + file_name, 'r')
92  return yaml.load(stream, Loader = Loader)
93 
94  def get_parameter(
95  self,
96  run_parameters,
97  parameter_name
98  ):
99  return run_parameters["Parameters"][parameter_name]
100 
102  self,
103  run_parameters,
104  debug_parameter_name
105  ):
106  return run_parameters["Debug"][debug_parameter_name]
107 
109  self,
110  parameters
111  ):
112  start_speed = self.get_parameter(parameters, "start_speed_continuous")
113  end_speed = self.get_parameter(parameters, "end_speed_continuous")
114  return {'start_speed': start_speed, 'end_speed': end_speed}
115 
117  self,
118  run_name,
119  file_name = ""
120  ):
121  if(os.path.isfile(self.results_path + run_name + file_name)):
122  return True
123  else:
124  return False
125 
126  def save_csv(
127  self,
128  run_name,
129  file_name,
130  array_or_matrix
131  ):
132  file_path = self.results_path + run_name + file_name
133  print("Saving to path: ", file_path)
134  np.savetxt(file_path, array_or_matrix, delimiter=',')
def loadYaml(self, run_name, file_name)
def set_numeric_method(self, numeric_method)
def check_if_yaml_has_been_loaded(self)
def get_parameter(self, run_parameters, parameter_name)
def check_if_file_exist_in_run_folder(self, run_name, file_name="")
def save_csv(self, run_name, file_name, array_or_matrix)
def get_debug_parameter(self, run_parameters, debug_parameter_name)
def get_simulation_path(self, run_name="")
def load_file(self, filename)
def load_simulation_output(self, yaml_parameters, run_name, output_name, use_shared_names=True)
def set_results_path(self, results_path)
def load_yaml_parameters(self, run_name)
def get_start_end_speed(self, parameters)