Skip to content
Snippets Groups Projects

Add MBDNet integration to PipelineWorker and update SimpleTab initialization

Merged mhz1g21 requested to merge mbdnet-into-main-gui into master
1 file
+ 21
5
Compare changes
  • Side-by-side
  • Inline
+ 21
5
@@ -17,14 +17,16 @@ from debug_tool.tabs.shifter_tab import ShifterTab
@@ -17,14 +17,16 @@ from debug_tool.tabs.shifter_tab import ShifterTab
from debug_tool.tabs.depth_tab import DepthTab
from debug_tool.tabs.depth_tab import DepthTab
from debug_tool.tabs.material_tab import MaterialTab
from debug_tool.tabs.material_tab import MaterialTab
from debug_tool.tabs.edge_net_tab import EdgeNetTab
from debug_tool.tabs.edge_net_tab import EdgeNetTab
 
from debug_tool.tabs.mbdnet_tab import MBDNetTab
class PipelineWorker(QThread):
class PipelineWorker(QThread):
progress = pyqtSignal(str)
progress = pyqtSignal(str)
finished = pyqtSignal(bool, str)
finished = pyqtSignal(bool, str)
def __init__(self, tab_instance):
def __init__(self, tab_instance, edgenet_flag=True):
super().__init__()
super().__init__()
self.tab = tab_instance
self.tab = tab_instance
 
self.edgenet_flag = edgenet_flag
def run(self):
def run(self):
try:
try:
@@ -145,7 +147,17 @@ class PipelineWorker(QThread):
@@ -145,7 +147,17 @@ class PipelineWorker(QThread):
self.tab.edge_net._run_blender_flip_process()
self.tab.edge_net._run_blender_flip_process()
self.progress.emit("Completed blender flip (blenderFlip.py)")
self.progress.emit("Completed blender flip (blenderFlip.py)")
self.progress.emit("Post-processing completed!")
self.progress.emit("Post-processing completed!")
self.progress.emit("File saved in edgenet-360\Output")
self.progress.emit("File saved in edgenet-360 -> Output")
 
 
def run_mbdnet(self):
 
print("Starting MBDNet")
 
self.progress.emit("Running MBDNet...")
 
try:
 
self.tab.mbdnet._run_mbdnet_process()
 
print("Completed MBDNet")
 
except Exception as e:
 
print(f"MBDNet failed: {str(e)}")
 
raise
def run_pipeline(self):
def run_pipeline(self):
self.clean_temp_files()
self.clean_temp_files()
@@ -153,8 +165,11 @@ class PipelineWorker(QThread):
@@ -153,8 +165,11 @@ class PipelineWorker(QThread):
self.copy_file()
self.copy_file()
self.run_depth_estimation()
self.run_depth_estimation()
self.run_material_recognition()
self.run_material_recognition()
self.run_edge_net()
if self.edgenet_flag:
self.run_post_processing()
self.run_edge_net()
 
self.run_post_processing()
 
else:
 
self.run_mbdnet()
self.progress.emit("Pipeline completed!")
self.progress.emit("Pipeline completed!")
class SimpleTab(QWidget):
class SimpleTab(QWidget):
@@ -173,6 +188,7 @@ class SimpleTab(QWidget):
@@ -173,6 +188,7 @@ class SimpleTab(QWidget):
self.depth = DepthTab(self.config_reader)
self.depth = DepthTab(self.config_reader)
self.material = MaterialTab(self.config_reader)
self.material = MaterialTab(self.config_reader)
self.edge_net = EdgeNetTab(self.config_reader)
self.edge_net = EdgeNetTab(self.config_reader)
 
self.mbdnet = MBDNetTab(self.config_reader)
# Hide their UIs as we'll use our own
# Hide their UIs as we'll use our own
self.shifter.hide()
self.shifter.hide()
@@ -612,7 +628,7 @@ class SimpleTab(QWidget):
@@ -612,7 +628,7 @@ class SimpleTab(QWidget):
self.progress_bar.show()
self.progress_bar.show()
self.run_pipeline_btn.setEnabled(False)
self.run_pipeline_btn.setEnabled(False)
self.pipeline_thread = PipelineWorker(self)
self.pipeline_thread = PipelineWorker(self,edgenet_flag=self.ssc_model_combo.currentText() == "EdgeNet360")
# Connect signals
# Connect signals
self.pipeline_thread.progress.connect(self.update_status)
self.pipeline_thread.progress.connect(self.update_status)
Loading