예제 #1
0
def test_transformchain_apply():
    mocked_transform = Mock()
    mocked_transform._apply.return_value = 3
    mocked_transform2 = Mock()
    mocked_transform2._apply.return_value = 4
    transforms = [mocked_transform, mocked_transform2]
    tr = TransformChain(transforms)
    result = tr.apply(1)
    assert result == 4
예제 #2
0
def transformchain_apply_test():
    mocked_transform = Mock()
    mocked_transform._apply.return_value = 3
    mocked_transform2 = Mock()
    mocked_transform2._apply.return_value = 4
    transforms = [mocked_transform, mocked_transform2]
    tr = TransformChain(transforms)
    result = tr.apply(1)
    assert (result == 4)
예제 #3
0
def chain_compose_after_inplace_chain_test():
    a = PointCloud(np.random.random([10, 2]))
    b = PointCloud(np.random.random([10, 2]))

    t = Translation([3, 4])
    s = Scale([4, 2])
    chain_1 = TransformChain([t, s])
    chain_2 = TransformChain([s.pseudoinverse(), t.pseudoinverse()])
    chain_1.compose_before_inplace(chain_2)

    points = PointCloud(np.random.random([10, 2]))
    chain_res = chain_1.apply(points)
    assert(np.allclose(points.points, chain_res.points))
예제 #4
0
def chain_compose_after_inplace_tps_test():
    a = PointCloud(np.random.random([10, 2]))
    b = PointCloud(np.random.random([10, 2]))
    tps = ThinPlateSplines(a, b)

    t = Translation([3, 4])
    s = Scale([4, 2])
    chain = TransformChain([t, s])
    chain.compose_after_inplace(tps)

    points = PointCloud(np.random.random([10, 2]))

    manual_res = s.apply(t.apply(tps.apply(points)))
    chain_res = chain.apply(points)
    assert(np.all(manual_res.points == chain_res.points))
예제 #5
0
def manual_no_op_chain_test():
    points = PointCloud(np.random.random([10, 2]))
    t = Translation([3, 4])
    chain = TransformChain([t, t.pseudoinverse()])
    points_applied = chain.apply(points)
    assert(np.allclose(points_applied.points, points.points))