Skip to content
Snippets Groups Projects

DetectorAssembler: go to ERROR if trying to match without geometry

Merged David Hammer requested to merge detectorassembler-error-without-geometry into master
@@ -144,9 +144,6 @@ class BaseFrameSelectionArbiter(TrainMatcher.TrainMatcher):
)
self._geometry = None
geom_utils.subscribe_to_geometry_bound(
self, self.get("geometryDevice"), on_geometry=self._on_geometry
)
def _guess_number_of_frames(self, sources):
# TODO: robust frame deduction
@@ -184,6 +181,9 @@ class SimpleFrameSelectionArbiter(BaseFrameSelectionArbiter):
self._initialize_kernel(
self["frameSelection.kernelChoice"], self["frameSelection.kernelParameters"]
)
geom_utils.subscribe_to_geometry_bound(
self, self.get("geometryDevice"), on_geometry=self._on_geometry
)
if self["state"] != State.ERROR:
self.start() # Auto-start this type of matcher.
@@ -307,6 +307,9 @@ class AdvancedFrameSelectionArbiter(BaseFrameSelectionArbiter):
self._validate_plan_and_update_schema(self["frameSelection.plan"])
self._initialize_kernels()
self._configure_decision(self["frameSelection.decision"])
geom_utils.subscribe_to_geometry_bound(
self, self.get("geometryDevice"), on_geometry=self._on_geometry
)
if self["state"] != State.ERROR:
self.start() # Auto-start this type of matcher.
@@ -517,5 +520,5 @@ class AdvancedFrameSelectionArbiter(BaseFrameSelectionArbiter):
kernel.reconfigure(conf[kernel_prefix])
def _on_geometry(self, geometry):
for kernel in self._selection_kernels.values()
for kernel in self._selection_kernels.values():
kernel.on_new_geometry(geometry)
Loading