def is_object_in_lane()

in spark_scripts/detect_scenes.py [0:0]


def is_object_in_lane(obj, lane_points):
    obj_corner_x_min = obj['x'] - obj['width'] / 2
    obj_corner_x_max = obj['x'] + obj['width'] / 2
    obj_corner_y_min = obj['y'] - obj['height'] / 2
    obj_corner_y_max = obj['y'] + obj['height'] / 2

    corners_in_lane = 0
    lanes = []
    for obj_corner in [
        (obj_corner_x_min, obj_corner_y_min),
        (obj_corner_x_max, obj_corner_y_min),
        (obj_corner_x_min, obj_corner_y_max),
        (obj_corner_x_max, obj_corner_y_max),
    ]:
        x = obj_corner[0]
        y = obj_corner[1]
        closest_points = identify_nearest_lane_point(x, y, lane_points=lane_points)
        in_lane = point_in_lane(x, y, closest_points)
        if in_lane[0]:
            corners_in_lane += 1
            lane = in_lane[1]
            if lane not in lanes:
                lanes.append(lane)
    return corners_in_lane, lanes