mg-pso-gui 0.1.19__tar.gz → 0.1.20__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/PKG-INFO +1 -1
  2. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/PKG-INFO +1 -1
  3. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/HomePage.py +37 -35
  4. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/GraphGenerator.py +3 -0
  5. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/setup.py +1 -1
  6. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/SOURCES.txt +0 -0
  7. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
  8. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/entry_points.txt +0 -0
  9. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/requires.txt +0 -0
  10. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/top_level.txt +0 -0
  11. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/__init__.py +0 -0
  12. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/OptionManager.py +0 -0
  13. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
  14. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
  15. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/RunTab/RunTab.py +0 -0
  16. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/RunTab/__init__.py +0 -0
  17. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
  18. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
  19. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/CalibrationParametersView.py +0 -0
  20. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
  21. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
  22. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
  23. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/StaticParameterView.py +0 -0
  24. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/StepView.py +0 -0
  25. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/__init__.py +0 -0
  26. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
  27. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
  28. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/__init__.py +0 -0
  29. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/IGOW 4 Logo.png +0 -0
  30. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/collapse.png +0 -0
  31. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/down.png +0 -0
  32. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/expand.png +0 -0
  33. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/play.png +0 -0
  34. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/refresh.png +0 -0
  35. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/refresh_hd.png +0 -0
  36. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/stop.png +0 -0
  37. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/test.png +0 -0
  38. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/trash.png +0 -0
  39. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/up.png +0 -0
  40. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/mgpsogui.py +0 -0
  41. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/start.yaml +0 -0
  42. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
  43. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
  44. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/PSORunner.py +0 -0
  45. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/__init__.py +0 -0
  46. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/__init__.py +0 -0
  47. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/pso/__init__.py +0 -0
  48. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
  49. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/pso/pso.py +0 -0
  50. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/__init__.py +0 -0
  51. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
  52. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
  53. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
  54. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/utils.py +0 -0
  55. {mg-pso-gui-0.1.19 → mg-pso-gui-0.1.20}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.19
3
+ Version: 0.1.20
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.19
3
+ Version: 0.1.20
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -70,8 +70,11 @@ class App(customtkinter.CTk):
70
70
  self.data_x = [0]
71
71
  self.data_y = [0]
72
72
 
73
+ self.image_scale = 1
73
74
  self.image_width = 1280
74
75
  self.image_height = 720
76
+ self.progress_data = None
77
+ self.calibration_data = None
75
78
 
76
79
  # configure window
77
80
  self.title("CSIP PSO")
@@ -172,7 +175,7 @@ class App(customtkinter.CTk):
172
175
  ctt(self.download_button, delay=0.1, alpha=0.95, message="Download Results")
173
176
  self.download_button.grid(row=0, column=10, padx=(5, 20), pady=header_padding_y)
174
177
 
175
- def _resize_image(self, event):
178
+ '''def _resize_image(self, event):
176
179
  self.graph_label.update_idletasks()
177
180
  new_width = self.graph_label.winfo_width()
178
181
  new_height = self.graph_label.winfo_height()
@@ -190,10 +193,7 @@ class App(customtkinter.CTk):
190
193
 
191
194
  self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(new_width, new_height))
192
195
  self.graph_label.configure(image=self.graph_image)
193
- self.graph_label.update_idletasks()
194
-
195
- def callback_test(self, *args):
196
- print("callback_test called")
196
+ self.graph_label.update_idletasks()'''
197
197
 
198
198
  def update_graph(self, value):
199
199
  selected_graph = self.graph_selector_value.get()
@@ -205,39 +205,30 @@ class App(customtkinter.CTk):
205
205
 
206
206
  if (selected_graph == "Best Cost Stacked"):
207
207
  self.selected_graph_name = "best_cost_stacked"
208
- image_path = os.path.join(folder, self.selected_graph_name + ".png")
209
- if not os.path.exists(image_path):
210
- image_path = os.path.join("./images", "up.png")
211
- self.graph_image_obj = Image.open(image_path)
212
- self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width, self.image_height))
213
- self.graph_label.configure(image=self.graph_image)
214
208
  elif (selected_graph == "Best Cost by Round"):
215
209
  self.selected_graph_name = "best_cost_by_round"
216
- image_path = os.path.join(folder, self.selected_graph_name + ".png")
217
- if not os.path.exists(image_path):
218
- image_path = os.path.join("./images", "up.png")
219
- self.graph_image_obj = Image.open(image_path)
220
- self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width, self.image_height))
221
- self.graph_label.configure(image=self.graph_image)
222
210
  elif (selected_graph == "Iteration Table"):
223
211
  self.selected_graph_name = "table"
224
- image_path = os.path.join(folder, self.selected_graph_name + ".png")
225
- if not os.path.exists(image_path):
226
- image_path = os.path.join("./images", "up.png")
227
- self.graph_image_obj = Image.open(image_path)
228
- self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width, self.image_height))
229
- self.graph_label.configure(image=self.graph_image)
230
212
  elif (selected_graph == "Calibrated Parameters"):
