From 3c3283009c93f0ad4e467d3ce210b01dd4446f3f Mon Sep 17 00:00:00 2001 From: Han Jaeseung Date: Tue, 27 Aug 2024 19:43:50 +0900 Subject: [PATCH] precommit hook --- mmrotate/core/bbox/coder/angle_coder.py | 10 ++++++++-- mmrotate/core/bbox/transforms.py | 6 +++--- tests/test_utils/test_transformer.py | 11 +++++++---- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/mmrotate/core/bbox/coder/angle_coder.py b/mmrotate/core/bbox/coder/angle_coder.py index 6bbb3faca..760065d1b 100644 --- a/mmrotate/core/bbox/coder/angle_coder.py +++ b/mmrotate/core/bbox/coder/angle_coder.py @@ -29,8 +29,14 @@ def __init__(self, angle_version, omega=1, window='gaussian', radius=6): self.angle_version = angle_version assert angle_version in ['oc', 'le90', 'le135', 'full360'] assert window in ['gaussian', 'triangle', 'rect', 'pulse'] - self.angle_range = 90 if angle_version == 'oc' else (360 if angle_version == 'full360' else 180) - self.angle_offset_dict = {'oc': 0, 'le90': 90, 'le135': 45, 'full360': 0} + self.angle_range = 90 if angle_version == 'oc' else \ + (360 if angle_version == 'full360' else 180) + self.angle_offset_dict = { + 'oc': 0, + 'le90': 90, + 'le135': 45, + 'full360': 180 + } self.angle_offset = self.angle_offset_dict[angle_version] self.omega = omega self.window = window diff --git a/mmrotate/core/bbox/transforms.py b/mmrotate/core/bbox/transforms.py index 93ebbe3b9..0153327c2 100644 --- a/mmrotate/core/bbox/transforms.py +++ b/mmrotate/core/bbox/transforms.py @@ -332,7 +332,7 @@ def poly2obb_full360(polys): torch.pow(pt2[..., 0] - pt3[..., 0], 2) + torch.pow(pt2[..., 1] - pt3[..., 1], 2)) angles = torch.atan2((pt1[..., 1] - pt2[..., 1]), - (pt1[..., 0] - pt2[..., 0])) + (pt1[..., 0] - pt2[..., 0])) angles = norm_angle(angles, 'full360') x_ctr = (pt1[..., 0] + pt3[..., 0]) / 2.0 y_ctr = (pt1[..., 1] + pt3[..., 1]) / 2.0 @@ -460,8 +460,8 @@ def poly2obb_np_le90(poly): def poly2obb_np_full360(poly): - """Convert polygons to oriented bounding boxes. - Assumes head points then tail points. + """Convert polygons to oriented bounding boxes. Assumes head points then + tail points. Args: polys (ndarray): [x0,y0,x1,y1,x2,y2,x3,y3] diff --git a/tests/test_utils/test_transformer.py b/tests/test_utils/test_transformer.py index 8c8602841..4ece46ab2 100644 --- a/tests/test_utils/test_transformer.py +++ b/tests/test_utils/test_transformer.py @@ -31,7 +31,7 @@ def test_transforms(): # test full360 # Check obb2poly and poly2obb is inverse function in full360 rotation - for angle in np.linspace(- .9 * np.pi, .9 * np.pi, 4): + for angle in np.linspace(-.9 * np.pi, .9 * np.pi, 4): # numpy version box_np = np.array((100, 100, 80, 50, angle), dtype=np.float32) pts_np = rtf.obb2poly_np(box_np[None], version='full360')[0] @@ -39,11 +39,14 @@ def test_transforms(): np.testing.assert_almost_equal(box_np, box2_np, decimal=4) # torch version - box_torch = torch.tensor((100, 100, 80, 50, angle), dtype=torch.float32) + box_torch = torch.tensor((100, 100, 80, 50, angle), + dtype=torch.float32) pts_torch = rtf.obb2poly(box_torch[None], version='full360')[0] box2_torch = rtf.poly2obb(pts_torch, version='full360')[0] torch.testing.assert_close(box_torch, box2_torch, rtol=1e-4, atol=1e-4) # compatibility - torch.testing.assert_close(box_torch, torch.from_numpy(box_np), rtol=1e-4, atol=1e-4) - torch.testing.assert_close(pts_torch, torch.from_numpy(pts_np), rtol=1e-4, atol=1e-4) + torch.testing.assert_close( + box_torch, torch.from_numpy(box_np), rtol=1e-4, atol=1e-4) + torch.testing.assert_close( + pts_torch, torch.from_numpy(pts_np), rtol=1e-4, atol=1e-4)