Exemplo n.º 1
0
def test_singleton_pan_tilt_roll(bundle_adjuster) -> None:
    """Single camera test with pan, tilt, roll priors."""
    pan, tilt, roll = 1, 0.3, 0.2
    sa = bundle_adjuster
    sa.add_rig_instance(
        "1",
        # pyre-fixme[6]: For 1st param expected `ndarray` but got `List[float]`.
        # pyre-fixme[6]: For 2nd param expected `ndarray` but got `List[int]`.
        pygeometry.Pose([0.5, 0, 0], [0, 0, 0]),
        {"1": "cam1"},
        {"1": "rig_cam1"},
        False,
    )
    sa.add_rig_instance_position_prior("1", [1, 0, 0], [1, 1, 1], "")
    sa.add_absolute_pan("1", pan, 1)
    sa.add_absolute_tilt("1", tilt, 1)
    sa.add_absolute_roll("1", roll, 1)

    sa.run()
    pose = sa.get_rig_instance_pose("1")

    assert np.allclose(pose.get_origin(), [1, 0, 0], atol=1e-6)

    ptr = geometry.ptr_from_rotation(pose.get_rotation_matrix())
    assert np.allclose(ptr, (pan, tilt, roll))
Exemplo n.º 2
0
def test_sigleton_pan_tilt_roll():
    """Single camera test with pan, tilt, roll priors."""
    pan, tilt, roll = 1, 0.3, 0.2
    sa = pybundle.BundleAdjuster()
    sa.add_shot("1", "cam1", [0.5, 0, 0], [0, 0, 0], False)
    sa.add_absolute_position("1", [1, 0, 0], 1, "1")
    sa.add_absolute_pan("1", pan, 1)
    sa.add_absolute_tilt("1", tilt, 1)
    sa.add_absolute_roll("1", roll, 1)

    sa.run()
    s1 = sa.get_shot("1")
    pose = pygeometry.Pose(s1.r, s1.t)

    assert np.allclose(pose.get_origin(), [1, 0, 0], atol=1e-6)

    ptr = geometry.ptr_from_rotation(pose.get_rotation_matrix())
    assert np.allclose(ptr, (pan, tilt, roll))
Exemplo n.º 3
0
def test_rotaction_from_ptr_v2():
    ptr = 0.1, 0.2, 0.3
    rotation = geometry.rotation_from_ptr(*ptr)
    assert np.allclose(ptr, geometry.ptr_from_rotation(rotation))