Files
orisys-sdk/tests/test_uv_geometry.py
2026-06-18 13:47:16 +08:00

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"