Example #1
0
    def test_compose(self):
        s1 = Similarity(self.s, self.r, self.t)
        s2 = Similarity(0.75, Rotation.from_rodrigues([-0.5, -0.5, 1.0]),
                        EigenArray.from_iterable([4, 6.5, 8]))

        sim_comp = s1.compose(s2).as_matrix()
        mat_comp = numpy.dot(s1.as_matrix(), s2.as_matrix())
        print 'sim12 comp:\n', sim_comp
        print 'mat comp:\n', mat_comp
        print 'sim - mat:\n', sim_comp - mat_comp
        nose.tools.assert_almost_equal(
            numpy.linalg.norm(sim_comp - mat_comp, 2), 0., 14)
Example #2
0
    def test_convert_matrix(self):
        sim = Similarity()
        numpy.testing.assert_array_equal(sim.as_matrix(), numpy.eye(4))

        sim1 = Similarity(self.s, self.r, self.t)
        mat1 = sim1.as_matrix()
        sim2 = Similarity.from_matrix(mat1)
        mat2 = sim2.as_matrix()

        print "Sim1:", sim1.as_matrix()
        print "Sim2:", sim2.as_matrix()

        numpy.testing.assert_almost_equal(mat1, mat2, decimal=14)
Example #3
0
    def test_convert_matrix(self):
        sim = Similarity()
        numpy.testing.assert_array_equal(sim.as_matrix(), numpy.eye(4))

        sim1 = Similarity(self.s, self.r, self.t)
        mat1 = sim1.as_matrix()
        sim2 = Similarity.from_matrix(mat1)
        mat2 = sim2.as_matrix()

        print("Sim1:", sim1.as_matrix())
        print("Sim2:", sim2.as_matrix())

        numpy.testing.assert_almost_equal(mat1, mat2, decimal=14)
Example #4
0
    def test_compose_convert(self):
        # Composing across types should work
        s1 = Similarity(self.s, self.r, self.t)
        s2 = Similarity(0.75, Rotation.from_rodrigues([-0.5, -0.5, 1.0]),
                        EigenArray.from_iterable([4, 6.5, 8]), ctypes.c_float)

        sim_comp = s1.compose(s2).as_matrix()
        mat_comp = numpy.dot(s1.as_matrix(), s2.as_matrix())
        print('sim12 comp:\n', sim_comp)
        print('mat comp:\n', mat_comp)
        print('sim - mat:\n', sim_comp - mat_comp)
        nose.tools.assert_almost_equal(
            numpy.linalg.norm(sim_comp - mat_comp, 2), 0., 6)
Example #5
0
    def test_compose(self):
        s1 = Similarity(self.s, self.r, self.t)
        s2 = Similarity(0.75,
                        Rotation.from_rodrigues([-0.5, -0.5, 1.0]),
                        [4, 6.5, 8])

        sim_comp = s1.compose(s2).as_matrix()
        mat_comp = numpy.dot(s1.as_matrix(), s2.as_matrix())
        print('sim12 comp:\n', sim_comp)
        print('mat comp:\n', mat_comp)
        print('sim - mat:\n', sim_comp - mat_comp)
        nose.tools.assert_almost_equal(
            numpy.linalg.norm(sim_comp - mat_comp, 2),
            0., 12
        )