--- title: AOI matching --- AOI matching ============ Once AOI3D scene is projected into a frame as AOI2D scene, it could be needed to know which AOI2D is looked. The AOI class in [AOIFeatures](/argaze/#argaze.AreaOfInterest.AOIFeatures) provides two ways to accomplish such task. ## Pointer-based matching Test if 2D pointer is inside or not AOI using contains_point() method as illustrated below. ![Contains point](../../img/contains_point.png) ``` python pointer = (x, y) for name, aoi in aoi2D_scene.items(): if aoi.contains_point(pointer): # Do something with looked aoi ... ``` It is also possible to get where a pointer is looking inside an AOI provided that AOI is a rectangular plane: ``` python inner_x, inner_y = aoi.inner_axis(pointer) ``` ## Circle-based matching As positions have limited accuracy, it is possible to define a radius around a pointer to test circle intersection with AOI. ![Circle intersection](../../img/circle_intersection.png) ``` python intersection_shape, intersection_aoi_ratio, intersection_circle_ratio = aoi.circle_intersection(pointer, radius) ```