Ejemplo n.º 1
0
 def test_estimate_transform_spd(self):
     point = spd.SPDMatrices(3).random_uniform()
     points = gs.stack([point, point])
     transformer = ToTangentSpace(geometry=spd.SPDMetricAffine(3))
     transformer.fit(X=points)
     result = transformer.transform(points)
     expected = gs.zeros((2, 6))
     self.assertAllClose(expected, result, atol=1e-5)
Ejemplo n.º 2
0
 def test_estimate_transform_sphere(self):
     point = gs.array([0., 0., 0., 0., 1.])
     points = gs.array([point, point])
     transformer = ToTangentSpace(geometry=self.sphere)
     transformer.fit(X=points)
     result = transformer.transform(points)
     expected = gs.zeros_like(points)
     self.assertAllClose(expected, result)
Ejemplo n.º 3
0
    def test_estimate_transform_so_group(self):
        point = self.so_matrix.random_uniform()
        points = gs.array([point, point])

        transformer = ToTangentSpace(geometry=self.so_matrix)
        transformer.fit(X=points)
        result = transformer.transform(points)
        expected = gs.zeros((2, 6))
        self.assertAllClose(expected, result)
Ejemplo n.º 4
0
 def test_inverse_transform_no_fit_sphere(self):
     point = self.sphere.random_uniform(3)
     base_point = point[0]
     point = point[1:]
     transformer = ToTangentSpace(geometry=self.sphere)
     X = transformer.transform(point, base_point=base_point)
     result = transformer.inverse_transform(X, base_point=base_point)
     expected = point
     self.assertAllClose(expected, result)
Ejemplo n.º 5
0
 def test_inverse_transform_so(self):
     point = self.so_matrix.random_uniform(10)
     transformer = ToTangentSpace(
         geometry=self.so_matrix.bi_invariant_metric)
     X = transformer.transform(X=point, base_point=self.so_matrix.identity)
     result = transformer.inverse_transform(
         X, base_point=self.so_matrix.identity)
     expected = point
     self.assertAllClose(expected, result)