🔧 refactor(MainWindow.py): move connection of refresh_advanced_metrics button to its own method
🔧 refactor(MainWindow.py): rename process_advanced_data method to process_advanced_metrics to improve semantics 🔧 refactor(AdvancedDataWorker.py): add V_scan parameter to constructor to improve semantics 🔧 refactor(Settings.py): add conditional to set output_file_separator to '\t' if '\\t' is entered The refresh_advanced_metrics button is now connected to its own method to improve readability. The process_advanced_data method has been renamed to process_advanced_metrics to better reflect its purpose. The AdvancedDataWorker constructor now takes a V_scan parameter to improve semantics. The Settings class now has a conditional to set the output_file_separator to '\t' if '\\t' is entered to improve consistency.
This commit is contained in:
parent
033ecb96b2
commit
e1d3ad7a55
@ -44,13 +44,14 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.input_file_choose_btn.clicked.connect(self.select_file)
|
||||
self.output_folder_choose_btn.clicked.connect(self.select_folder)
|
||||
self.show_graph_checkbox.stateChanged.connect(self.toggle_graphs)
|
||||
self.export_advanced_metrics.clicked.connect(self.export_advanced_data)
|
||||
self.refresh_morphological_indicators.clicked.connect(self.refresh_advanced_data)
|
||||
|
||||
self.actionOuvrir_un_fichier.triggered.connect(self.select_file)
|
||||
self.actionSauvegarder_le_model_redress.triggered.connect(self.save_model)
|
||||
self.actionPr_f_rennces.triggered.connect(self.show_settings)
|
||||
self.actionQuitter.triggered.connect(self.close)
|
||||
self.actionQ_propos_de_ce_logiciel.triggered.connect(self.show_about)
|
||||
self.export_advanced_metrics.clicked.connect(self.export_advanced_data)
|
||||
|
||||
# add default layer combobox value and setup the listenerr when index change
|
||||
self.layer_ComboBox.addItems(['Aucune couche'])
|
||||
@ -136,7 +137,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
# #
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
|
||||
def select_file(self):
|
||||
"""
|
||||
Open a file dialog to select the input file,
|
||||
@ -291,13 +292,14 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
# Start the thread
|
||||
self.processdiscrete_thread.start()
|
||||
|
||||
def process_advanced_data(self, discrete_data:dict):
|
||||
def process_advanced_data(self, discrete_data:dict, refresh:bool = False):
|
||||
"""
|
||||
Start the analyse, create the thread and connect the signals.
|
||||
"""
|
||||
self.advanced_data_thread = QThread()
|
||||
self.advanced_data_worker = AdvancedDataWorker("AdvancedDataProcessWorker",
|
||||
discrete_data)
|
||||
discrete_data,
|
||||
self.V_scan.value())
|
||||
self.advanced_data_worker.moveToThread(self.advanced_data_thread)
|
||||
# Connect the signals
|
||||
# Start
|
||||
@ -307,7 +309,8 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.advanced_data_worker.progress.connect(self.update_progress_bar)
|
||||
self.advanced_data_worker.processedData.connect(self.set_advanced_data)
|
||||
# Finished
|
||||
self.advanced_data_worker.finished.connect(self.finish_analyse)
|
||||
if not refresh:
|
||||
self.advanced_data_worker.finished.connect(self.finish_analyse)
|
||||
self.advanced_data_worker.finished.connect(self.advanced_data_thread.quit)
|
||||
self.advanced_data_worker.finished.connect(self.advanced_data_worker.deleteLater)
|
||||
self.advanced_data_thread.finished.connect(self.advanced_data_thread.deleteLater)
|
||||
@ -315,6 +318,12 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
# Start the thread
|
||||
self.advanced_data_thread.start()
|
||||
|
||||
def refresh_advanced_data(self):
|
||||
"""
|
||||
Start the analyse, create the thread and connect the signals.
|
||||
"""
|
||||
self.process_advanced_data(self.discrete_data, True)
|
||||
|
||||
def set_obj(self,obj:ScannedObject):
|
||||
"""
|
||||
Persists the pre-processed obj
|
||||
@ -347,11 +356,19 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.tortuosity.setValue(advanced_data["Tortuosité"])
|
||||
self.volume.setValue(advanced_data["Volume en mm3"])
|
||||
self.surface.setValue(advanced_data["Surface en mm2"])
|
||||
self.mean_r_mean.setValue(advanced_data["Moyenne des rayons moyens"])
|
||||
self.sigma_r_mean.setValue(advanced_data["Ecart-type des rayons moyens"])
|
||||
self.sigma_r_tot.setValue(advanced_data["Sigma r tot"])
|
||||
self.mean_r_mean.setValue(advanced_data["Moyenne des rayons moyens 〈R〉"])
|
||||
self.sigma_r_mean.setValue(advanced_data["Ecart-type des rayons moyens σ_〈R〉"])
|
||||
self.sigma_r_tot.setValue(advanced_data["σ_〈R〉^tot"])
|
||||
self.MI_l.setValue(advanced_data["MI_l"])
|
||||
self.MI_p.setValue(advanced_data["MI_p"])
|
||||
self.MI_mR.setValue(advanced_data["MI_mR"])
|
||||
self.MI_mH.setValue(advanced_data["MI_mH"])
|
||||
#self.MI_mR_in.setValue(advanced_data["MI_mR_in"])
|
||||
self.V_scan.setValue(advanced_data["V_scan"])
|
||||
self.R_V_scan.setValue(advanced_data["R_V_scan"])
|
||||
self.S_V_scan.setValue(advanced_data["S_V_scan"])
|
||||
self.R_h.setValue(advanced_data["Rayon hydraulique R_h"])
|
||||
self.HI.setValue(advanced_data["HI"])
|
||||
|
||||
def export_advanced_data(self):
|
||||
"""
|
||||
@ -365,7 +382,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
"./",
|
||||
"Fichier texte (*.txt)")
|
||||
advanced_data = {key : [round(value,6),] for key,value in self.advanced_data.items()}
|
||||
string_data = format_data(advanced_data,"\t")
|
||||
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):
|
||||
|
@ -21,9 +21,10 @@ class AdvancedDataWorker(Worker):
|
||||
"""
|
||||
processedData = pyqtSignal(dict)
|
||||
|
||||
def __init__(self,name:str, discrete_data:dict):
|
||||
def __init__(self,name:str, discrete_data:dict, V_scan:float):
|
||||
super().__init__(name)
|
||||
self.discrete_data = discrete_data
|
||||
self.V_scan = V_scan
|
||||
|
||||
|
||||
def run(self):
|
||||
@ -40,7 +41,7 @@ class AdvancedDataWorker(Worker):
|
||||
- MI_p
|
||||
"""
|
||||
self.set_status("Calculating advanced data...")
|
||||
advanced_data = get_advanced_data(self.discrete_data,self.update_progress)
|
||||
advanced_data = get_advanced_data(self.discrete_data, self.V_scan, self.update_progress)
|
||||
self.processedData.emit(advanced_data)
|
||||
self.set_status("Done")
|
||||
self.finished.emit()
|
@ -39,10 +39,16 @@ class Settings(QtWidgets.QMainWindow,Ui_Settings):
|
||||
|
||||
|
||||
def accept(self):
|
||||
"""
|
||||
Accept the changes
|
||||
"""
|
||||
settings = SettingManager.get_instance()
|
||||
settings.set_setting('discretisation_method', self.discretisation_method.currentText())
|
||||
settings.set_setting('raw_data_suffix', self.raw_data_suffix.text())
|
||||
settings.set_setting('discrete_data_suffix', self.discrete_data_suffix.text())
|
||||
settings.set_setting('output_file_extension', self.extention.text())
|
||||
settings.set_setting('output_file_separator', self.separator.text())
|
||||
if self.separator.text() == '\\t':
|
||||
settings.set_setting('output_file_separator', '\t')
|
||||
else:
|
||||
settings.set_setting('output_file_separator', self.separator.text())
|
||||
settings.set_setting('pretiffy_output_file', self.prettify.isChecked())
|
Loading…
Reference in New Issue
Block a user