Added Setting to program + fixed one typo
This commit is contained in:
		
							parent
							
								
									18960e8e33
								
							
						
					
					
						commit
						ff20488ceb
					
				| @ -1,5 +1,6 @@ | ||||
| from utils.math import data_extraction | ||||
| from utils.files.input import ScannedObject | ||||
| from utils.settings.SettingManager import SettingManager | ||||
| 
 | ||||
| def progressbar_placeholder(percent:int): | ||||
|     """ | ||||
| @ -58,7 +59,12 @@ def get_discrete_data(obj:ScannedObject, ndigits:int, delta_z:float=1, update_pr | ||||
|     data = {} | ||||
|     for colone in colones: | ||||
|         data[colone] = [] | ||||
|     discrete_vertices = obj.get_discrete_vertices(delta_z) | ||||
|     if SettingManager.get_instance().get_setting("discretisation_method") == "Z0-Zi < DeltaZ": | ||||
|         get_discrete_vertices = obj.get_discrete_vertices | ||||
|     else: | ||||
|         get_discrete_vertices = obj.get_discrete_vertices2  | ||||
| 
 | ||||
|     discrete_vertices = get_discrete_vertices(delta_z) | ||||
|     progress = 0 | ||||
|     for discrete_values in discrete_vertices: | ||||
|         x,y,z = data_extraction.get_x_y_z_mean(discrete_values) | ||||
|  | ||||
| @ -14,7 +14,7 @@ class ResultFileNotGiven(Exception): | ||||
|     """ | ||||
|     Exception raised when no faces was given. | ||||
|     """ | ||||
|    | ||||
| 
 | ||||
| class ScannedObject: | ||||
|     """ | ||||
|     This class is used to manage the data of the 3D object. | ||||
|  | ||||
| @ -2,6 +2,9 @@ | ||||
| This module is used to manage the output files of the program. | ||||
| """ | ||||
| 
 | ||||
| from utils.settings.SettingManager import SettingManager | ||||
| 
 | ||||
| 
 | ||||
| def format_data(data:dict, separator:str, selected_columns:list = None) -> str: | ||||
|     """ | ||||
|     Format the data to be saved in the output file. | ||||
| @ -24,15 +27,22 @@ def format_data(data:dict, separator:str, selected_columns:list = None) -> str: | ||||
|          3   ;6   ;9 | ||||
|         ' | ||||
|     """ | ||||
|     isPrettier = SettingManager.get_instance().get_setting('pretiffy_output_file') | ||||
|     output = '' | ||||
|     if selected_columns is None: | ||||
|         selected_columns = list(data.keys()) | ||||
|     for column_name in selected_columns: | ||||
|         output += column_name.ljust(len(column_name) if len(column_name) > 8 else 9 )  + separator | ||||
|         if isPrettier: | ||||
|             output += column_name.ljust(len(column_name) if len(column_name) > 8 else 9 )  + separator | ||||
|         else: | ||||
|             output += column_name + separator | ||||
|     output += '\n' | ||||
|     for i in range(len(data[selected_columns[0]])): | ||||
|         for column in selected_columns: | ||||
|             output += str(data[column][i]).ljust(len(column) if len(column) > 8 else 9 ) + separator | ||||
|             if isPrettier: | ||||
|                 output += str(data[column][i]).ljust(len(column) if len(column) > 8 else 9 ) + separator | ||||
|             else: | ||||
|                 output += str(data[column][i]) + separator | ||||
|         output += '\n' | ||||
|     return output | ||||
| 
 | ||||
|  | ||||
| @ -3,6 +3,7 @@ from PyQt5 import QtWidgets | ||||
| from PyQt5.QtCore import QThread | ||||
| from PyQt5.QtWidgets import QFileDialog, QWidget | ||||
| from utils.files.input import ScannedObject | ||||
| from utils.settings.SettingManager import SettingManager | ||||
| from utils.graph2D.visplot_render import cross_section, render2D | ||||
| from utils.graph3D.visplot_render import render3D | ||||
| from utils.gui.pyqt.main_window.UI_MainWindow import Ui_MainWindow | ||||
| @ -58,18 +59,23 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): | ||||
|             cb.addItems(self.graphType) | ||||
| 
 | ||||
|         self.slots = [ | ||||
|                     [self.slot0,None], | ||||
|                     [self.slot1,None], | ||||
|                     [self.slot2,None], | ||||
|                     [self.slot3,None], | ||||
|                     [self.slot4,None], | ||||
|                     [self.slot5,None], | ||||
|                     [self.slot6,None], | ||||
|                     [self.slot7,None], | ||||
|                     [self.slot8,None], | ||||
|                     [self.slot9,None], | ||||
|                     [self.slot10,None] | ||||
|                     [self.slot0,"Aucun"], | ||||
|                     [self.slot1,"Aucun"], | ||||
|                     [self.slot2,"Aucun"], | ||||
|                     [self.slot3,"Aucun"], | ||||
|                     [self.slot4,"Aucun"], | ||||
|                     [self.slot5,"Aucun"], | ||||
|                     [self.slot6,"Aucun"], | ||||
|                     [self.slot7,"Aucun"], | ||||
|                     [self.slot8,"Aucun"], | ||||
|                     [self.slot9,"Aucun"], | ||||
|                     [self.slot10,"Aucun"] | ||||
|                     ] | ||||
|          | ||||
|         for slot_nb,slot in  enumerate(self.slots): | ||||
|             slot[1] = SettingManager.get_instance().get_last_graph(slot_nb) | ||||
|             print(slot[1]) | ||||
|             self.comboBoxes[slot_nb].setCurrentText(slot[1]) | ||||
|      | ||||
|         self.threads = [] | ||||
| 
 | ||||
| @ -127,8 +133,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): | ||||
|             self.output_folder_path.setPlainText("Invalid folder path") | ||||
|             return | ||||
|          | ||||
|         settings = SettingManager.get_instance() | ||||
|         for count,_ in enumerate(self.slots): | ||||
|             self.slots[count][1] = self.comboBoxes[count].currentText() | ||||
|             settings.set_last_graph(count,self.slots[count][1]) | ||||
|              | ||||
|         self.clear_graphs() | ||||
|         self.completed = 0 | ||||
|  | ||||
| @ -3,6 +3,7 @@ from utils.files.input import ScannedObject | ||||
| from utils.files.output import save_output_file, format_data | ||||
| from utils.gui.pyqt.main_window.Workers.Worker import Worker | ||||
| from utils.data_processing.data_processing import get_discrete_data | ||||
| from utils.settings.SettingManager import SettingManager | ||||
| 
 | ||||
| class DiscreteDataProcessWorker(Worker): | ||||
|     """ | ||||
| @ -28,14 +29,17 @@ class DiscreteDataProcessWorker(Worker): | ||||
|         self.set_weight(100) | ||||
|         self.set_status("Saving data...") | ||||
|         self.update_progress(10) | ||||
|         save_output_file(f'{self.output_path}/{self.output_file_prefix}_delta_{self.delta_z}_analyse_rayon.txt', | ||||
|         suffix = SettingManager.get_instance().get_setting('discrete_data_suffix').replace('{delta_z}',str(self.delta_z)) | ||||
|         extension = SettingManager.get_instance().get_setting('output_file_extension') | ||||
|         separator = SettingManager.get_instance().get_setting('output_file_separator') | ||||
|         save_output_file(f'{self.output_path}/{self.output_file_prefix}{suffix}{extension}', | ||||
|                                     format_data(discrete_data, | ||||
|                                             '\t', | ||||
|                                             separator, | ||||
|                                             ["X moy (en mm)", | ||||
|                                             "Y moy (en mm)", | ||||
|                                             "Z moy (en mm)", | ||||
|                                             "Discretisation(en mm)", | ||||
|                                             "Rayon moyen (en mm)", | ||||
|                                             "Rayon ecart type (en mm)"] )) | ||||
|                                             "Rayon ecart type (en mm)"])) | ||||
|         self.set_status("Done !") | ||||
|         self.finished.emit() | ||||
| @ -3,6 +3,7 @@ from utils.files.input import ScannedObject | ||||
| from utils.files.output import save_output_file, format_data | ||||
| from utils.gui.pyqt.main_window.Workers.Worker import Worker | ||||
| from utils.data_processing.data_processing import get_raw_data | ||||
| from utils.settings.SettingManager import SettingManager | ||||
| 
 | ||||
