From 1c1a9bac942892a656f593d67baab0ab9c58c9bc Mon Sep 17 00:00:00 2001 From: Djalim Simaila Date: Wed, 31 May 2023 11:21:37 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(data=5Fprocessing.py):=20fix?= =?UTF-8?q?=20variable=20name=20for=20R=5Fmax=20from=20"Z=20(en=20mm)"=20t?= =?UTF-8?q?o=20"rayon=20(en=20mm)"=20=F0=9F=90=9B=20fix(data=5Fprocessing.?= =?UTF-8?q?py):=20fix=20formula=20for=20R=5FV=5Fscan=20to=20include=20pare?= =?UTF-8?q?ntheses=20for=20correct=20order=20of=20operations=20?= =?UTF-8?q?=F0=9F=90=9B=20fix(output.py):=20add=20delta=5Fz=20parameter=20?= =?UTF-8?q?to=20generate=5Fheaders=20function=20to=20correctly=20display?= =?UTF-8?q?=20the=20delta=5Fz=20value=20in=20the=20output=20file=20?= =?UTF-8?q?=E2=9C=A8=20feat(output.py):=20add=20delta=5Fz=20value=20to=20o?= =?UTF-8?q?utput=20file=20headers=20if=20add=5Fheaders=20setting=20is=20en?= =?UTF-8?q?abled=20=E2=9C=A8=20feat(MainWindow.py):=20add=20delta=5Fz=20va?= =?UTF-8?q?lue=20to=20output=20file=20headers=20if=20add=5Fheaders=20setti?= =?UTF-8?q?ng=20is=20enabled=20=E2=9C=A8=20feat(DiscreteDataWorker.py):=20?= =?UTF-8?q?add=20delta=5Fz=20value=20to=20output=20file=20headers=20if=20a?= =?UTF-8?q?dd=5Fheaders=20setting=20is=20enabled=20=E2=9C=A8=20feat(RawDat?= =?UTF-8?q?aWorker.py):=20add=20delta=5Fz=20value=20to=20output=20file=20h?= =?UTF-8?q?eaders=20if=20add=5Fheaders=20setting=20is=20enabled?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The changes in data_processing.py fix a variable name and a formula to correctly calculate the R_max and R_V_scan values. --- utils/data_processing/data_processing.py | 7 ++++--- utils/files/output.py | 3 ++- utils/gui/pyqt/main_window/MainWindow.py | 9 ++++++--- utils/gui/pyqt/main_window/Workers/DiscreteDataWorker.py | 2 +- utils/gui/pyqt/main_window/Workers/RawDataWorker.py | 2 +- utils/gui/pyqt/ressources_rc.py | 2 +- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/utils/data_processing/data_processing.py b/utils/data_processing/data_processing.py index 00e519a..2b15dc9 100644 --- a/utils/data_processing/data_processing.py +++ b/utils/data_processing/data_processing.py @@ -156,7 +156,8 @@ def get_advanced_data(discrete_data:dict, raw_data:dict, V_scan = 0, update_prog discrete_data["Y moy (en mm)"], discrete_data["Z moy (en mm)"])) for index in range(len(vertices)-1): - l += de.get_distance_between_two_vertices(vertices[index], vertices[index+1]) + dist = de.get_distance_between_two_vertices(vertices[index], vertices[index+1]) + l += dist l += discrete_data["Discretisation(en mm)"][-1] /2 + discrete_data["Discretisation(en mm)"][0] /2 L = de.get_distance_between_two_vertices(vertices[0], vertices[-1]) + discrete_data["Discretisation(en mm)"][-1] /2 + discrete_data["Discretisation(en mm)"][0] /2 T = l/L @@ -179,12 +180,12 @@ def get_advanced_data(discrete_data:dict, raw_data:dict, V_scan = 0, update_prog MI_l = R_mean_std/R_mean MI_p = np.sqrt(mean_sigma_r_squared)/R_mean - R_max = max(raw_data["Z (en mm)"]) + R_max = max(raw_data["rayon (en mm)"]) R_in = 40 MI_mR = R_max/R_mean MI_mH = R_max/H MI_mr_in = R_max/R_in - R_V_scan = np.sqrt(V_scan/np.pi*H) + R_V_scan = np.sqrt(V_scan/(np.pi*H)) S_V_scan = 2 * np.sqrt(np.pi * H * V_scan) R_h = R2_mean/ R_mean HI = R_mean * R_V_scan / R2_mean diff --git a/utils/files/output.py b/utils/files/output.py index 9f7bcf7..e6c7dfc 100644 --- a/utils/files/output.py +++ b/utils/files/output.py @@ -8,7 +8,7 @@ Created on Mon Apr 17 2023 import datetime from utils.settings.SettingManager import SettingManager -def generate_headers(filename:str): +def generate_headers(filename:str,delta_z:float) -> str: """ """ headers = f"""############################## @@ -18,6 +18,7 @@ version :{SettingManager.get_instance().get_setting("version")} filename : {filename} date : {datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S")} discretisation : {SettingManager.get_instance().get_setting("discretisation_method")} +delta_z : {delta_z} had been veticalised : {"yes" if SettingManager.get_instance().get_setting("should_verticalise") else "no"} ############################## """ diff --git a/utils/gui/pyqt/main_window/MainWindow.py b/utils/gui/pyqt/main_window/MainWindow.py index fe3e547..c962ac3 100644 --- a/utils/gui/pyqt/main_window/MainWindow.py +++ b/utils/gui/pyqt/main_window/MainWindow.py @@ -10,7 +10,7 @@ from PyQt5 import QtWidgets from PyQt5.QtCore import QThread from PyQt5.QtWidgets import QFileDialog, QWidget from utils.files.input import ScannedObject -from utils.files.output import format_data, save_output_file +from utils.files.output import format_data, generate_headers, save_output_file from utils.gui.pyqt.main_window.Workers.AdvancedDataWorker import AdvancedDataWorker from utils.gui.pyqt.settings.Settings import Settings from utils.gui.pyqt.about.AboutThis import AboutThis @@ -329,7 +329,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): """ Start the analyse, create the thread and connect the signals. """ - self.process_advanced_data(self.discrete_data, True) + self.process_advanced_data(self.discrete_data,self.raw_data, True) def set_obj(self,obj:ScannedObject): """ @@ -391,7 +391,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): if file_path[0] == "": return advanced_data = {key : [round(value,6),] for key,value in self.advanced_data.items()} - string_data = format_data(advanced_data,SettingManager.get_instance().get_setting("output_file_separator")) + string_data = "" + if SettingManager.get_instance().get_setting("add_headers"): + string_data += generate_headers(os.path.basename(self.input_file_path.toPlainText()),self.discretisation_value_selector.value()) + string_data += format_data(advanced_data,SettingManager.get_instance().get_setting("output_file_separator")) save_output_file(file_path[0],string_data) def save_model(self): diff --git a/utils/gui/pyqt/main_window/Workers/DiscreteDataWorker.py b/utils/gui/pyqt/main_window/Workers/DiscreteDataWorker.py index a3bdc13..7159d67 100644 --- a/utils/gui/pyqt/main_window/Workers/DiscreteDataWorker.py +++ b/utils/gui/pyqt/main_window/Workers/DiscreteDataWorker.py @@ -66,7 +66,7 @@ class DiscreteDataProcessWorker(Worker): output = "" add_headers = SettingManager.get_instance().get_setting("add_headers") if add_headers: - output += generate_headers(self.obj.filename) + output += generate_headers(self.obj.filename,self.delta_z) output += format_data(discrete_data, separator, ["X moy (en mm)", diff --git a/utils/gui/pyqt/main_window/Workers/RawDataWorker.py b/utils/gui/pyqt/main_window/Workers/RawDataWorker.py index 035408c..fa48659 100644 --- a/utils/gui/pyqt/main_window/Workers/RawDataWorker.py +++ b/utils/gui/pyqt/main_window/Workers/RawDataWorker.py @@ -61,7 +61,7 @@ class RawDataProcessWorker(Worker): output = "" add_headers = SettingManager.get_instance().get_setting("add_headers") if add_headers: - output += generate_headers(self.obj.filename) + output += generate_headers(self.obj.filename,self.delta_z) output += format_data(raw_data, separator, ["X (en mm)", diff --git a/utils/gui/pyqt/ressources_rc.py b/utils/gui/pyqt/ressources_rc.py index b3a8891..73b588c 100644 --- a/utils/gui/pyqt/ressources_rc.py +++ b/utils/gui/pyqt/ressources_rc.py @@ -751,7 +751,7 @@ qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x87\xdc\x71\xcf\xb8\ +\x00\x00\x01\x88\x43\x2d\x8b\x15\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')]