sar3d: GPU port of the notebook with four views

The sar3d processor is rewritten as a checked port of Multi_antenna_3D_clean_v1.ipynb:
NVRTC kernels, timing from the trace stamps, notebook parameter names and one cubic
SAR_VOXEL_M. It adds front, side, top and 3D views, drops gpr_cpp and the parity tools,
and the GUI speed now applies only while the socket speed is ignored.
This commit is contained in:
Ayzen
2026-10-02 16:05:22 +03:00
parent 61ef8720e1
commit 45861f4047
50 changed files with 1737 additions and 8144 deletions
+19 -2
View File
@@ -133,10 +133,27 @@ except Exception:
echo "[start.sh] Detected radar model: ${RADAR_MODEL} (config: ${config_path})"
}
# radar.replay.dataset_dir of a config, empty unless it replays a recording.
replay_dataset_dir() {
python3 -c '
import json, sys
try:
radar = json.load(open(sys.argv[1])).get("radar", {})
print(str(radar.get("replay", {}).get("dataset_dir", "")).strip())
except Exception:
print("")
' "$1" 2>/dev/null
}
# Acquisition producer for the active model, mirroring the process supervisor's
# selection so --producer-only behaves identically to a full pipeline launch.
# selection so --producer-only behaves identically to a full pipeline launch: a
# replay dataset takes precedence over the model's producer.
producer_command() {
local config_path="$1"
if [[ -n "$(replay_dataset_dir "${config_path}")" ]]; then
printf '%s\0' "${PYTHON_CMD}" -m python_app.scripts.replay_raw_producer --config "${config_path}"
return
fi
case "${RADAR_MODEL}" in
kamil_adc)
printf '%s\0' "${PYTHON_CMD}" -m python_app.scripts.kamil_adc_raw_producer --config "${config_path}" ;;
@@ -244,7 +261,7 @@ ensure_system_dependencies() {
return
fi
echo "[start.sh] Installing system dependency: libusb-1.0 dev headers..."
echo "[start.sh] Installing system dependencies: libusb-1.0 dev headers (and Qt xcb libraries on apt)..."
if command -v apt-get >/dev/null 2>&1; then
run_privileged apt-get update
run_privileged apt-get install -y pkg-config libusb-1.0-0-dev libxcb-cursor0 libxkbcommon-x11-0