Added high-res pass

This commit is contained in:
2025-08-03 12:55:31 +02:00
parent 60d28e92d0
commit 9801f69d0b
9 changed files with 233 additions and 69 deletions

View File

@ -9,10 +9,12 @@ class ImagePipeline:
self.id_counter = 0
self.stages = {}
self.stagedata = {}
self.stagedata_full = {}
def register_stage(self, name: str):
self.stages[self.id_counter] = name
self.stagedata[self.id_counter] = None
self.stagedata_full[self.id_counter] = None
self.bus.publish_deferred("pipeline_stages", self.stages)
self.id_counter += 1
return self.id_counter-1
@ -22,9 +24,17 @@ class ImagePipeline:
self.stages[id] = name
self.bus.publish_deferred("pipeline_stages", self.stages)
def publish(self, id: int, img: np.ndarray):
self.stagedata[id] = img.astype(np.float32)
self.bus.publish_deferred("pipeline_stage", (id, self.stagedata[id]))
def publish(self, id: int, img: np.ndarray, full_res=False):
if img is None:
return
if full_res:
self.stagedata_full[id] = img.astype(np.float32)
self.bus.publish_deferred(
"pipeline_stage_full", (id, self.stagedata_full[id]))
else:
self.stagedata[id] = img.astype(np.float32)
self.bus.publish_deferred(
"pipeline_stage", (id, self.stagedata[id]))
def get_stage_data(self, id: int):
if id >= 0 and id < len(self.stages):