35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import numpy as np
|
|
import pytest
|
|
|
|
from orisys.unroll.geometry import (
|
|
resolve_uv_runtime_sizes,
|
|
scale_camera_geometry,
|
|
scaled_map_cache_path,
|
|
)
|
|
|
|
|
|
def test_scale_camera_geometry_halves_intrinsics_and_size():
|
|
k = np.array([[1000.0, 0.0, 640.0], [0.0, 1000.0, 360.0], [0.0, 0.0, 1.0]])
|
|
k_scaled, w, h = scale_camera_geometry(k, 1280, 720, 0.5)
|
|
assert w == 640
|
|
assert h == 360
|
|
assert k_scaled[0, 0] == pytest.approx(500.0)
|
|
assert k_scaled[1, 1] == pytest.approx(500.0)
|
|
assert k_scaled[0, 2] == pytest.approx(320.0)
|
|
assert k_scaled[1, 2] == pytest.approx(180.0)
|
|
|
|
|
|
def test_resolve_uv_runtime_sizes_from_work4():
|
|
out_w, out_h, scale = resolve_uv_runtime_sizes(
|
|
{
|
|
"resolution_stitch": [280, 300],
|
|
"work4": [280, 300, 4, 0.4],
|
|
}
|
|
)
|
|
assert (out_w, out_h, scale) == (280, 300, 0.4)
|
|
|
|
|
|
def test_scaled_map_cache_path_suffix():
|
|
assert scaled_map_cache_path("unroll_map_uv.npz", 0.4) == "unroll_map_uv_s0.4.npz"
|
|
assert scaled_map_cache_path("unroll_map_uv.npz", 1.0) == "unroll_map_uv.npz"
|