Fixed copy calibration results to clipboard

This commit is contained in:
2022-10-12 11:38:36 +02:00
parent 380c8c9664
commit cd79c993f2
+29 -22
View File
@@ -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"