def test_invalid_param_combinations(self, depth, height, width, distortion_scale, device, dtype): random_perspective_generator3d(batch_size=8, height=height, width=width, distortion_scale=distortion_scale.to( device=device, dtype=dtype))
def test_same_on_batch(self, device, dtype): torch.manual_seed(42) batch_size = 2 res = random_perspective_generator3d(batch_size, 200, 200, 200, torch.tensor(0.5, device=device, dtype=dtype), same_on_batch=True) expected = dict( start_points=torch.tensor( [[[0., 0., 0.], [199., 0., 0.], [199., 199., 0.], [0., 199., 0.], [0., 0., 199.], [199., 0., 199.], [199., 199., 199.], [0., 199., 199.]], [[0., 0., 0.], [199., 0., 0.], [199., 199., 0.], [0., 199., 0.], [0., 0., 199.], [199., 0., 199.], [199., 199., 199.], [0., 199., 199.]]], device=device, dtype=dtype), end_points=torch.tensor( [[[2.9077, 3.1455, 6.1793], [196.3710, 26.3086, 23.8392], [151.2382, 152.5624, 4.1772], [6.6320, 191.1473, 18.7684], [42.1260, 43.5251, 180.1234], [168.3782, 4.4055, 163.9409], [167.8298, 177.1361, 195.2633], [34.1715, 183.3881, 183.5471]], [[2.9077, 3.1455, 6.1793], [196.3710, 26.3086, 23.8392], [151.2382, 152.5624, 4.1772], [6.6320, 191.1473, 18.7684], [42.1260, 43.5251, 180.1234], [168.3782, 4.4055, 163.9409], [167.8298, 177.1361, 195.2633], [34.1715, 183.3881, 183.5471]]], device=device, dtype=dtype)) assert res.keys() == expected.keys() assert_allclose(res['start_points'], expected['start_points'], atol=1e-4, rtol=1e-4) assert_allclose(res['end_points'], expected['end_points'], atol=1e-4, rtol=1e-4)
def test_same_on_batch(self, device, dtype): torch.manual_seed(42) batch_size = 2 res = random_perspective_generator3d(batch_size, 200, 200, 200, torch.tensor(0.5, device=device, dtype=dtype), same_on_batch=True) expected = dict( start_points=torch.tensor( [[[0., 0., 0.], [199., 0., 0.], [199., 199., 0.], [0., 199., 0.], [0., 0., 199.], [199., 0., 199.], [199., 199., 199.], [0., 199., 199.]], [[0., 0., 0.], [199., 0., 0.], [199., 199., 0.], [0., 199., 0.], [0., 0., 199.], [199., 0., 199.], [199., 199., 199.], [0., 199., 199.]]], device=device, dtype=dtype), end_points=torch.tensor( [[[44.1135, 45.7502, 19.1432], [151.0347, 19.5224, 30.0448], [186.1714, 159.3179, 47.0386], [6.6593, 152.2701, 29.6790], [43.4702, 28.3858, 161.9453], [177.5298, 44.2721, 170.3048], [185.6710, 167.6275, 185.5184], [22.0682, 184.1540, 157.4157]], [[44.1135, 45.7502, 19.1432], [151.0347, 19.5224, 30.0448], [186.1714, 159.3179, 47.0386], [6.6593, 152.2701, 29.6790], [43.4702, 28.3858, 161.9453], [177.5298, 44.2721, 170.3048], [185.6710, 167.6275, 185.5184], [22.0682, 184.1540, 157.4157]]], device=device, dtype=dtype)) assert res.keys() == expected.keys() assert_allclose(res['start_points'], expected['start_points'], atol=1e-4, rtol=1e-4) assert_allclose(res['end_points'], expected['end_points'], atol=1e-4, rtol=1e-4)
def test_random_gen(self, device, dtype): torch.manual_seed(42) batch_size = 2 res = random_perspective_generator3d( batch_size, 200, 200, 200, torch.tensor(0.5, device=device, dtype=dtype)) expected = dict( start_points=torch.tensor( [[[0., 0., 0.], [199., 0., 0.], [199., 199., 0.], [0., 199., 0.], [0., 0., 199.], [199., 0., 199.], [199., 199., 199.], [0., 199., 199.]], [[0., 0., 0.], [199., 0., 0.], [199., 199., 0.], [0., 199., 0.], [0., 0., 199.], [199., 0., 199.], [199., 199., 199.], [0., 199., 199.]]], device=device, dtype=dtype), end_points=torch.tensor( [[[2.9077, 3.1455, 6.1793], [196.3710, 26.3086, 23.8392], [151.2382, 152.5624, 4.1772], [6.6320, 191.1473, 18.7684], [42.1260, 43.5251, 180.1234], [168.3782, 4.4055, 163.9409], [167.8298, 177.1361, 195.2633], [34.1715, 183.3881, 183.5471]], [[1.5670, 2.0183, 46.5954], [191.3937, 13.2522, 6.5217], [186.4072, 187.3296, 11.2833], [15.8784, 168.2796, 29.8886], [42.4501, 1.6248, 183.5378], [177.3848, 46.7149, 192.8844], [177.6152, 184.5908, 149.9299], [42.2815, 179.7861, 194.0347]]], device=device, dtype=dtype), ) assert res.keys() == expected.keys() assert_allclose(res['start_points'], expected['start_points'], atol=1e-4, rtol=1e-4) assert_allclose(res['end_points'], expected['end_points'], atol=1e-4, rtol=1e-4)
def test_random_gen(self, device, dtype): torch.manual_seed(42) batch_size = 2 res = random_perspective_generator3d( batch_size, 200, 200, 200, torch.tensor(0.5, device=device, dtype=dtype)) expected = dict( start_points=torch.tensor( [[[0., 0., 0.], [199., 0., 0.], [199., 199., 0.], [0., 199., 0.], [0., 0., 199.], [199., 0., 199.], [199., 199., 199.], [0., 199., 199.]], [[0., 0., 0.], [199., 0., 0.], [199., 199., 0.], [0., 199., 0.], [0., 0., 199.], [199., 0., 199.], [199., 199., 199.], [0., 199., 199.]]], device=device, dtype=dtype), end_points=torch.tensor( [[[44.1135, 45.7502, 19.1432], [151.0347, 19.5224, 30.0448], [186.1714, 159.3179, 47.0386], [6.6593, 152.2701, 29.6790], [43.4702, 28.3858, 161.9453], [177.5298, 44.2721, 170.3048], [185.6710, 167.6275, 185.5184], [22.0682, 184.1540, 157.4157]], [[5.2657, 13.4747, 17.9406], [189.0318, 27.3596, 0.3080], [151.4223, 195.2367, 44.3007], [29.1605, 182.1176, 40.4487], [28.8963, 45.1991, 171.2670], [181.8843, 31.7171, 180.7795], [163.4786, 151.6794, 159.5485], [14.0707, 159.5684, 169.5268]]], device=device, dtype=dtype), ) assert res.keys() == expected.keys() assert_allclose(res['start_points'], expected['start_points'], atol=1e-4, rtol=1e-4) assert_allclose(res['end_points'], expected['end_points'], atol=1e-4, rtol=1e-4)