Skip to content

Commit 2e28525

Browse files
committed
More tests
1 parent d4b130d commit 2e28525

File tree

2 files changed

+18
-16
lines changed

2 files changed

+18
-16
lines changed

test/test_transforms_v2.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,7 +1461,7 @@ def test_kernel_video(self):
14611461

14621462
@pytest.mark.parametrize(
14631463
"make_input",
1464-
[make_image_tensor, make_image_pil, make_image, make_bounding_boxes, make_segmentation_mask, make_video],
1464+
[make_image_tensor, make_image_pil, make_image, make_bounding_boxes, make_segmentation_mask, make_video, make_keypoints],
14651465
)
14661466
def test_functional(self, make_input):
14671467
check_functional(F.affine, make_input(), **self._MINIMAL_AFFINE_KWARGS)
@@ -1483,7 +1483,7 @@ def test_functional_signature(self, kernel, input_type):
14831483

14841484
@pytest.mark.parametrize(
14851485
"make_input",
1486-
[make_image_tensor, make_image_pil, make_image, make_bounding_boxes, make_segmentation_mask, make_video],
1486+
[make_image_tensor, make_image_pil, make_image, make_bounding_boxes, make_segmentation_mask, make_video, make_keypoints],
14871487
)
14881488
@pytest.mark.parametrize("device", cpu_and_cuda())
14891489
def test_transform(self, make_input, device):
@@ -1588,17 +1588,6 @@ def _reference_affine_bounding_boxes(self, bounding_boxes, *, angle, translate,
15881588
),
15891589
)
15901590

1591-
def _reference_affine_keypoints(self, keypoints, *, angle, translate, scale, shear, center):
1592-
if center is None:
1593-
center = [s * 0.5 for s in keypoints.canvas_size[::-1]]
1594-
1595-
return reference_affine_keypoints_helper(
1596-
keypoints,
1597-
affine_matrix=self._compute_affine_matrix(
1598-
angle=angle, translate=translate, scale=scale, shear=shear, center=center
1599-
),
1600-
)
1601-
16021591
@pytest.mark.parametrize("format", SUPPORTED_BOX_FORMATS)
16031592
@pytest.mark.parametrize("angle", _CORRECTNESS_AFFINE_KWARGS["angle"])
16041593
@pytest.mark.parametrize("translate", _CORRECTNESS_AFFINE_KWARGS["translate"])
@@ -1645,6 +1634,18 @@ def test_transform_bounding_boxes_correctness(self, format, center, seed):
16451634

16461635
torch.testing.assert_close(actual, expected)
16471636

1637+
def _reference_affine_keypoints(self, keypoints, *, angle, translate, scale, shear, center):
1638+
if center is None:
1639+
center = [s * 0.5 for s in keypoints.canvas_size[::-1]]
1640+
1641+
return reference_affine_keypoints_helper(
1642+
keypoints,
1643+
affine_matrix=self._compute_affine_matrix(
1644+
angle=angle, translate=translate, scale=scale, shear=shear, center=center
1645+
),
1646+
)
1647+
1648+
16481649
@pytest.mark.parametrize("angle", _CORRECTNESS_AFFINE_KWARGS["angle"])
16491650
@pytest.mark.parametrize("translate", _CORRECTNESS_AFFINE_KWARGS["translate"])
16501651
@pytest.mark.parametrize("scale", _CORRECTNESS_AFFINE_KWARGS["scale"])

torchvision/transforms/v2/functional/_geometry.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -868,6 +868,7 @@ def _affine_image_pil(
868868
return _FP.affine(image, matrix, interpolation=pil_modes_mapping[interpolation], fill=fill)
869869

870870

871+
# TODO: Consider merging/unifying this with the bbox implementation
871872
def _affine_keypoints_with_expand(
872873
keypoints: torch.Tensor,
873874
canvas_size: tuple[int, int],
@@ -935,10 +936,10 @@ def _affine_keypoints_with_expand(
935936
new_width, new_height = _compute_affine_output_size(affine_vector, width, height)
936937
canvas_size = (new_height, new_width)
937938

938-
out_kkpoints = clamp_keypoints(transformed_points, canvas_size=canvas_size).reshape(original_shape)
939-
out_kkpoints = out_kkpoints.to(original_dtype)
939+
out_keypoints = clamp_keypoints(transformed_points, canvas_size=canvas_size).reshape(original_shape)
940+
out_keypoints = out_keypoints.to(original_dtype)
940941

941-
return out_kkpoints, canvas_size
942+
return out_keypoints, canvas_size
942943

943944

944945
def affine_keypoints(

0 commit comments

Comments
 (0)