diff options
Diffstat (limited to 'src/argaze/AreaOfInterest/AOI2DScene.py')
-rw-r--r-- | src/argaze/AreaOfInterest/AOI2DScene.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/argaze/AreaOfInterest/AOI2DScene.py b/src/argaze/AreaOfInterest/AOI2DScene.py index 4a2a2be..8283e2e 100644 --- a/src/argaze/AreaOfInterest/AOI2DScene.py +++ b/src/argaze/AreaOfInterest/AOI2DScene.py @@ -18,9 +18,8 @@ __license__ = "GPLv3" from typing import Self -from argaze import DataFeatures +from argaze import DataFeatures, GazeFeatures from argaze.AreaOfInterest import AOIFeatures, AOI3DScene -from argaze import GazeFeatures import cv2 import numpy @@ -34,7 +33,7 @@ class AOI2DScene(AOIFeatures.AOIScene): super().__init__(2, aoi_2d) @classmethod - def from_svg(self, svg_filepath: str) -> Self: + def from_svg(cls, svg_filepath: str) -> Self: """ Load areas from .svg file. @@ -111,13 +110,18 @@ class AOI2DScene(AOIFeatures.AOIScene): return AOI2DScene(new_areas) - def draw(self, image: numpy.array, draw_aoi: dict = None, exclude=[]): + def draw(self, image: numpy.array, draw_aoi: dict = None, exclude=None): """Draw AOI polygons on image. Parameters: + image: where to draw. draw_aoi: AOIFeatures.AOI.draw parameters (if None, no aoi is drawn) + exclude: aoi to exclude """ + if exclude is None: + exclude = [] + for name, aoi in self.items(): if name in exclude: @@ -174,7 +178,7 @@ class AOI2DScene(AOIFeatures.AOIScene): yield name, aoi, matched_region, aoi_ratio, circle_ratio - '''DEPRECATED: but maybe still usefull? + '''DEPRECATED: but maybe still useful? def reframe(self, aoi: AOIFeatures.AreaOfInterest, size: tuple) -> AOI2DScene: """ Reframe whole scene to a scene bounded by a 4 vertices 2D AOI. @@ -198,7 +202,7 @@ class AOI2DScene(AOIFeatures.AOIScene): M = cv2.getAffineTransform(Src[:3], Dst[:3])[:, :2] - # Apply affine transformationto each AOI + # Apply affine transformation to each AOI aoi2D_scene = AOI2DScene() for name, aoi2D in self.items(): |