тест масштаба вида мозга
This commit is contained in:
parent
e0999ad870
commit
d7c9cca1c0
2 changed files with 27 additions and 1 deletions
|
|
@ -97,7 +97,7 @@ flyguard/ ядро: стадии обработки, память, сч
|
|||
export.py 3D-рамки, время до столкновения, маркеры RViz
|
||||
synth.py вставка предметов трассировкой лучей
|
||||
tools/ обучение, оценка, разбор, полигон с аугментациями
|
||||
tests/ 52 теста, запускаются без данных и без ROS
|
||||
tests/ 53 теста, запускаются без данных и без ROS
|
||||
docs/ методика и результаты
|
||||
artifacts/ обученные модели
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1079,3 +1079,29 @@ def test_gpu_failing_to_warm_up_leaves_cpu(monkeypatch):
|
|||
assert "no kernel image" in fg.gpu_error
|
||||
finally:
|
||||
reset_device_cache()
|
||||
|
||||
|
||||
def test_brain_view_scales_for_high_resolution():
|
||||
"""Мозг для экрана в 2×: вдвое больше по обеим осям, облако из атласа
|
||||
своего размера, а в целом та же картинка, что у узла."""
|
||||
cv2 = pytest.importorskip("cv2")
|
||||
# в выгрузке для команды вида мозга нет — там тест пропускается
|
||||
BrainHybrid = pytest.importorskip("flyguard.brain_hybrid").BrainHybrid
|
||||
from flyguard.bag import Bag
|
||||
from flyguard.pipeline import FlyGuard, Params
|
||||
|
||||
if not DATA.exists():
|
||||
pytest.skip("нет записей")
|
||||
one, two = BrainHybrid(), BrainHybrid(scale=2)
|
||||
if not one.enabled:
|
||||
pytest.skip("нет атласа нейронов")
|
||||
fg = FlyGuard(Params(enable_looming=True))
|
||||
a = b = None
|
||||
for _, pc in Bag(next(p for p in DATA.iterdir() if p.is_dir())).frames(stop=20):
|
||||
res = fg.process(pc, keep_debug=True)
|
||||
if res is not None:
|
||||
a, b = one.render(res), two.render(res)
|
||||
assert a is not None
|
||||
assert b.shape == (2 * a.shape[0], 2 * a.shape[1], 3)
|
||||
small = cv2.resize(b, (a.shape[1], a.shape[0]), interpolation=cv2.INTER_AREA)
|
||||
assert abs(float(small.mean()) - float(a.mean())) < 0.15 * float(a.mean())
|
||||
|
|
|
|||
Loading…
Reference in a new issue