def test_transform_itb_translated_corner(): pixel_coords = [[-0.25, 0.25], [0.25, 0.25], [-0.25, -0.25], [0.25, -0.25]] distances = [21.21320344] * 4 fov = [1.0, 1.0, 1.0] geom = Geometry(fov, pixel_coords, distances) transformed = [geom.transform_itb(x) for x in pixel_coords] map_coords = [[0, 0], [10, 0], [0, 10], [10, 10]] assert_close(map_coords, transformed)
def sample_geom(): return Geometry(fov(), pixel_coords(), distances())
def test_project_corners(image_corners, distances, raw_3d, fov): mapped = Geometry.project_corners(image_corners, fov, distances) assert_close(raw_3d, mapped)
def test_compute_normal(raw_3d): assert_close(np.array([0, 0, -1]), Geometry.compute_normal(raw_3d))
def test_geometry_zero_fov(): with pytest.raises(ValueError): Geometry.make([0.0, 2.0, 1.0], image_corners, distances)
def test_geometry_neg_fov(image_corners, distances): with pytest.raises(ValueError): Geometry.make([-3.0, 2.0, 1.0], image_corners, distances)
def test_geometry_neg_distances(fov, image_corners): with pytest.raises(ValueError): Geometry.make(fov, image_corners, [3.0, -4.3, 0.0])
def test_identical_image_corners(fov, distances): image_corners = [[-0.24, 0.34], [0.1, 0.4], [-0.14, -0.2], [-0.14, -0.2]] with pytest.raises(ValueError): Geometry.make(fov, image_corners, distances)
def geom(): return Geometry.from_manifest(manifest())