| class RawDataProcessWorker(Worker): | ||||
|     """ | ||||
| @ -26,9 +27,12 @@ class RawDataProcessWorker(Worker): | ||||
|         self.processedData.emit(raw_data) | ||||
|         self.set_weight(100) | ||||
|         self.set_status("Saving data...") | ||||
|         save_output_file(f'{self.output_path}/{self.output_file_prefix}_delta_{self.delta_z}_analyse_brute.txt', | ||||
|         suffix = SettingManager.get_instance().get_setting('raw_data_suffix').replace('{delta_z}',str(self.delta_z)) | ||||
|         extension = SettingManager.get_instance().get_setting('output_file_extension') | ||||
|         separator = SettingManager.get_instance().get_setting('output_file_separator') | ||||
|         save_output_file(f'{self.output_path}/{self.output_file_prefix}{suffix}{extension}', | ||||
|                                     format_data(raw_data, | ||||
|                                                 '\t', | ||||
|                                                 separator, | ||||
|                                                 ["X (en mm)", | ||||
|                                                 "Y (en mm)", | ||||
|                                                 "Z (en mm)", | ||||
|  | ||||
| @ -36,7 +36,7 @@ class SettingManager: | ||||
|         self.settings['discretisation_method'] = 'Z0-Zi >= DeltaZ' # 'Z0-Zi < DeltaZ' | ||||
|         self.settings['raw_data_suffix'] = '_delta_{delta_z}_analyse_brute' | ||||
|         self.settings['discrete_data_suffix'] = '_delta_{delta_z}_analyse_rayon' | ||||
|         self.settings['output_file_extention'] = '.txt' | ||||
|         self.settings['output_file_extension'] = '.txt' | ||||
|         self.settings['output_file_separator'] = '\t' | ||||
|         self.settings['pretiffy_output_file'] = True | ||||
|         self.save() | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user