From b90c8e94d14f3df642b62786a02fd0b4af051b47 Mon Sep 17 00:00:00 2001 From: Théo de la Hogue Date: Wed, 31 Jan 2024 12:23:41 +0100 Subject: Setting aoi matcher exclude even if there is no aoi scan path. --- src/argaze/ArFeatures.py | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/src/argaze/ArFeatures.py b/src/argaze/ArFeatures.py index 0314466..a2343f9 100644 --- a/src/argaze/ArFeatures.py +++ b/src/argaze/ArFeatures.py @@ -1336,38 +1336,41 @@ class ArCamera(ArFrame): # Edit aoi matcher exclude attribute to ignore frame aoi for layer_name, layer in self.layers.items(): - if layer.aoi_scan_path is not None: + expected_aoi_list = [] + exclude_aoi_list = [] - expected_aoi_list = [] - exclude_aoi_list = [] + for scene_name, scene in self.__scenes.items(): - for scene_name, scene in self.__scenes.items(): + # Append scene layer aoi to corresponding expected camera layer aoi + try: - # Append scene layer aoi to corresponding expected camera layer aoi - try: + scene_layer = scene.layers[layer_name] - scene_layer = scene.layers[layer_name] + expected_aoi_list.extend(list(scene_layer.aoi_scene.keys())) - expected_aoi_list.extend(list(scene_layer.aoi_scene.keys())) + except KeyError: - except KeyError: + continue - continue + # Remove scene frame from expected camera layer aoi + # Exclude scene frame from camera layer aoi matching + for frame_name, frame in scene.frames.items(): - # Remove scene frame from expected camera layer aoi - # Exclude scene frame from camera layer aoi matching - for frame_name, frame in scene.frames.items(): + try: + + expected_aoi_list.remove(frame_name) + exclude_aoi_list.append(frame_name) - try: - - expected_aoi_list.remove(frame_name) - exclude_aoi_list.append(frame_name) + except ValueError: - except ValueError: + continue - continue + if layer.aoi_scan_path is not None: layer.aoi_scan_path.expected_aoi = expected_aoi_list + + if layer.aoi_matcher is not None: + layer.aoi_matcher.exclude = exclude_aoi_list @property -- cgit v1.1