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