231
213
  self.selected_graph_name = "calibrated_params_by_round"
232
- image_path = os.path.join(folder, self.selected_graph_name + ".png")
233
- if not os.path.exists(image_path):
234
- image_path = os.path.join("./images", "up.png")
235
- self.graph_image_obj = Image.open(image_path)
236
- self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width, self.image_height))
237
- self.graph_label.configure(image=self.graph_image)
214
+
215
+ image_path = os.path.join(folder, self.selected_graph_name + ".png")
216
+ if not os.path.exists(image_path):
217
+ image_path = os.path.join("./images", "up.png")
218
+ self.graph_image_obj = Image.open(image_path)
219
+ self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width * self.image_scale, self.image_height * self.image_scale))
220
+ self.graph_label.configure(image=self.graph_image)
238
221
 
239
222
  def save_project(self):
240
223
  metrics = self.option_manager.get_metrics()
224
+
225
+ # Add the calibration_progress dataframe to the json
226
+ if (self.progress_data is not None):
227
+ metrics["calibration_progress"] = self.progress_data.to_json()
228
+ # Add the calibration_data to the json
229
+ if (self.calibration_data is not None):
230
+ metrics["calibration_data"] = self.calibration_data
231
+
241
232
  filename = asksaveasfilename(filetypes=[("JSON", "*.json")], initialfile="config", defaultextension="json", title="Save Project")
242
233
 
243
234
  try:
@@ -276,6 +267,13 @@ class App(customtkinter.CTk):
276
267
  if "service_parameters" in metrics:
277
268
  self.option_manager.set_service_parameters(metrics["service_parameters"])
278
269
  self.tabview.configure(state="enabled")
270
+
271
+ if "calibration_progress" in metrics:
272
+ self.progress_data = pd.read_json(metrics["calibration_progress"])
273
+ self.calibration_data = metrics["calibration_data"]
274
+
275
+ if "calibration_data" in metrics:
276
+ self.calibration_data = metrics["calibration_data"]
279
277
 
280
278
  print(metrics)
281
279
 
@@ -493,9 +491,11 @@ class App(customtkinter.CTk):
493
491
  best_particle_values = [ast.literal_eval(i) for i in best_particle_values]
494
492
  progress_values = [tuple(map(float, i)) for i in progress_values]
495
493
 
496
- print("Current params: " + str(calibrated_params), flush=True)
494
+ #print("Current params: " + str(calibrated_params), flush=True)
495
+
496
+ self.calibration_data = calibrated_params
497
497
 
498
- GraphGenerator.calibrated_params_by_round(self.running_config['steps'], calibrated_params, self.option_manager)
498
+ #GraphGenerator.calibrated_params_by_round(self.running_config['steps'], calibrated_params, self.option_manager)
499
499
  self.update_graph("")
500
500
  except Exception as e:
501
501
  # Print stack trace
@@ -521,11 +521,13 @@ class App(customtkinter.CTk):
521
521
  df = df.drop_duplicates()
522
522
  df['round_step'] = (df['completed_rounds'].diff() < 0).cumsum()
523
523
  df = df.drop_duplicates(subset=['completed_rounds', 'round_step'])
524
+ self.progress_data = df
524
525
 
525
- GraphGenerator.best_cost_stacked(self.running_config['steps'], df, self.option_manager)
526
- GraphGenerator.best_cost_by_round(self.running_config['steps'], df, self.option_manager)
527
- GraphGenerator.table(self.running_config['steps'], df, self.option_manager)
528
- self.update_graph("")
526
+ #GraphGenerator.update_progress_graphs(self.running_config['steps'], self.current_data, self.option_manager)
527
+ #GraphGenerator.best_cost_stacked(self.running_config['steps'], df, self.option_manager)
528
+ #GraphGenerator.best_cost_by_round(self.running_config['steps'], df, self.option_manager)
529
+ #GraphGenerator.table(self.running_config['steps'], df, self.option_manager)
530
+ #self.update_graph("")
529
531
 
530
532
  match = matches[-1]
531
533
  percent = int(match[0])
@@ -4,6 +4,9 @@ import pandas as pd
4
4
  import numpy as np
5
5
  import os
6
6
 
7
+ def generate_graphs(config, dataframe, option_manager):
8
+ pass
9
+
7
10
  def best_cost_stacked(config, dataframe, option_manager):
8
11
  fig = go.Figure()
9
12
 
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
  import codecs
3
3
  import os
4
4
 
5
- VERSION = '0.1.19'
5
+ VERSION = '0.1.20'
6
6
  DESCRIPTION = 'GUI for MG-PSO'
7
7
  LONG_DESCRIPTION = open('../README.md').read()
8
8
 
File without changes