Реструктуризация проекта и генератор синтетических датасетов эхолота.

Перенесены backend/frontend/desktop/engine, добавлены вкладки конструктора сцен и генератора датасета с параметрами лучей и длины сетки рельефа, обновлены API и Docker-сборка.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-17 12:25:00 +03:00
co-authored by Cursor
parent 18a58f2e85
commit 4f253b860f
134 changed files with 5263 additions and 863 deletions
+80
View File
@@ -0,0 +1,80 @@
"""Built-in pipeline presets (mirrors MainWindow::applyPreset)."""
from __future__ import annotations
from typing import Any
BUILTIN_PRESETS: list[dict[str, Any]] = [
{
"title": "LiDAR-скан",
"idValue": "LiDAR_scan",
"config": {
"profile": "desktop_debug",
"preprocessPlugins": [
"pcl_remove_nan",
"keep_largest_cluster",
"pcl_statistical_outlier",
"pcl_voxel_grid",
],
"reconstructionPlugin": "surface_fallback",
"stageDefaults": {},
},
},
{
"title": "RGB-D камера",
"idValue": "RGBD_camera",
"config": {
"profile": "desktop_debug",
"preprocessPlugins": [
"pcl_remove_nan",
"pcl_statistical_outlier",
"pcl_radius_outlier",
"pcl_voxel_grid",
],
"reconstructionPlugin": "pcl_greedy_triangulation",
"stageDefaults": {},
},
},
{
"title": "Синтетика",
"idValue": "Synthetic_clean",
"config": {
"profile": "desktop_debug",
"preprocessPlugins": ["pcl_remove_nan", "downsample_dense", "pcl_voxel_grid"],
"reconstructionPlugin": "pcl_greedy_triangulation",
"stageDefaults": {},
},
},
{
"title": "Fast",
"idValue": "Fast",
"config": {
"profile": "desktop_debug",
"preprocessPlugins": ["pcl_remove_nan", "pcl_voxel_grid"],
"reconstructionPlugin": "surface_fallback",
"stageDefaults": {},
},
},
{
"title": "Robust",
"idValue": "Robust",
"config": {
"profile": "desktop_debug",
"preprocessPlugins": [
"pcl_remove_nan",
"pcl_voxel_grid",
"pcl_statistical_outlier",
"pcl_radius_outlier",
],
"reconstructionPlugin": "surface_fallback",
"stageDefaults": {},
},
},
]
def get_builtin_preset(preset_id: str) -> dict[str, Any] | None:
for preset in BUILTIN_PRESETS:
if preset["idValue"] == preset_id:
return preset
return None