(points, distance, max_shape=None)
return torch.stack([x1, y1, x2, y2], -1)
Decode distance prediction to bounding box.

    Args:
        points (Tensor): Shape (n, 2), [x, y].
        distance (Tensor): Distance from the given point to 4
            boundaries (left, top, right, bottom).
        max_shape (tuple): Shape of the image.

    Returns:
        Tensor: Decoded bboxes.
Decode distance prediction to bounding box.
Decode distance prediction to bounding box .
def distance2bbox(points, distance, max_shape=None):
    """Decode distance prediction to bounding box.

    Args:
        points (Tensor): Shape (n, 2), [x, y].
        distance (Tensor): Distance from the given point to 4
            boundaries (left, top, right, bottom).
        max_shape (tuple): Shape of the image.

    Returns:
        Tensor: Decoded bboxes.
    """
    x1 = points[:, 0] - distance[:, 0]
    y1 = points[:, 1] - distance[:, 1]
    x2 = points[:, 0] + distance[:, 2]
    y2 = points[:, 1] + distance[:, 3]
    if max_shape is not None:
        x1 = x1.clamp(min=0, max=max_shape[1] - 1)
        y1 = y1.clamp(min=0, max=max_shape[0] - 1)
        x2 = x2.clamp(min=0, max=max_shape[1] - 1)
        y2 = y2.clamp(min=0, max=max_shape[0] - 1)
    return torch.stack([x1, y1, x2, y2], -1)
def distance2bbox ( points , distance , max_shape = None ) : x1 = points [ : , 0 ] - distance [ : , 0 ] y1 = points [ : , 1 ] - distance [ : , 1 ] x2 = points [ : , 0 ] + distance [ : , 2 ] y2 = points [ : , 1 ] + distance [ : , 3 ] if max_shape is not None : x1 = x1 . clamp ( min = 0 , max = max_shape [ 1 ] - 1 ) y1 = y1 . clamp ( min = 0 , max = max_shape [ 0 ] - 1 ) x2 = x2 . clamp ( min = 0 , max = max_shape [ 1 ] - 1 ) y2 = y2 . clamp ( min = 0 , max = max_shape [ 0 ] - 1 ) return torch . stack ( [ x1 , y1 , x2 , y2 ] , - 1 )