From cd79c993f29df9f32bd3229188f50728f5de2222 Mon Sep 17 00:00:00 2001 From: Markus Koller Date: Wed, 12 Oct 2022 11:38:36 +0200 Subject: [PATCH] Fixed copy calibration results to clipboard --- src/user_interface.py | 51 ++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/src/user_interface.py b/src/user_interface.py index 674a3b5..10877a1 100644 --- a/src/user_interface.py +++ b/src/user_interface.py @@ -1334,7 +1334,7 @@ class CalibrateMagnetometerSimple(Frame): if cos_trans_matrix is None: ui_print("Error: Failed to export non-existent coordinate transformation matrix.") return - save_dict_list_to_csv('magnetometer_cos_trans_matrix.csv', cos_trans_matrix, query_path=True) + save_dict_list_to_csv('MGM_magnetometer_cos_trans_matrix.csv', cos_trans_matrix, query_path=True) ui_print("Saved Helmholtz to MGM coordinate transformation matrix to magnetometer_cos_trans_matrix.csv.") def copy_to_clipboard(self): @@ -1434,6 +1434,7 @@ class CalibrateMagnetometerComplete(Frame): self.total_error_result_vars = DoubleVar() self.calibration_raw_results = None # Cached raw experiment data to allow for saving to csv. self.clipboard = "" # Clipboard string containing results + self.clipboard_calibration_results_complete = "" # Clipboard string containing results self.cos_trans_matrix_clipboard = "" # Clipboard string containing coordinate transformation matrix self.mgm_to_helmholtz_cos_trans = [[DoubleVar(value=1), DoubleVar(value=0), DoubleVar(value=0)], @@ -1623,7 +1624,7 @@ class CalibrateMagnetometerComplete(Frame): pady=5, padx=5) self.export_calibration_button.grid(row=0, column=0, padx=5, pady=5) self.copy_calibration_button = Button(save_calibration_results_frame, text="Copy to clipboard", - command=self.copy_to_clipboard, + command=self.copy_to_clipboard_calibration_results_complete, state="disabled", pady=5, padx=5) self.copy_calibration_button.grid(row=0, column=1, padx=5, pady=5) @@ -1736,31 +1737,31 @@ class CalibrateMagnetometerComplete(Frame): self.q_mat_result_vars[row][column].set("{:.6f}".format(result[0]['q_mat'][row][column])) # Populate clipboard string - self.clipboard += "A_mat [-]\n" + self.clipboard_calibration_results_complete = "A_mat [-]\n" for row in range(3): for column in range(3): - self.clipboard += "{:.6e}\t".format(result[0]['a_mat'][row][column]) - self.clipboard += "\n" - self.clipboard += "A_mat_inv [-]\n" + self.clipboard_calibration_results_complete += "{:.6e}\t".format(result[0]['a_mat'][row][column]) + self.clipboard_calibration_results_complete += "\n" + self.clipboard_calibration_results_complete += "A_mat_inv [-]\n" for row in range(3): for column in range(3): - self.clipboard += "{:.6e}\t".format(result[0]['a_mat_inv'][row][column]) - self.clipboard += "\n" - self.clipboard += "b [T]\n" + self.clipboard_calibration_results_complete += "{:.6e}\t".format(result[0]['a_mat_inv'][row][column]) + self.clipboard_calibration_results_complete += "\n" + self.clipboard_calibration_results_complete += "b [T]\n" for row in range(3): - self.clipboard += "{:.6e}\t".format(result[0]['b'][row][0]) - self.clipboard += "\nMag_amp_avg_set [T]\n" - self.clipboard += "{:.6e}\n".format(result[0]['mag_amp_avg_set']) - self.clipboard += "Total error [T]\n" - self.clipboard += "{:.6e}\n".format(result[0]['total_error']) - self.clipboard += "Q_mat [-]\n" + self.clipboard_calibration_results_complete += "{:.6e}\t".format(result[0]['b'][row][0]) + self.clipboard_calibration_results_complete += "\nMag_amp_avg_set [T]\n" + self.clipboard_calibration_results_complete += "{:.6e}\n".format(result[0]['mag_amp_avg_set']) + self.clipboard_calibration_results_complete += "Total error [T]\n" + self.clipboard_calibration_results_complete += "{:.6e}\n".format(result[0]['total_error']) + self.clipboard_calibration_results_complete += "Q_mat [-]\n" for row in range(3): for column in range(3): - self.clipboard += "{:.6e}\t".format(result[0]['q_mat'][row][column]) - self.clipboard += "\n" - self.clipboard += "n [T]\n" + self.clipboard_calibration_results_complete += "{:.6e}\t".format(result[0]['q_mat'][row][column]) + self.clipboard_calibration_results_complete += "\n" + self.clipboard_calibration_results_complete += "n [T]\n" for row in range(3): - self.clipboard += "{:.6e}\t".format(result[0]['n'][row][0]) + self.clipboard_calibration_results_complete += "{:.6e}\t".format(result[0]['n'][row][0]) # Enable save buttons self.export_calibration_button.configure(state="normal") @@ -1784,12 +1785,12 @@ class CalibrateMagnetometerComplete(Frame): if self.calibration_raw_results is None: ui_print("Error: Failed to export non-existent calibration data.") return - save_dict_list_to_csv('magnetometer_calibration.csv', self.calibration_raw_results, query_path=True) + save_dict_list_to_csv('MGM_magnetometer_calibration.csv', self.calibration_raw_results, query_path=True) ui_print("Saved calibration results to magnetometer_calibration.csv.") def import_csv_calibration_raw_data(self): try: - data, raw_data, filename = load_dict_list_from_csv('magnetometer_calibration.csv', query_path=True) + data, raw_data, filename = load_dict_list_from_csv('MGM_magnetometer_calibration.csv', query_path=True) if data is None or filename is None: ui_print("File could not be loaded! Read file name is {]".format(filename)) return @@ -1829,7 +1830,7 @@ class CalibrateMagnetometerComplete(Frame): ui_print("Error: Failed to export non-existent coordinate transformation matrix.") return try: - save_dict_list_to_csv('magnetometer_cos_trans_matrix.csv', cos_trans_matrix, query_path=True) + save_dict_list_to_csv('MGM_magnetometer_cos_trans_matrix.csv', cos_trans_matrix, query_path=True) ui_print("Saved Helmholtz to MGM coordinate transformation matrix to magnetometer_cos_trans_matrix.csv.") except FileNotFoundError: ui_print('Did not save matrix since incorrect file path specified!') @@ -1858,6 +1859,12 @@ class CalibrateMagnetometerComplete(Frame): self.clipboard_append(self.clipboard) self.update() + + def copy_to_clipboard_calibration_results_complete(self): + self.clipboard_clear() + self.clipboard_append(self.clipboard_calibration_results_complete) + self.update() + def copy_to_clipboard_cos_trans_matrix(self): # Populate clipboard for coordinate transformation matrix self.cos_trans_matrix_clipboard = "\tX\tY\tZ\n"