From b88d704126bc5825ccf7dd75f5544c4a14955689 Mon Sep 17 00:00:00 2001 From: Ayzen Date: Fri, 16 Oct 2026 12:08:57 +0300 Subject: [PATCH] Port the SAR3D background gate, CLEAN and object boxes from Multi_depthnorm_clean - BG_GATE_ENABLE: frame peak over its median background (sar3d_background); the GUI scales the frame with bg_gate_gain and its cloud threshold. - SAR_CLEAN_ENABLE: CLEAN of a one-frame aperture on a 4x10x4 cm search grid over the whole scene; objects in their own scale (sar3d_objects). - SAR_MARK_ENABLE: boxes by class around object groups (sar3d_marks), with the legend under the views. - SAR_VOXEL_M as three steps X/Y/Z with the notebook defaults 0.025/0.02/0.02. - GPU backend: image/download/load/project API, per-plane block reduction for the maximum, depth gate without FMA; sar3d host code built with -ffp-contract=off. - References regenerated from notebook cells 1 and 5, with new CLEAN scenes and a synthetic box-rule case; docs updated. --- Makefile | 11 +- README.md | 51 +- .../include/processing_live_config.hpp | 10 +- .../src/processing_live_config.cpp | 6 +- .../processors/include/sar3d_processor.hpp | 12 +- .../processors/src/backprojection.hpp | 27 +- .../processing/processors/src/sar3d_clean.cpp | 558 ++++++++++++++++++ .../processing/processors/src/sar3d_clean.hpp | 91 +++ .../processing/processors/src/sar3d_gpu.cpp | 461 +++++++++------ .../processing/processors/src/sar3d_gpu.hpp | 55 +- .../processors/src/sar3d_processor.cpp | 312 +++++++--- .../tests/backprojection_fixture.cpp | 75 ++- .../generate_backprojection_reference.py | 156 ++++- .../tests/gpr_reference.npz | Bin 891607 -> 891697 bytes .../tests/native_regressions.cpp | 5 +- .../tests/sar3d_reference.npz | Bin 90046 -> 419048 bytes .../tests/test_backprojection.py | 85 ++- device_firmware/librevna_protocol.md | 30 +- python_app/gui/controllers/renderers/sar3d.py | 195 +++++- .../sections/processing_section.py | 39 +- python_app/models/gui_profile_schema.py | 9 +- .../orchestration/live_processing_config.py | 8 +- python_app/tests/test_gui_profile_codec.py | 4 +- python_app/tests/test_processor_history.py | 2 +- python_app/tests/test_sar3d_plot.py | 99 +++- ...nfig_librevna_multi_per_point.example.json | 1 - 26 files changed, 1895 insertions(+), 407 deletions(-) create mode 100644 data_acq_and_processing/processing/processors/src/sar3d_clean.cpp create mode 100644 data_acq_and_processing/processing/processors/src/sar3d_clean.hpp diff --git a/Makefile b/Makefile index 0578cf9..80eba5c 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ endif # Rewritten only when the CUDA setup changes, so installing (or removing) CUDA # rebuilds the sar3d GPU code instead of keeping a stale build. SAR3D_CUDA_STAMP := $(BUILD_DIR)/sar3d_cuda.flags +SAR3D_HOST_FLAGS := -ffp-contract=off $(shell mkdir -p $(BUILD_DIR) && echo '$(SAR3D_CXXFLAGS) $(SAR3D_LDFLAGS)' | cmp -s - $(SAR3D_CUDA_STAMP) || echo '$(SAR3D_CXXFLAGS) $(SAR3D_LDFLAGS)' > $(SAR3D_CUDA_STAMP)) INCLUDES := \ @@ -57,6 +58,7 @@ PROCESSOR_SOURCES := \ data_acq_and_processing/processing/processors/src/gpr_processor.cpp \ data_acq_and_processing/processing/processors/src/passthrough_processor.cpp \ data_acq_and_processing/processing/processors/src/sar3d_processor.cpp \ + data_acq_and_processing/processing/processors/src/sar3d_clean.cpp \ data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp \ data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp \ data_acq_and_processing/processing/data_processor/src/data_processor.cpp \ @@ -122,13 +124,14 @@ check-native: $(NATIVE_BUILD_DIR)/native_regressions $(BIN_DIR)/collector_regres BACKPROJECTION_TEST_SOURCES := data_acq_and_processing/tests/backprojection_fixture.cpp \ data_acq_and_processing/common_cpp/ipc/src/shared_types.cpp \ data_acq_and_processing/processing/processors/src/sar3d_processor.cpp \ + data_acq_and_processing/processing/processors/src/sar3d_clean.cpp \ data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp \ data_acq_and_processing/processing/processors/src/gpr_processor.cpp BACKPROJECTION_TEST_OBJS := $(addprefix $(NATIVE_BUILD_DIR)/,$(BACKPROJECTION_TEST_SOURCES:.cpp=.o)) DEPFILES += $(BACKPROJECTION_TEST_OBJS:.o=.d) -# The sar3d processor on the real CUDA backend against the notebook reference; -# without a usable GPU the test checks the warning and skips the rest. +# The sar3d processor on the real CUDA backend against the notebook reference; without a +# usable GPU the test checks the warning and the box rules and skips the rest. check-sar3d: $(NATIVE_BUILD_DIR)/backprojection_fixture BACKPROJECTION_FIXTURE="$(abspath $<)" $(PYTHON) data_acq_and_processing/tests/test_backprojection.py Sar3dTest @@ -139,6 +142,7 @@ $(NATIVE_BUILD_DIR)/backprojection_fixture: $(BACKPROJECTION_TEST_OBJS) $(CXX) $(NATIVE_CXXFLAGS) $^ -o $@ $(LDFLAGS) $(SAR3D_LDFLAGS) $(NATIVE_BUILD_DIR)/data_acq_and_processing/processing/processors/src/sar3d_gpu.o: NATIVE_CXXFLAGS += $(SAR3D_CXXFLAGS) +$(NATIVE_BUILD_DIR)/data_acq_and_processing/processing/processors/src/sar3d_%.o: NATIVE_CXXFLAGS += $(SAR3D_HOST_FLAGS) $(NATIVE_BUILD_DIR)/data_acq_and_processing/processing/processors/src/sar3d_gpu.o: $(SAR3D_CUDA_STAMP) $(NATIVE_BUILD_DIR)/native_regressions: $(NATIVE_TEST_OBJS) @@ -159,6 +163,9 @@ $(BIN_DIR)/data_processor: $(DATA_PROCESSOR_OBJS) $(SAR3D_CUDA_STAMP) $(BUILD_DIR)/data_acq_and_processing/processing/processors/src/sar3d_gpu.o: CXXFLAGS += $(SAR3D_CXXFLAGS) $(BUILD_DIR)/data_acq_and_processing/processing/processors/src/sar3d_gpu.o: $(SAR3D_CUDA_STAMP) +# The sar3d host code breaks the same ties as NumPy (grid corners on the depth gate, range +# rings), so it is not contracted into fused multiply-adds where the target has them. +$(BUILD_DIR)/data_acq_and_processing/processing/processors/src/sar3d_%.o: CXXFLAGS += $(SAR3D_HOST_FLAGS) # Keep source-relative paths so moving a source also replaces its dependencies. $(RPH_BUILD_DIR)/%.o: %.cpp diff --git a/README.md b/README.md index 8b5cf2a..d7c47d5 100644 --- a/README.md +++ b/README.md @@ -71,13 +71,13 @@ controls, processing settings and a copy of the live plot through an embedded we - **gpr** — coherent back-projection on the ground plane, as in `Horns_motion_4x4_ground.py`, with object detection. Radar height and look angle define the slice in radar X/Z axes; the wave speed is 3×10⁸ m/s (air). -- **sar3d** — 3D SAR of the reference notebook `Multi_antenna_demonstrate_depthnorm.ipynb` +- **sar3d** — 3D SAR of the reference notebook `Multi_depthnorm_clean.ipynb` on an NVIDIA GPU through CUDA: front (X-Y), side (Z-Y), top (X-Z) and oblique maximum projections of the imaged volume. Its settings carry the notebook's parameter names; the scene window is set by the selected antennas with a 2 m X margin and height −0.5…2 m above the ground; its range extent follows - `MIN_DEPTH`/`MAX_DEPTH`, and the voxels are cubes with edge `SAR_VOXEL_M` - (default 2 cm). The radar motion is corrected from each trace's capture + `MIN_DEPTH`/`MAX_DEPTH`, and the voxel steps `SAR_VOXEL_M` X, Y and Z default to the + notebook's 2.5, 2 and 2 cm. The radar motion is corrected from each trace's capture timestamps, so the sweep timing needs no parameters. Both coherent GPR and SAR apply `PAIR_DEPTH_EQUALIZE` (on by default) before the @@ -100,7 +100,27 @@ redraw the existing result without recalculating it. Tx/Rx markers appear on the front, side and top projections in ground coordinates. A hollow square marks the peak; its size follows the contiguous half-maximum width along the volume axes (FWHM, at least one voxel). This measures the imaged response rather than the -reflector's physical dimensions. +reflector's physical dimensions. The square is left out when CLEAN objects are shown +or when the background gate empties the frame. + +**BG_GATE_ENABLE** shows a frame relative to its background, the median of the volume +over its working voxels: below 6 backgrounds the frame is empty, at 6 its maximum +appears at the cloud threshold, and from 8.5 the scale is full. **SAR_CLEAN_ENABLE** +runs the notebook's CLEAN on a one-frame aperture: always with `SAR_FRAME_RADIUS` 0, +otherwise while no previous frame is available, as after Start. It subtracts the strongest point response +from the A-scans of every pair, step by step on a 4 × 10 × 4 cm grid over the whole scene +region, until the residual is background. The search ignores `SAR_X_SIZE_M` and +`SAR_Z_SIZE_M`, so reflectors just outside a narrowed scene are subtracted too. Each object is then imaged apart and drawn in its own 0–1 +scale over the residual, so a weak object is not hidden by the sidelobes of a strong +one. **SAR_MARK_ENABLE** draws boxes around groups of CLEAN objects: red for very low +objects (like a mine), orange on the ground, blue above it, dashed grey at the scene +boundary, where the response may lie partly outside. The legend is in the title of the +3D view. Without boxes the objects are numbered with their level in backgrounds. All +three switches are on by default, like in the notebook, and the status line reports the +background ratio and the CLEAN result. The gate and CLEAN are processing settings; boxes +only redraw. Their thresholds and rules are the notebook's fixed values. Both cost time: +on a GTX 1060 with the default scene of 10 million voxels, the gate adds about 0.1 s per +frame and CLEAN about 0.4 s more. The desktop uses a light theme with white plot canvases. **Mode** stays below the **Actions** buttons while the settings sections scroll; the settings panel and @@ -222,7 +242,7 @@ The preprocessor still requires S21 calibration/reference sets. Start the GUI: Open **Preprocessing…**, use **Create Neutral S21 Sets**, then **Start**. This makes identity calibration + zero reference, preserving the simulated S21 samples. -Finer voxels increase SAR3D work as 1/`SAR_VOXEL_M`³. Increase the voxel size when +SAR3D work grows inversely with the product of the three `SAR_VOXEL_M` steps. Increase them when a faster preview matters more than spatial resolution. Processing failures appear above the plots and a failed single capture finishes with its explanation while retaining the acquired data. @@ -469,19 +489,24 @@ physical timing. Real devices, GPIO and the CUDA backend need their own hardware `check-sar3d` runs the real CUDA processor (`data_acq_and_processing/tests/test_backprojection.py`). It compares it with `sar3d_reference.npz`: compact float32/complex64 inputs, the three -maximum projections of the notebook's volume, its joint peak/level and response -widths for six compensation/normalization, equalization, background, scene and -timing cases. The expected values come from unchanged functions in cells 1 and 14 +maximum projections of the notebook's displayed volume, its peak/level, response +widths and background ratio for ten cases. Six cover compensation/normalization, +equalization, background, scene and timing. Four are frames of point reflectors in noise +for CLEAN, which also compare the objects and their boxes: with and without the background +gate, with a scene where the stop at each range's background adds steps, and with a +narrowed scene. The box rules are also checked +one by one on synthetic objects. The expected values come from unchanged functions in cells 1 and 5 of the original notebook, with each frame's previous-collection mean subtracted from its input spectra by NumPy. The same test checks the published -status for invalid input, a result too large for the ring slot, an empty and a very weak -signal. Without a usable GPU it checks only the CUDA warning and skips the rest; the -notebook itself is not needed to run it. To regenerate the reference, pass the -original notebook (it is kept outside the repository): +status for invalid input, a volume beyond float32, a result too large for the ring slot, +an empty and a very weak signal, and that the views are normalized at their peak on +finer grids. Without a usable GPU it checks only the CUDA warning and the box rules and +skips the rest; the notebook itself is not needed to run it. To regenerate the references, +pass the original notebook and the Horns script (both are kept outside the repository): ```bash .venv/bin/python data_acq_and_processing/tests/generate_backprojection_reference.py \ - --notebook /path/to/Multi_antenna_demonstrate_depthnorm.ipynb \ + --notebook /path/to/Multi_depthnorm_clean.ipynb \ --gpr-script /path/to/Horns_motion_4x4_ground.py ``` diff --git a/data_acq_and_processing/processing/data_processor/include/processing_live_config.hpp b/data_acq_and_processing/processing/data_processor/include/processing_live_config.hpp index e3d2def..ab18c85 100644 --- a/data_acq_and_processing/processing/data_processor/include/processing_live_config.hpp +++ b/data_acq_and_processing/processing/data_processor/include/processing_live_config.hpp @@ -60,12 +60,14 @@ struct ProcessingLiveConfig { float gpr_visible_z_min_m = 0.0F; float gpr_visible_z_max_m = 14.0F; // 3D SAR (sar3d processor) parameters, named after the reference notebook - // Multi_antenna_demonstrate_depthnorm.ipynb (SAR_FRAME_RADIUS, BP_GROUND_DEPTH_M, ...). + // Multi_depthnorm_clean.ipynb (SAR_FRAME_RADIUS, BP_GROUND_DEPTH_M, ...). // The band, depth gate, antenna selection, speed and look angle are the // shared gpr_* fields above. std::uint32_t sar3d_frame_radius = 0U; - // Edge of the cubic voxel: the notebook's SAR_VOXEL_M with one value for X, Y, Z. - float sar3d_voxel_m = 0.02F; + // SAR_VOXEL_M: the voxel steps along X, Y and Z. + float sar3d_voxel_x_m = 0.025F; + float sar3d_voxel_y_m = 0.02F; + float sar3d_voxel_z_m = 0.02F; float sar3d_bp_ground_depth_m = 1.25F; float sar3d_comp_range_power = 0.3F; bool sar3d_use_compensation = true; @@ -74,6 +76,8 @@ struct ProcessingLiveConfig { float sar3d_y_min_m = -0.5F; float sar3d_y_max_m = 2.0F; float sar3d_z_size_m = 0.0F; + bool sar3d_bg_gate_enabled = true; // BG_GATE_ENABLE: peak-to-background ratio for the display + bool sar3d_clean_enabled = true; // SAR_CLEAN_ENABLE: CLEAN of a one-frame aperture into objects // When true, the data_processor ignores socket-supplied `vlc` updates and // keeps using `gpr_speed_m_s` from this file. Mirrored from the GUI's // "ignore socket speed" checkbox. diff --git a/data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp b/data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp index c783972..398d82e 100644 --- a/data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp +++ b/data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp @@ -231,7 +231,9 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t config.sar3d_frame_radius = parse_u32_number(*found, "processing.sar3d_frame_radius"); } for (const auto& [key, target] : { - std::pair{"sar3d_voxel_m", &config.sar3d_voxel_m}, + std::pair{"sar3d_voxel_x_m", &config.sar3d_voxel_x_m}, + std::pair{"sar3d_voxel_y_m", &config.sar3d_voxel_y_m}, + std::pair{"sar3d_voxel_z_m", &config.sar3d_voxel_z_m}, std::pair{"sar3d_bp_ground_depth_m", &config.sar3d_bp_ground_depth_m}, std::pair{"sar3d_comp_range_power", &config.sar3d_comp_range_power}, std::pair{"sar3d_x_size_m", &config.sar3d_x_size_m}, @@ -244,6 +246,8 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t for (const auto& [key, target] : { std::pair{"sar3d_use_compensation", &config.sar3d_use_compensation}, std::pair{"sar3d_normalize_each_frame", &config.sar3d_normalize_each_frame}, + std::pair{"sar3d_bg_gate_enabled", &config.sar3d_bg_gate_enabled}, + std::pair{"sar3d_clean_enabled", &config.sar3d_clean_enabled}, }) { assign_optional(root, key, *target); } diff --git a/data_acq_and_processing/processing/processors/include/sar3d_processor.hpp b/data_acq_and_processing/processing/processors/include/sar3d_processor.hpp index 48c3b6d..4b2f198 100644 --- a/data_acq_and_processing/processing/processors/include/sar3d_processor.hpp +++ b/data_acq_and_processing/processing/processors/include/sar3d_processor.hpp @@ -8,11 +8,13 @@ namespace radar::processing { -// 3D SAR of the reference notebook Multi_antenna_demonstrate_depthnorm.ipynb on an NVIDIA -// GPU. Publishes max-projections of the normalized volume as ImageF32 payloads: -// sar3d_front (X-Y), sar3d_side (Z-Y), sar3d_top (X-Z) and sar3d_oblique (the -// notebook's 3D scene view, axes in the plane of sar3d_oblique_basis), plus -// sar3d_peak = [level, X, Y, Z] of the volume maximum. +// 3D SAR of the reference notebook Multi_depthnorm_clean.ipynb on an NVIDIA GPU. +// Publishes max-projections of the normalized volume, or of the CLEAN display, as +// ImageF32 payloads: sar3d_front (X-Y), sar3d_side (Z-Y), sar3d_top (X-Z) and +// sar3d_oblique (the notebook's 3D scene view, axes in the plane of +// sar3d_oblique_basis); sar3d_peak = [level, X, Y, Z] of the shown peak; the frame's +// sar3d_background ratio and the CLEAN sar3d_objects and sar3d_marks tables (see +// python_app/gui/controllers/renderers/sar3d.py). class Sar3dProcessor final : public ProcessorInterface { public: Sar3dProcessor(); diff --git a/data_acq_and_processing/processing/processors/src/backprojection.hpp b/data_acq_and_processing/processing/processors/src/backprojection.hpp index 77882fe..7cd6ded 100644 --- a/data_acq_and_processing/processing/processors/src/backprojection.hpp +++ b/data_acq_and_processing/processing/processors/src/backprojection.hpp @@ -3,8 +3,10 @@ #include "shared_types.hpp" #include +#include #include #include +#include #include #include #include @@ -12,6 +14,7 @@ #include #include #include +#include #include namespace radar::processing::bp { @@ -19,6 +22,16 @@ namespace radar::processing::bp { constexpr double kWaveSpeed = 3e8; // v in both reference algorithms using Background = std::unordered_map>, ipc::ComboKeyHash>; +// numpy.median: the middle value, or the mean of the middle two for an even count. +template +[[nodiscard]] auto median(std::vector values) -> double { + if (values.empty()) { throw std::logic_error("median of no values"); } + const auto middle = values.begin() + static_cast(values.size() / 2U); + std::nth_element(values.begin(), middle, values.end()); + if (values.size() % 2U == 1U) { return static_cast(*middle); } + return 0.5 * (static_cast(*middle) + static_cast(*std::max_element(values.begin(), middle))); +} + // Mean of up to count previous collections, separately for each physical pair. inline auto background_mean(std::span previous, bool enabled, std::size_t count) -> Background { @@ -159,13 +172,20 @@ inline auto equalize_depth_limit(double max_depth, double x_min, double x_max, d return std::sqrt(max_depth * max_depth + x_far * x_far + 2.5 * 2.5) + 1.5 + 0.75; } +// Radar axes (Y, Z) of a scene point at height y above the ground and z along it, for a radar +// pitched by `pitch` with its origin `height` above the ground (sar_scene_to_radar_yz). +inline auto radar_yz(double y, double z, double height, double pitch) -> std::array { + const double y0 = y - height; + return {y0 * std::cos(pitch) + z * std::sin(pitch), -y0 * std::sin(pitch) + z * std::cos(pitch)}; +} + // bp_plane_y, Horns_motion_4x4_ground.py: the ground plane in radar axes. inline auto ground_y(double z, double height, double pitch) -> double { if (std::abs(std::cos(pitch)) < 1e-6) { throw std::runtime_error("Ground BP is undefined at a look angle of 90 degrees"); } return (-height + z * std::sin(pitch)) / std::cos(pitch); } -// equalize_pairs_by_depth, Multi_antenna_demonstrate_depthnorm.ipynb, cell 1. +// equalize_pairs_by_depth, Multi_depthnorm_clean.ipynb, cell 1. // All time axes start at zero; nearest median filtering uses the upper median // for even windows, as scipy.ndimage.median_filter does. template @@ -220,10 +240,7 @@ void normalize_pair(std::span> samples, double dz, double min for (const auto sample : samples) { magnitudes.push_back(std::abs(std::complex(sample))); } } if (magnitudes.empty()) { return; } - const auto middle = magnitudes.begin() + magnitudes.size() / 2; - std::nth_element(magnitudes.begin(), middle, magnitudes.end()); - double scale = *middle; - if (magnitudes.size() % 2 == 0) { scale = 0.5 * (scale + *std::max_element(magnitudes.begin(), middle)); } + double scale = median(std::move(magnitudes)); if (!std::isfinite(scale) || scale <= 1e-15) { scale = 1.0; } for (auto& sample : samples) { sample /= static_cast(scale + 1e-15); } } diff --git a/data_acq_and_processing/processing/processors/src/sar3d_clean.cpp b/data_acq_and_processing/processing/processors/src/sar3d_clean.cpp new file mode 100644 index 0000000..e689417 --- /dev/null +++ b/data_acq_and_processing/processing/processors/src/sar3d_clean.cpp @@ -0,0 +1,558 @@ +#include "sar3d_clean.hpp" +#include "backprojection.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include + +// Port of the CLEAN and frame parts of notebook cell 5. Comments name the notebook's +// functions and constants; the constants are values the notebook checked on scenes with +// several objects, not settings. +namespace radar::processing::sar3d { +namespace { + +// CLEAN (sar_clean_components, sar_clean_frame). +constexpr double kCleanStop = 5.5; // SAR_CLEAN_STOP_BG, backgrounds of the whole volume +constexpr double kCleanRangeStop = 4.5; // SAR_CLEAN_STOP_RANGE_BG, backgrounds at the voxel range +constexpr std::size_t kCleanMaxSteps = 15U; // SAR_CLEAN_MAX_STEPS +constexpr std::array kCleanMerge{0.35, 0.50, 0.40}; // _SAR_CLEAN_MERGE_M (X, Y, Z) +constexpr std::array kCleanBox{0.40, 0.50, 0.45}; // _SAR_CLEAN_BOX_M (X, Y, Z), half-size +constexpr double kCleanPick = 0.05; // _SAR_CLEAN_PICK_M, pair peak window around the delay +constexpr double kCleanSearchSigma = 1.0; // _SAR_CLEAN_SEARCH_SIGMA, voxels +constexpr double kCleanRing = 0.25; // _SAR_CLEAN_RING_M, range ring width +constexpr std::size_t kCleanRingSmooth = 5U; // _SAR_CLEAN_RING_SMOOTH, rings +constexpr std::size_t kCleanRingMinVoxels = 300U; // _SAR_CLEAN_RING_MIN_VOXELS + +// Boxes (sar_mark_groups). +constexpr double kMarkLevel = 0.6; // _SAR_MARK_LEVEL, response height level of the peak +constexpr double kMarkMemberRel = 0.4; // _SAR_MARK_MEMBER_REL +constexpr double kMarkPad = 0.25; // _SAR_MARK_PAD_M, along X and Z +constexpr double kMarkEdgeFar = 0.25; // _SAR_MARK_EDGE_FAR_M +constexpr double kMarkEdgeNear = 0.10; // _SAR_MARK_EDGE_NEAR_M +constexpr double kMarkEdgeX = 0.20; // _SAR_MARK_EDGE_X_M +constexpr double kMarkEdgeTop = 0.40; // _SAR_MARK_EDGE_TOP_M +constexpr std::array kMarkGroup{0.8, 0.5}; // SAR_MARK_GROUP_M (X, Z) +constexpr double kMarkGround = 0.35; // SAR_MARK_GROUND_M +constexpr double kMarkLow = 0.15; // SAR_MARK_LOW_M +constexpr double kMarkLowTop = 0.45; // SAR_MARK_LOW_TOP_M + +using Scans = std::vector>; + +// numpy.interp: linear between the points of increasing `xp`, constant beyond them. +[[nodiscard]] auto interp(double x, std::span xp, std::span fp) -> double { + if (x <= xp.front()) { + return fp.front(); + } + if (x >= xp.back()) { + return fp.back(); + } + const auto j = static_cast(std::ranges::upper_bound(xp, x) - xp.begin()) - 1U; + if (xp[j] == x) { + return fp[j]; + } + return (fp[j + 1U] - fp[j]) / (xp[j + 1U] - xp[j]) * (x - xp[j]) + fp[j]; +} + +// Radar axes (Y, Z) of a scene point of the frame. +[[nodiscard]] auto radar_yz(const VolumeRequest& frame, double y, double z) -> std::array { + return bp::radar_yz(y, z, frame.ground_depth_m, frame.pitch_rad); +} + +// Axis indices [first, first + count). +struct Range { + std::size_t first = 0U; + std::size_t count = 0U; +}; + +// The axis points within `half_width` of `center`; they are contiguous on a monotonic axis. +[[nodiscard]] auto within(std::span axis, double center, double half_width) -> Range { + Range range; + for (std::size_t index = 0U; index < axis.size(); ++index) { + if (std::abs(axis[index] - center) <= half_width) { + if (range.count == 0U) { + range.first = index; + } + range.count = index - range.first + 1U; + } + } + return range; +} + +// scan += amplitude * numpy.roll(pulse, shift) +void add_pulse(std::span> scan, std::span> pulse, std::size_t shift, + std::complex amplitude) { + const std::size_t length = scan.size(); + for (std::size_t sample = 0U; sample < length; ++sample) { + const std::complex response = pulse[(sample + length - shift) % length]; + scan[sample] = std::complex(std::complex(scan[sample]) + amplitude * response); + } +} + +// Range rings of the search grid (sar_clean_range_rings): every voxel's range from the +// radar, the ring centres and the working voxels (depth gate, reference planes) of each ring. +struct Rings { + std::vector range; + std::vector centers; + std::vector> members; +}; + +[[nodiscard]] auto range_rings(const VolumeRequest& frame, const Axes& grid) -> Rings { + Rings rings; + std::vector work; + for (std::size_t iy = 0U; iy < grid.y.size(); ++iy) { + const bool reference = reference_plane(grid.y, frame.norm_edge_margin_m, iy); + for (const double z : grid.z) { + const auto [y_radar, z_radar] = radar_yz(frame, grid.y[iy], z); + const bool working = reference && z_radar >= frame.min_depth_m && z_radar <= frame.max_depth_m; + for (const double x : grid.x) { + if (working) { + work.push_back(rings.range.size()); + } + rings.range.push_back(std::sqrt(x * x + y_radar * y_radar + z_radar * z_radar)); + } + } + } + // Ring edges numpy.arange(0, R.max() + 2 ring, ring); the voxel ring is numpy.digitize - 1, clipped. + const auto edges = static_cast( + std::ceil((*std::ranges::max_element(rings.range) + 2.0 * kCleanRing) / kCleanRing)); + rings.members.resize(edges - 1U); + for (std::size_t ring = 0U; ring + 1U < edges; ++ring) { + rings.centers.push_back((static_cast(ring) + 0.5) * kCleanRing); + } + for (const auto voxel : work) { + const auto ring = std::min(static_cast(rings.range[voxel] / kCleanRing), edges - 2U); + rings.members[ring].push_back(voxel); + } + return rings; +} + +// Background at the centre of every ring (sar_clean_range_background): the median of the +// ring, filled in over sparse rings and averaged over neighbouring ones; empty when no ring +// has enough voxels. +[[nodiscard]] auto range_background(std::span volume, const Rings& rings) -> std::vector { + std::vector known_rings; + std::vector known_medians; + for (std::size_t ring = 0U; ring < rings.members.size(); ++ring) { + const auto& members = rings.members[ring]; + if (members.size() >= kCleanRingMinVoxels) { + std::vector values; + values.reserve(members.size()); + for (const auto voxel : members) { + values.push_back(volume[voxel]); + } + known_rings.push_back(static_cast(ring)); + known_medians.push_back(bp::median(std::move(values))); + } + } + if (known_rings.empty()) { + return {}; + } + const std::size_t count = rings.members.size(); + std::vector medians(count); + for (std::size_t ring = 0U; ring < count; ++ring) { + medians[ring] = interp(static_cast(ring), known_rings, known_medians); + } + // Moving average over kCleanRingSmooth rings with edge padding (numpy.convolve 'valid' + // with numpy.ones(k) / k). + const auto half = static_cast(kCleanRingSmooth / 2U); + const auto last = static_cast(count) - 1; + const double weight = 1.0 / static_cast(kCleanRingSmooth); + std::vector smoothed(count); + for (std::size_t ring = 0U; ring < count; ++ring) { + for (std::ptrdiff_t tap = -half; tap <= half; ++tap) { + const auto index = std::clamp(static_cast(ring) + tap, std::ptrdiff_t{0}, last); + smoothed[ring] += medians[static_cast(index)] * weight; + } + } + return smoothed; +} + +// The search voxel highest above its stop threshold, the lower of kCleanStop backgrounds +// of the whole volume and kCleanRangeStop backgrounds at its range; its value in units of +// that threshold. Empty voxels score 0. +[[nodiscard]] auto strongest(std::span volume, const Rings& rings) -> std::pair { + std::vector positive; + std::ranges::copy_if(volume, std::back_inserter(positive), [](float value) { return value > 0.0F; }); + const double overall = positive.empty() ? 0.0 : kCleanStop * bp::median(std::move(positive)); + const auto local = range_background(volume, rings); + std::pair best{0U, 0.0}; + for (std::size_t voxel = 0U; voxel < volume.size(); ++voxel) { + if (!(volume[voxel] > 0.0F)) { + continue; + } + double threshold = overall; + if (!local.empty()) { + threshold = std::min(overall, kCleanRangeStop * interp(rings.range[voxel], rings.centers, local)); + } + const double score = volume[voxel] / (threshold + 1e-30); + if (score > best.second) { + best = {voxel, score}; + } + } + return best; +} + +// One subtracted point response: the pair, its peak sample and the pulse amplitude there. +struct Part { + std::size_t pair = 0U; + std::size_t sample = 0U; + std::complex amplitude{}; +}; + +struct Component { + std::array point{}; // search voxel, scene X, Y, Z + std::vector parts; +}; + +// CLEAN steps on the search grid (sar_clean_components). Each step takes the search voxel +// furthest above its stop threshold and subtracts a point response from the A-scan of every +// pair at the pair's own peak near the voxel delay; `residual` keeps what remains. +template +[[nodiscard]] auto subtract_components(const Image& image, const CleanRequest& request, Scans& residual) + -> std::vector { + const VolumeRequest& frame = request.frame; + const Axes& search = request.search; + const std::size_t length = request.pulse.size(); + const std::size_t plane = search.x.size() * search.z.size(); + const auto rings = range_rings(frame, search); + // Half-width of the pair peak window in samples: _SAR_CLEAN_PICK_M of range, which is + // twice that of Tx+Rx path. + const auto pick = std::max( + 1, static_cast(std::nearbyint(2.0 * kCleanPick * frame.samples_per_metre))); + std::vector components; + while (true) { + auto volume = image(residual, search, kCleanSearchSigma); + for (std::size_t iy = 0U; iy < search.y.size(); ++iy) { + if (!reference_plane(search.y, frame.norm_edge_margin_m, iy)) { + std::fill_n(volume.begin() + static_cast(iy * plane), plane, 0.0F); + } + } + const auto [voxel, level] = strongest(volume, rings); + if (level < 1.0 || components.size() >= kCleanMaxSteps) { + return components; + } + const std::size_t ix = voxel % search.x.size(); + const std::size_t iz = voxel / search.x.size() % search.z.size(); + const std::size_t iy = voxel / plane; + Component component{.point = {search.x[ix], search.y[iy], search.z[iz]}, .parts = {}}; + const auto [y_radar, z_radar] = radar_yz(frame, search.y[iy], search.z[iz]); + const std::array target{search.x[ix], y_radar, z_radar}; // in radar axes + const auto range = [&target](const std::array& antenna) { + const double dx = target[0] - antenna[0]; + const double dy = target[1] - antenna[1]; + const double dz = target[2] - antenna[2]; + return std::sqrt(dx * dx + dy * dy + dz * dz); + }; + for (std::size_t pair = 0U; pair < frame.contributions.size(); ++pair) { + const auto& term = frame.contributions[pair]; + // Sample of the voxel's Tx+Rx path (sar_clean_pair_delays). + const auto delay = static_cast( + std::nearbyint((range(term.tx) + range(term.rx)) * frame.samples_per_metre)); + const auto low = std::max(delay - pick, 0); + const auto high = std::min(delay + pick + 1, static_cast(length)); + if (high <= low) { + continue; + } + const auto scan = std::span(residual).subspan(pair * length, length); + auto peak = static_cast(low); + for (auto sample = peak + 1U; sample < static_cast(high); ++sample) { + if (std::norm(std::complex(scan[sample])) > std::norm(std::complex(scan[peak]))) { + peak = sample; + } + } + const auto amplitude = std::complex(scan[peak]) / std::complex(request.pulse[0]); + add_pulse(scan, request.pulse, peak, -amplitude); + component.parts.push_back({.pair = pair, .sample = peak, .amplitude = amplitude}); + } + components.push_back(std::move(component)); + } +} + +// Subtractions within _SAR_CLEAN_MERGE_M of an object's first subtraction belong to that +// object (sar_clean_group). +struct Group { + std::array seed{}; + std::vector members; +}; + +[[nodiscard]] auto group(const std::vector& components) -> std::vector { + std::vector groups; + for (const auto& component : components) { + const auto near_seed = [&component](const Group& candidate) { + for (std::size_t axis = 0U; axis < 3U; ++axis) { + if (std::abs(component.point[axis] - candidate.seed[axis]) > kCleanMerge[axis]) { + return false; + } + } + return true; + }; + if (const auto found = std::ranges::find_if(groups, near_seed); found != groups.end()) { + found->members.push_back(&component); + } else { + groups.push_back({.seed = component.point, .members = {&component}}); + } + } + return groups; +} + +} // namespace + +auto frame_background(std::span values, std::span volume, const VolumeRequest& frame) + -> FrameBackground { + const Axes& grid = frame.grid; + const std::size_t plane = grid.x.size() * grid.z.size(); + if (values.size() != volume.size() || volume.size() != plane * grid.y.size()) { + throw std::runtime_error("sar3d background volumes do not match the frame grid"); + } + std::vector work; + work.reserve(volume.size()); + FrameBackground result; + for (std::size_t iy = 0U; iy < grid.y.size(); ++iy) { + if (!reference_plane(grid.y, frame.norm_edge_margin_m, iy)) { + continue; + } + for (std::size_t voxel = iy * plane; voxel < (iy + 1U) * plane; ++voxel) { + if (volume[voxel] > 0.0F) { + work.push_back(values[voxel]); + result.peak = std::max(result.peak, static_cast(values[voxel])); + } + } + } + if (!work.empty()) { + result.median = bp::median(std::move(work)); + } + return result; +} + +auto clean(Gpu& gpu, const CleanRequest& request) -> Clean { + const VolumeRequest& frame = request.frame; + const Axes& grid = frame.grid; + const std::size_t pairs = frame.contributions.size(); + const std::size_t length = request.pulse.size(); + if (pairs == 0U || request.ascans.size() != pairs * length || + request.volume.size() != grid.x.size() * grid.y.size() * grid.z.size() || !(request.level > 0.0)) { + throw std::runtime_error("sar3d CLEAN input does not match its frame"); + } + // Smoothed |BP| of the frame pairs with other A-scans on another grid (sar_abs_volume). + // The A-scans are full-length: the search grid may reach past the frame grid that the + // frame's shortened A-scans cover. + const auto image = [&gpu, &frame, length](const Scans& scans, const Axes& axes, double sigma) { + VolumeRequest imaged = frame; + imaged.grid = axes; + imaged.ascans = scans; + imaged.samples_per_ascan = length; + imaged.smooth_sigma_voxels = sigma; + gpu.image(imaged); + return gpu.download(); + }; + + Scans residual(request.ascans.begin(), request.ascans.end()); + const auto components = subtract_components(image, request, residual); + Clean result; + result.steps = components.size(); + if (components.empty()) { + result.residual_ratio = request.frame_background.ratio(); + return result; + } + // The residual in units of the frame maximum, hidden when it is background. + const auto residual_image = image(residual, grid, frame.smooth_sigma_voxels); + result.residual_ratio = frame_background(residual_image, request.volume, frame).ratio(); + result.display.assign(residual_image.size(), 0.0F); + if (!request.bg_gate || result.residual_ratio >= kBgGateShow) { + std::ranges::transform(residual_image, result.display.begin(), + [&request](float value) { return static_cast(value / request.level); }); + } + + const std::size_t grid_nx = grid.x.size(); + const std::size_t grid_nz = grid.z.size(); + for (const auto& object : group(components)) { + const auto& seed = object.seed; + // The object apart from the others: the residual plus its own subtractions, imaged on + // the frame grid around it only (sar_clean_subgrid). + const Range window_x = within(grid.x, seed[0], 2.0 * kCleanBox[0]); + const Range window_y = within(grid.y, seed[1], 2.0 * kCleanBox[1]); + const Range window_z = within(grid.z, seed[2], 2.0 * kCleanBox[2]); + if (window_x.count < 2U || window_y.count < 2U || window_z.count < 2U) { + continue; + } + const Axes local{ + .x = grid.x.subspan(window_x.first, window_x.count), + .y = grid.y.subspan(window_y.first, window_y.count), + .z = grid.z.subspan(window_z.first, window_z.count), + }; + Scans scans = residual; + for (const Component* member : object.members) { + for (const Part& part : member->parts) { + add_pulse(std::span(scans).subspan(part.pair * length, length), request.pulse, part.sample, + part.amplitude); + } + } + const auto values = image(scans, local, frame.smooth_sigma_voxels); + const std::size_t nx = local.x.size(); + const std::size_t nz = local.z.size(); + const auto at = [&values, nx, nz](std::size_t iy, std::size_t iz, std::size_t ix) { + return values[(iy * nz + iz) * nx + ix]; + }; + + // Peak within _SAR_CLEAN_BOX_M of the first subtraction. + const Range near_x = within(local.x, seed[0], kCleanBox[0]); + const Range near_y = within(local.y, seed[1], kCleanBox[1]); + const Range near_z = within(local.z, seed[2], kCleanBox[2]); + if (near_x.count == 0U || near_y.count == 0U || near_z.count == 0U) { + continue; + } + std::size_t py = near_y.first; + std::size_t pz = near_z.first; + std::size_t px = near_x.first; + for (std::size_t iy = near_y.first; iy < near_y.first + near_y.count; ++iy) { + for (std::size_t iz = near_z.first; iz < near_z.first + near_z.count; ++iz) { + for (std::size_t ix = near_x.first; ix < near_x.first + near_x.count; ++ix) { + if (at(iy, iz, ix) > at(py, pz, px)) { + py = iy; + pz = iz; + px = ix; + } + } + } + } + const double peak = at(py, pz, px); + if (!(peak > 0.0)) { + continue; + } + + // Height of the response: where the maximum over 5 x 5 voxels in Z and X around the + // peak stays at _SAR_MARK_LEVEL of the peak. + const auto column = [&](std::size_t iy) { + float maximum = 0.0F; + for (std::size_t iz = pz < 2U ? 0U : pz - 2U; iz < std::min(pz + 3U, nz); ++iz) { + for (std::size_t ix = px < 2U ? 0U : px - 2U; ix < std::min(px + 3U, nx); ++ix) { + maximum = std::max(maximum, at(iy, iz, ix)); + } + } + return maximum / peak; + }; + std::size_t y_low = py; + std::size_t y_high = py; + while (y_low > 0U && column(y_low - 1U) >= kMarkLevel) { + --y_low; + } + while (y_high + 1U < local.y.size() && column(y_high + 1U) >= kMarkLevel) { + ++y_high; + } + + // The object in its own 0-1 scale over the box around its peak. + const Range box_x = within(local.x, local.x[px], kCleanBox[0]); + const Range box_y = within(local.y, local.y[py], kCleanBox[1]); + const Range box_z = within(local.z, local.z[pz], kCleanBox[2]); + for (std::size_t iy = box_y.first; iy < box_y.first + box_y.count; ++iy) { + for (std::size_t iz = box_z.first; iz < box_z.first + box_z.count; ++iz) { + for (std::size_t ix = box_x.first; ix < box_x.first + box_x.count; ++ix) { + float& shown = result.display[((window_y.first + iy) * grid_nz + window_z.first + iz) * grid_nx + + window_x.first + ix]; + shown = std::max(shown, static_cast(at(iy, iz, ix) / peak)); + } + } + } + result.objects.push_back({ + .index = {window_y.first + py, window_z.first + pz, window_x.first + px}, + .position = {local.x[px], local.y[py], local.z[pz]}, + .y_low = local.y[y_low], + .y_high = local.y[y_high], + .level = peak / (request.frame_background.median + 1e-30), + }); + } + std::ranges::stable_sort(result.objects, std::ranges::greater{}, &CleanObject::level); + if (result.objects.empty()) { + result.display.clear(); + } + return result; +} + +auto marks(std::span objects, const VolumeRequest& frame) -> std::vector { + // Objects within SAR_MARK_GROUP_M of each other along X and Z, at any height and through + // chains of them, are one item. + std::vector parent(objects.size()); + std::iota(parent.begin(), parent.end(), 0U); + const auto root = [&parent](std::size_t index) { + while (parent[index] != index) { + index = parent[index]; + } + return index; + }; + for (std::size_t i = 0U; i < objects.size(); ++i) { + for (std::size_t j = i + 1U; j < objects.size(); ++j) { + if (std::abs(objects[i].position[0] - objects[j].position[0]) <= kMarkGroup[0] && + std::abs(objects[i].position[2] - objects[j].position[2]) <= kMarkGroup[1]) { + parent[root(i)] = root(j); + } + } + } + // Members in object order, so the strongest leads each group and the groups come in the + // order of their strongest members. + std::vector roots; + std::vector> groups; + for (std::size_t index = 0U; index < objects.size(); ++index) { + const auto found = std::ranges::find(roots, root(index)); + if (found == roots.end()) { + roots.push_back(root(index)); + groups.push_back({index}); + } else { + groups[static_cast(found - roots.begin())].push_back(index); + } + } + + const auto& x = frame.grid.x; + const auto& y = frame.grid.y; + std::vector result; + for (const auto& members : groups) { + const CleanObject& top = objects[members.front()]; + // Height of the centre: the mean height of the strong members weighted by level. + double weight = 0.0; + double weighted_height = 0.0; + double top_y = -std::numeric_limits::infinity(); + Mark mark; + mark.box = {std::numeric_limits::infinity(), -std::numeric_limits::infinity(), + std::numeric_limits::infinity(), -std::numeric_limits::infinity(), + std::numeric_limits::infinity(), -std::numeric_limits::infinity()}; + for (const auto index : members) { + const CleanObject& member = objects[index]; + if (member.level >= kMarkMemberRel * top.level) { + weight += member.level; + weighted_height += member.level * member.position[1]; + top_y = std::max(top_y, member.y_high); + } + auto& box = mark.box; + box[0] = std::min(box[0], member.position[0] - kMarkPad); + box[1] = std::max(box[1], member.position[0] + kMarkPad); + box[2] = std::min(box[2], member.y_low); + box[3] = std::max(box[3], member.y_high); + box[4] = std::min(box[4], member.position[2] - kMarkPad); + box[5] = std::max(box[5], member.position[2] + kMarkPad); + } + const double centre_y = weighted_height / weight; + // The strongest point near the scene boundary may belong to a reflector partly + // outside it, so its position and height are not yet reliable. + const double depth = radar_yz(frame, top.position[1], top.position[2])[1]; + const bool at_edge = depth >= frame.max_depth_m - kMarkEdgeFar || depth <= frame.min_depth_m + kMarkEdgeNear || + top.position[0] <= x.front() + kMarkEdgeX || top.position[0] >= x.back() - kMarkEdgeX || + top.position[1] >= y.back() - kMarkEdgeTop; + if (at_edge) { + mark.kind = MarkKind::edge; + } else if (centre_y <= kMarkLow && top_y <= kMarkLowTop) { + mark.kind = MarkKind::low; + } else if (centre_y <= kMarkGround) { + mark.kind = MarkKind::ground; + } else { + mark.kind = MarkKind::up; + } + result.push_back(mark); + } + return result; +} + +} // namespace radar::processing::sar3d diff --git a/data_acq_and_processing/processing/processors/src/sar3d_clean.hpp b/data_acq_and_processing/processing/processors/src/sar3d_clean.hpp new file mode 100644 index 0000000..5ff9ce9 --- /dev/null +++ b/data_acq_and_processing/processing/processors/src/sar3d_clean.hpp @@ -0,0 +1,91 @@ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include "sar3d_gpu.hpp" + +// Display stage of one 3D SAR frame (notebook Multi_depthnorm_clean.ipynb, cell 5): the +// frame's peak over its background, CLEAN of a one-frame image into separate objects, and +// the boxes drawn around them. +namespace radar::processing::sar3d { + +// BG_GATE_3D_SHOW and BG_GATE_3D_FULL: peak-to-background ratios at which a frame appears +// and from which it is shown at full scale. +inline constexpr double kBgGateShow = 6.0; +inline constexpr double kBgGateFull = 8.5; + +// SAR_CLEAN_GRID_M along X and Z, SAR_CLEAN_GRID_Y_M along Y: steps of the CLEAN search grid [m]. +inline constexpr std::array kCleanSearchStep{0.04, 0.10, 0.04}; + +// Background of a frame: the median over its working voxels and the maximum there +// (frame_peak_over_background). +struct FrameBackground { + double median = 0.0; + double peak = 0.0; + + [[nodiscard]] auto ratio() const -> double { return median > 0.0 ? peak / median : 0.0; } +}; + +// Background of `values` over the working voxels of `volume`, an image of `frame`: those it +// reaches from inside the depth gate (non-zero) on the reference planes (sar_work_mask). +[[nodiscard]] auto frame_background(std::span values, std::span volume, + const VolumeRequest& frame) -> FrameBackground; + +struct CleanRequest { + // Request of the frame image, a one-frame aperture; CLEAN images other A-scans with it. + VolumeRequest frame; + std::span volume; // the frame image, unscaled + double level = 0.0; // its normalization (sar_finish_volume) + FrameBackground frame_background; // of that image + // Search grid over the full scene region around the frame grid (sar_clean_search_grid). + Axes search; + std::span> ascans; // full A-scan of each frame pair, back to back + std::span> pulse; // zero-delay point response, one A-scan long + bool bg_gate = true; // BG_GATE_ENABLE +}; + +struct CleanObject { + std::array index{}; // peak voxel on the frame grid, [y, z, x] + std::array position{}; // peak, scene X, Y, Z [m] + double y_low = 0.0; // heights where the response stays at + double y_high = 0.0; // _SAR_MARK_LEVEL of the peak [m] + double level = 0.0; // peak over the frame background (level_bg) +}; + +struct Clean { + std::vector objects; // strongest first + // The residual in units of the frame maximum with every object over it in its own + // 0-1 scale, on the frame grid; empty without objects. + std::vector display; + std::size_t steps = 0U; // subtractions + double residual_ratio = 0.0; // residual peak over its background +}; + +// CLEAN of a one-frame image (sar_clean_frame): subtracts the strongest point responses +// from the A-scans until the residual is background, then images every object apart. +// Imaging leaves one of these images, not the frame, as the current volume of `gpu`. +[[nodiscard]] auto clean(Gpu& gpu, const CleanRequest& request) -> Clean; + +// Classes of the boxes; the values are their codes in the results. +enum class MarkKind : std::uint8_t { + low = 0U, // centre and top of the response near the ground (like a mine) + ground = 1U, // on the ground + up = 2U, // above the ground + edge = 3U, // strongest point near the scene boundary: not yet decidable +}; + +struct Mark { + MarkKind kind = MarkKind::edge; + std::array box{}; // X0, X1, Y0, Y1, Z0, Z1 [m] +}; + +// Boxes around groups of the CLEAN objects of an image of `frame` (sar_mark_groups); +// `objects` come strongest first, and so do the boxes. +[[nodiscard]] auto marks(std::span objects, const VolumeRequest& frame) -> std::vector; + +} // namespace radar::processing::sar3d diff --git a/data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp b/data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp index dec6acb..7468557 100644 --- a/data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp +++ b/data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp @@ -27,51 +27,31 @@ auto checked_product(std::size_t a, std::size_t b, std::size_t limit, const char return a * b; } -#ifdef SAR3D_WITH_CUDA -auto gaussian_taps(double sigma) -> std::vector { - if (!(sigma > 0.0) || !std::isfinite(sigma) || sigma > 100.0) { - throw std::runtime_error("sar3d smoothing sigma must be between 0 and 100"); +// Two points per axis, 32-bit voxel indices and coordinates representable in float. +void check_grid(const Axes& grid) { + const auto plane = checked_product(grid.x.size(), grid.z.size(), kMaxIndexedItems, "grid plane"); + (void)checked_product(plane, grid.y.size(), kMaxIndexedItems, "grid (32-bit indexing; increase SAR_VOXEL_M)"); + if (grid.x.size() < 2U || grid.y.size() < 2U || grid.z.size() < 2U) { + throw std::runtime_error("sar3d grid needs two points on every axis"); } - const int radius = static_cast(4.0 * sigma + 0.5); - std::vector weights; - double total = 0.0; - for (int k = -radius; k <= radius; ++k) { - weights.push_back(std::exp(-0.5 * k * k / (sigma * sigma))); - total += weights.back(); - } - std::vector taps; - for (const double weight : weights) { - taps.push_back(static_cast(weight / total)); - } - return taps; -} - -auto reference_plane(const VolumeRequest& request, std::size_t iy) -> bool { - const double margin = request.norm_edge_margin_m; - if (request.y.size() == 2U || request.y.back() - request.y.front() <= 2.5 * margin) { - return true; - } - return request.y[iy] >= request.y.front() + margin && request.y[iy] <= request.y.back() - margin; -} - -void choose_peak(Projections& result, const VolumeRequest& request, - std::span levels, std::span indices = {}) { - for (std::size_t iy = 0U; iy < request.y.size(); ++iy) { - if (!std::isfinite(levels[iy])) { - throw std::runtime_error("sar3d volume contains a non-finite value"); - } - if (reference_plane(request, iy) && levels[iy] > result.level) { - result.level = levels[iy]; - if (!indices.empty()) { - result.peak = {iy, indices[iy] / request.x.size(), indices[iy] % request.x.size()}; + for (const auto axis : {grid.x, grid.y, grid.z}) { + for (const double coordinate : axis) { + if (!std::isfinite(coordinate) || std::abs(coordinate) > std::numeric_limits::max()) { + throw std::runtime_error("sar3d grid contains an unsupported coordinate"); } } } } -#endif } // namespace +auto reference_plane(std::span y, double margin, std::size_t iy) -> bool { + if (y.size() == 2U || y.back() - y.front() <= 2.5 * margin) { + return true; + } + return y[iy] >= y.front() + margin && y[iy] <= y.back() - margin; +} + #ifdef SAR3D_WITH_CUDA namespace { @@ -134,11 +114,12 @@ extern "C" __global__ void backproject( if (index >= (unsigned)voxels) return; const int voxel = (int)index; const int row = voxel / nx; - // Scene -> radar axes (sar_scene_to_radar_yz). The depth gate is decided in - // double so voxels on its edge are classified like in the reference. + // Scene -> radar axes (sar_scene_to_radar_yz). The depth gate is decided in double + // and rounded like NumPy, without a fused multiply-add: the grid corners lie on its + // edge by construction and must be classified like in the reference. const double y0 = gy[row / nz] - ground_depth; const double zs = gz[row % nz]; - const double depth = -y0 * sin_p + zs * cos_p; + const double depth = __dadd_rn(__dmul_rn(-y0, sin_p), __dmul_rn(zs, cos_p)); if (depth < min_depth || depth > max_depth) { volume[voxel] = 0.0f; return; @@ -208,25 +189,48 @@ extern "C" __global__ void max_project( dst[o] = maximum; } -// Keep the first joint (y,z,x) maximum. Separate projections cannot locate it. +// Maximum of each Y plane and its first in-plane index, one block per plane, so the +// host finds the first joint (y,z,x) maximum; separate projections cannot locate it. +// A non-finite voxel makes its plane level NaN. Shared memory holds blockDim.x +// (a power of two) levels and as many indices. extern "C" __global__ void peak_planes( - const float* volume, const int plane, const int ny, float* levels, unsigned int* indices) + const float* __restrict__ volume, const int plane, float* __restrict__ levels, + unsigned int* __restrict__ indices) { - const unsigned thread = blockIdx.x * blockDim.x + threadIdx.x; - if (thread >= (unsigned)ny) return; - const int y = (int)thread; - const float* row = volume + y * plane; + extern __shared__ float best[]; + unsigned int* where = (unsigned int*)(best + blockDim.x); + __shared__ int non_finite; + if (threadIdx.x == 0) non_finite = 0; + __syncthreads(); + const float* row = volume + blockIdx.x * plane; float level = 0.0f; unsigned int index = 0u; - for (int i = 0; i < plane; ++i) { - if (!isfinite(row[i])) { levels[y] = row[i]; indices[y] = (unsigned int)i; return; } - if (row[i] > level) { level = row[i]; index = (unsigned int)i; } + for (int i = threadIdx.x; i < plane; i += blockDim.x) { + const float value = row[i]; + if (!isfinite(value)) non_finite = 1; + if (value > level) { level = value; index = (unsigned int)i; } + } + best[threadIdx.x] = level; + where[threadIdx.x] = index; + __syncthreads(); + for (unsigned int stride = blockDim.x / 2; stride > 0; stride /= 2) { + if (threadIdx.x < stride) { + const float other = best[threadIdx.x + stride]; + const unsigned int other_index = where[threadIdx.x + stride]; + if (other > best[threadIdx.x] || (other == best[threadIdx.x] && other_index < where[threadIdx.x])) { + best[threadIdx.x] = other; + where[threadIdx.x] = other_index; + } + } + __syncthreads(); + } + if (threadIdx.x == 0) { + levels[blockIdx.x] = non_finite ? __int_as_float(0x7fc00000) : best[0]; + indices[blockIdx.x] = where[0]; } - levels[y] = level; - indices[y] = index; } -// Contiguous half-maximum interval through the joint peak on each scene axis. +// Contiguous half-maximum interval through the given peak voxel on each scene axis. // Interpolate the two crossings; use one voxel as the resolution floor. extern "C" __global__ void peak_widths( const float* volume, const double* gx, const double* gy, const double* gz, @@ -281,7 +285,26 @@ extern "C" __global__ void project_oblique( } )CUDA"; -constexpr int kBlockSize = 256; +constexpr unsigned kBlockSize = 256U; + +// scipy.ndimage.gaussian_filter1d weights (truncate = 4). +auto gaussian_taps(double sigma) -> std::vector { + if (!(sigma > 0.0) || !std::isfinite(sigma) || sigma > 100.0) { + throw std::runtime_error("sar3d smoothing sigma must be between 0 and 100"); + } + const int radius = static_cast(4.0 * sigma + 0.5); + std::vector weights; + double total = 0.0; + for (int k = -radius; k <= radius; ++k) { + weights.push_back(std::exp(-0.5 * k * k / (sigma * sigma))); + total += weights.back(); + } + std::vector taps; + for (const double weight : weights) { + taps.push_back(static_cast(weight / total)); + } + return taps; +} void check(CUresult result, const char* what, bool device_required = false) { if (result != CUDA_SUCCESS) { @@ -398,18 +421,24 @@ class DeviceBuffer { }; template -[[nodiscard]] auto download(CUdeviceptr source, std::size_t count) -> std::vector { +[[nodiscard]] auto copy_to_host(CUdeviceptr source, std::size_t count) -> std::vector { std::vector values(count); check(cuMemcpyDtoH(values.data(), source, sizeof(T) * count), "download"); return values; } -// One thread per item; argument types must match the kernel signature exactly. +// `blocks` blocks of kBlockSize threads; argument types must match the kernel signature exactly. +template +void launch_blocks(CUfunction kernel, unsigned blocks, unsigned shared_bytes, Args... args) { + void* parameters[] = {static_cast(&args)...}; + check(cuLaunchKernel(kernel, blocks, 1U, 1U, kBlockSize, 1U, 1U, shared_bytes, nullptr, parameters, nullptr), + "launch"); +} + +// One thread per item. template void launch(CUfunction kernel, int items, Args... args) { - void* parameters[] = {static_cast(&args)...}; - const auto blocks = (static_cast(items) + kBlockSize - 1U) / kBlockSize; - check(cuLaunchKernel(kernel, blocks, 1U, 1U, kBlockSize, 1U, 1U, 0U, nullptr, parameters, nullptr), "launch"); + launch_blocks(kernel, (static_cast(items) + kBlockSize - 1U) / kBlockSize, 0U, args...); } } // namespace @@ -447,129 +476,193 @@ struct Gpu::Impl { CUfunction peak_planes = module.function("peak_planes"); CUfunction peak_widths = module.function("peak_widths"); CUfunction project_oblique = module.function("project_oblique"); - int smooth_radius = 0; DeviceBuffer taps; DeviceBuffer bands; - DeviceBuffer axes; + DeviceBuffer axes; // of the current volume: x, then y, then z DeviceBuffer contributions; DeviceBuffer ascans; - DeviceBuffer volume; + DeviceBuffer volume; // the current volume DeviceBuffer scratch; DeviceBuffer images; - DeviceBuffer peak_stats; + DeviceBuffer plane_stats; + int nx = 0; // current volume size; 0 before the first + int ny = 0; + int nz = 0; ~Impl() { cuCtxSetCurrent(context.handle); } - explicit Impl(std::span weights) { - smooth_radius = static_cast(weights.size() / 2U); - taps.upload(weights); + + [[nodiscard]] auto gx() const -> CUdeviceptr { return axes.pointer(); } + [[nodiscard]] auto gy() const -> CUdeviceptr { return gx() + sizeof(double) * static_cast(nx); } + [[nodiscard]] auto gz() const -> CUdeviceptr { return gy() + sizeof(double) * static_cast(ny); } + [[nodiscard]] auto voxels() const -> int { return nx * ny * nz; } + + void use_context() const { check(cuCtxSetCurrent(context.handle), "context"); } + + void require_volume() const { + if (voxels() == 0) { + throw std::runtime_error("sar3d has no current volume"); + } } - auto inverse_dft(std::span>, std::size_t, std::size_t, std::size_t) -> std::vector>; - auto project(const VolumeRequest&) -> Projections; -}; -auto Gpu::Impl::inverse_dft( - std::span> bands, - std::size_t points, - std::size_t first_bin, - std::size_t size -) -> std::vector> { - Impl& gpu = *this; - check(cuCtxSetCurrent(gpu.context.handle), "context"); - const std::size_t samples = bands.size() / points * size; - const int items = checked_int(samples, "A-scan stack"); - const CUdeviceptr input = gpu.bands.upload(bands); - const CUdeviceptr output = gpu.ascans.reserve(sizeof(std::complex) * samples); - launch(gpu.inverse_dft_kernel, items, input, checked_int(points, "band"), checked_int(first_bin, "first bin"), - checked_int(size, "A-scan"), items, output); - return download>(output, samples); -} + // There is no current volume until an update of it has succeeded. + void forget_volume() { nx = ny = nz = 0; } -auto Gpu::Impl::project(const VolumeRequest& request) -> Projections { - Impl& gpu = *this; - check(cuCtxSetCurrent(gpu.context.handle), "context"); + // Makes `grid` the grid of the current volume; returns the volume, sized for it. + auto use_grid(const Axes& grid) -> CUdeviceptr { + forget_volume(); + std::vector values(grid.x.begin(), grid.x.end()); + values.insert(values.end(), grid.y.begin(), grid.y.end()); + values.insert(values.end(), grid.z.begin(), grid.z.end()); + axes.upload(std::span(values)); + const CUdeviceptr output = volume.reserve(sizeof(float) * grid.x.size() * grid.y.size() * grid.z.size()); + nx = static_cast(grid.x.size()); + ny = static_cast(grid.y.size()); + nz = static_cast(grid.z.size()); + return output; + } - const int nx = checked_int(request.x.size(), "grid"); - const int ny = checked_int(request.y.size(), "grid"); - const int nz = checked_int(request.z.size(), "grid"); - const int voxels = checked_int(request.x.size() * request.y.size() * request.z.size(), "grid"); - const int samples = checked_int(request.samples_per_ascan, "A-scan"); + // Maximum of the current volume over the reference planes of `y`, and its first voxel. + auto plane_peak(std::span y, double margin) -> Peak { + const auto planes = static_cast(ny); + const CUdeviceptr levels = plane_stats.reserve(2U * sizeof(float) * planes); + const CUdeviceptr indices = levels + sizeof(float) * planes; + launch_blocks(peak_planes, static_cast(ny), static_cast(2U * kBlockSize * sizeof(float)), + volume.pointer(), nz * nx, levels, indices); + const auto plane_levels = copy_to_host(levels, planes); + const auto plane_indices = copy_to_host(indices, planes); + const auto row = static_cast(nx); + Peak peak; + for (std::size_t iy = 0U; iy < planes; ++iy) { + if (!std::isfinite(plane_levels[iy])) { + throw std::runtime_error("sar3d volume contains a non-finite value"); + } + if (reference_plane(y, margin, iy) && plane_levels[iy] > peak.level) { + peak.level = plane_levels[iy]; + peak.index = {iy, plane_indices[iy] / row, plane_indices[iy] % row}; + } + } + return peak; + } - std::vector axes(request.x.begin(), request.x.end()); - axes.insert(axes.end(), request.y.begin(), request.y.end()); - axes.insert(axes.end(), request.z.begin(), request.z.end()); - const CUdeviceptr gx = gpu.axes.upload(std::span(axes)); - const CUdeviceptr gy = gx + sizeof(double) * request.x.size(); - const CUdeviceptr gz = gy + sizeof(double) * request.y.size(); - const CUdeviceptr contributions = gpu.contributions.upload(request.contributions); - const CUdeviceptr ascans = gpu.ascans.upload(request.ascans); - const CUdeviceptr volume = gpu.volume.reserve(sizeof(float) * static_cast(voxels)); - const CUdeviceptr scratch = gpu.scratch.reserve(sizeof(float) * static_cast(voxels)); + auto inverse_dft( + std::span> spectra, + std::size_t points, + std::size_t first_bin, + std::size_t size + ) -> std::vector> { + use_context(); + const std::size_t samples = spectra.size() / points * size; + const int items = checked_int(samples, "A-scan stack"); + const CUdeviceptr input = bands.upload(spectra); + const CUdeviceptr output = ascans.reserve(sizeof(std::complex) * samples); + launch(inverse_dft_kernel, items, input, checked_int(points, "band"), checked_int(first_bin, "first bin"), + checked_int(size, "A-scan"), items, output); + return copy_to_host>(output, samples); + } - launch(gpu.backproject, voxels, ascans, samples, contributions, - checked_int(request.contributions.size(), "aperture"), gx, gy, gz, nx, nz, voxels, - std::cos(request.pitch_rad), std::sin(request.pitch_rad), request.ground_depth_m, - request.min_depth_m, request.max_depth_m, static_cast(request.samples_per_metre), - static_cast(request.use_compensation), request.comp_range_power, request.comp_weight_max, volume); - const int plane = nz * nx; - const auto stats = gpu.peak_stats.reserve(2U * sizeof(float) * static_cast(ny)); - launch(gpu.peak_planes, ny, volume, plane, ny, stats, stats + sizeof(float) * static_cast(ny)); - Projections raw_peak; - const auto raw_levels = download(stats, static_cast(ny)); - choose_peak(raw_peak, request, raw_levels); - // Separable Gaussian with sigma (0, s, s) over [y][z][x]: Z first, then X, like scipy. - const CUdeviceptr taps = gpu.taps.pointer(); - launch(gpu.smooth, voxels, volume, scratch, taps, gpu.smooth_radius, nx, nz, voxels, 1); - launch(gpu.smooth, voxels, scratch, volume, taps, gpu.smooth_radius, nx, nz, voxels, 0); + auto image(const VolumeRequest& request) -> Peak { + const auto weights = gaussian_taps(request.smooth_sigma_voxels); + use_context(); + try { + const CUdeviceptr output = use_grid(request.grid); + const CUdeviceptr work = scratch.reserve(sizeof(float) * static_cast(voxels())); + const CUdeviceptr terms = contributions.upload(request.contributions); + const CUdeviceptr scans = ascans.upload(request.ascans); + launch(backproject, voxels(), scans, checked_int(request.samples_per_ascan, "A-scan"), terms, + checked_int(request.contributions.size(), "aperture"), gx(), gy(), gz(), nx, nz, voxels(), + std::cos(request.pitch_rad), std::sin(request.pitch_rad), request.ground_depth_m, + request.min_depth_m, request.max_depth_m, static_cast(request.samples_per_metre), + static_cast(request.use_compensation), request.comp_range_power, request.comp_weight_max, + output); + const float raw_level = plane_peak(request.grid.y, request.norm_edge_margin_m).level; + // Separable Gaussian with sigma (0, s, s) over [y][z][x]: Z first, then X, like scipy. + const CUdeviceptr kernel = taps.upload(std::span(weights)); + const int radius = static_cast(weights.size() / 2U); + launch(smooth, voxels(), output, work, kernel, radius, nx, nz, voxels(), 1); + launch(smooth, voxels(), work, output, kernel, radius, nx, nz, voxels(), 0); + Peak peak = plane_peak(request.grid.y, request.norm_edge_margin_m); + peak.raw_level = raw_level; + return peak; + } catch (...) { + forget_volume(); + throw; + } + } - const ObliqueView& view = request.oblique; - const int front_size = ny * nx; - const int side_size = ny * nz; - const int top_size = nz * nx; - const int oblique_size = checked_int(static_cast(view.nv) * static_cast(view.nu), "view"); - const auto image_floats = static_cast(front_size) + side_size + top_size + oblique_size + 2U * ny; - const CUdeviceptr front = gpu.images.reserve(sizeof(float) * image_floats); - const CUdeviceptr side = front + sizeof(float) * static_cast(front_size); - const CUdeviceptr top = side + sizeof(float) * static_cast(side_size); - const CUdeviceptr oblique = top + sizeof(float) * static_cast(top_size); - const CUdeviceptr levels = oblique + sizeof(float) * static_cast(oblique_size); - const CUdeviceptr indices = levels + sizeof(float) * static_cast(ny); - launch(gpu.peak_planes, ny, volume, plane, ny, levels, indices); - Projections result; - result.raw_level = raw_peak.level; - const auto plane_levels = download(levels, static_cast(ny)); - const auto plane_indices = download(indices, static_cast(ny)); - choose_peak(result, request, plane_levels, plane_indices); - if (result.level > 0.0F) { - const auto widths = gpu.peak_stats.reserve(3U * sizeof(float)); - launch(gpu.peak_widths, 3, volume, gx, gy, gz, nx, ny, nz, - static_cast(result.peak[2]), static_cast(result.peak[0]), static_cast(result.peak[1]), widths); - const auto measured = download(widths, 3U); + auto download() -> std::vector { + use_context(); + require_volume(); + return copy_to_host(volume.pointer(), static_cast(voxels())); + } + + void load(const Axes& grid, std::span values) { + use_context(); + try { + check(cuMemcpyHtoD(use_grid(grid), values.data(), values.size_bytes()), "upload"); + } catch (...) { + forget_volume(); + throw; + } + } + + auto project(const std::array& peak, const ObliqueView& view) -> Projections { + use_context(); + require_volume(); + const auto [py, pz, px] = peak; + if (py >= static_cast(ny) || pz >= static_cast(nz) || + px >= static_cast(nx)) { + throw std::runtime_error("sar3d peak lies outside the volume"); + } + const int plane = nz * nx; + const int front_size = ny * nx; + const int side_size = ny * nz; + const int top_size = plane; + const int oblique_size = view.nv * view.nu; + const auto floats = static_cast(front_size) + side_size + top_size + oblique_size + 3U; + const CUdeviceptr front = images.reserve(sizeof(float) * floats); + const CUdeviceptr side = front + sizeof(float) * static_cast(front_size); + const CUdeviceptr top = side + sizeof(float) * static_cast(side_size); + const CUdeviceptr oblique = top + sizeof(float) * static_cast(top_size); + const CUdeviceptr widths = oblique + sizeof(float) * static_cast(oblique_size); + const CUdeviceptr values = volume.pointer(); + launch(max_project, front_size, values, front, front_size, nx, plane, 1, nz, nx); + launch(max_project, side_size, values, side, side_size, nz, plane, nx, nx, 1); + launch(max_project, top_size, values, top, top_size, nx, nx, 1, ny, plane); + check(cuMemsetD32(oblique, 0U, static_cast(oblique_size)), "clear"); + launch(project_oblique, voxels(), values, gx(), gy(), gz(), nx, nz, voxels(), view.u[0], view.u[1], view.u[2], + view.v[0], view.v[1], view.v[2], view.u0, view.v0, 1.0 / view.pixel_m, view.nu, view.nv, oblique); + launch(peak_widths, 3, values, gx(), gy(), gz(), nx, ny, nz, + static_cast(px), static_cast(py), static_cast(pz), widths); + Projections result; + result.front = copy_to_host(front, static_cast(front_size)); + result.side = copy_to_host(side, static_cast(side_size)); + result.top = copy_to_host(top, static_cast(top_size)); + result.oblique = copy_to_host(oblique, static_cast(oblique_size)); + const auto measured = copy_to_host(widths, 3U); std::copy(measured.begin(), measured.end(), result.target_width.begin()); + return result; } - launch(gpu.max_project, front_size, volume, front, front_size, nx, plane, 1, nz, nx); - launch(gpu.max_project, side_size, volume, side, side_size, nz, plane, nx, nx, 1); - launch(gpu.max_project, top_size, volume, top, top_size, nx, nx, 1, ny, plane); - check(cuMemsetD32(oblique, 0U, static_cast(oblique_size)), "clear"); - launch(gpu.project_oblique, voxels, volume, gx, gy, gz, nx, nz, voxels, view.u[0], view.u[1], view.u[2], - view.v[0], view.v[1], view.v[2], view.u0, view.v0, 1.0 / view.pixel_m, view.nu, view.nv, oblique); - result.front = download(front, static_cast(front_size)); - result.side = download(side, static_cast(side_size)); - result.top = download(top, static_cast(top_size)); - result.oblique = download(oblique, static_cast(oblique_size)); - return result; -} +}; #else -struct Gpu::Impl {}; +// Built without CUDA the constructor throws, so these are never reached. +struct Gpu::Impl { + [[noreturn]] static void missing() { throw CudaUnavailable("SAR3D requires an NVIDIA GPU with CUDA"); } + auto inverse_dft(std::span>, std::size_t, std::size_t, std::size_t) + -> std::vector> { missing(); } + auto image(const VolumeRequest&) -> Peak { missing(); } + auto download() -> std::vector { missing(); } + void load(const Axes&, std::span) { missing(); } + auto project(const std::array&, const ObliqueView&) -> Projections { missing(); } +}; #endif -Gpu::Gpu(double smooth_sigma_voxels) { +Gpu::Gpu() { #ifdef SAR3D_WITH_CUDA - impl_ = std::make_unique(gaussian_taps(smooth_sigma_voxels)); + impl_ = std::make_unique(); #else - (void)smooth_sigma_voxels; throw CudaUnavailable("SAR3D requires an NVIDIA GPU with CUDA; this program was built without " "nvrtc.h, cuda.h, libnvrtc or libcuda. Install CUDA and rebuild."); #endif @@ -577,7 +670,6 @@ Gpu::Gpu(double smooth_sigma_voxels) { Gpu::~Gpu() = default; -// Without CUDA the constructor throws, so the #else branches below only satisfy the compiler. auto Gpu::inverse_dft(std::span> bands, std::size_t points, std::size_t first_bin, std::size_t size) -> std::vector> { if (points == 0U || bands.empty() || bands.size() % points != 0U || !std::has_single_bit(size) || @@ -585,36 +677,20 @@ auto Gpu::inverse_dft(std::span> bands, std::size_t po throw std::runtime_error("sar3d invalid inverse FFT dimensions"); } (void)checked_product(bands.size() / points, size, kMaxIndexedItems, "A-scan stack"); -#ifdef SAR3D_WITH_CUDA return impl_->inverse_dft(bands, points, first_bin, size); -#else - throw CudaUnavailable("SAR3D requires an NVIDIA GPU with CUDA"); -#endif } -auto Gpu::project(const VolumeRequest& request) -> Projections { - const auto nx = request.x.size(), ny = request.y.size(), nz = request.z.size(); - const auto plane = checked_product(nx, nz, kMaxIndexedItems, "grid plane"); - (void)checked_product(plane, ny, kMaxIndexedItems, "grid (32-bit indexing; increase SAR_VOXEL_M)"); - const auto& view = request.oblique; - if (nx < 2U || ny < 2U || nz < 2U || request.samples_per_ascan < 2U || - request.contributions.empty() || request.samples_per_metre <= 0.0 || - !std::isfinite(request.samples_per_metre) || request.samples_per_metre > std::numeric_limits::max() || - view.nu <= 0 || view.nv <= 0 || !(view.pixel_m > 0.0) || !std::isfinite(view.pixel_m)) { - throw std::runtime_error("sar3d invalid grid, aperture, A-scan or oblique dimensions"); +auto Gpu::image(const VolumeRequest& request) -> Peak { + check_grid(request.grid); + if (request.samples_per_ascan < 2U || request.contributions.empty() || request.samples_per_metre <= 0.0 || + !std::isfinite(request.samples_per_metre) || request.samples_per_metre > std::numeric_limits::max()) { + throw std::runtime_error("sar3d invalid aperture or A-scan dimensions"); } const auto scan_count = checked_product(request.contributions.size(), request.samples_per_ascan, kMaxIndexedItems, "A-scan stack"); if (request.ascans.size() != scan_count) { throw std::runtime_error("sar3d A-scan stack does not match the aperture"); } - for (const auto axis : {request.x, request.y, request.z}) { - for (const double coordinate : axis) { - if (!std::isfinite(coordinate) || std::abs(coordinate) > std::numeric_limits::max()) { - throw std::runtime_error("sar3d grid contains an unsupported coordinate"); - } - } - } for (const auto& term : request.contributions) { if (!std::isfinite(term.weight) || term.weight < 0.0F || !std::isfinite(term.inv_reference_ranges) || term.inv_reference_ranges <= 0.0F) { @@ -626,13 +702,32 @@ auto Gpu::project(const VolumeRequest& request) -> Projections { } } } + return impl_->image(request); +} + +auto Gpu::download() -> std::vector { + return impl_->download(); +} + +void Gpu::load(const Axes& grid, std::span values) { + check_grid(grid); + if (values.size() != grid.x.size() * grid.y.size() * grid.z.size()) { + throw std::runtime_error("sar3d volume does not match its grid"); + } + // The oblique projection orders values by their bit patterns, which needs them non-negative. + if (!std::ranges::all_of(values, [](float value) { return std::isfinite(value) && value >= 0.0F; })) { + throw std::runtime_error("sar3d volume must be finite and non-negative"); + } + impl_->load(grid, values); +} + +auto Gpu::project(const std::array& peak, const ObliqueView& view) -> Projections { + if (view.nu <= 0 || view.nv <= 0 || !(view.pixel_m > 0.0) || !std::isfinite(view.pixel_m)) { + throw std::runtime_error("sar3d invalid oblique view"); + } (void)checked_product(static_cast(view.nu), static_cast(view.nv), kMaxIndexedItems, "oblique image"); -#ifdef SAR3D_WITH_CUDA - return impl_->project(request); -#else - throw CudaUnavailable("SAR3D requires an NVIDIA GPU with CUDA"); -#endif + return impl_->project(peak, view); } } // namespace radar::processing::sar3d diff --git a/data_acq_and_processing/processing/processors/src/sar3d_gpu.hpp b/data_acq_and_processing/processing/processors/src/sar3d_gpu.hpp index 623c15c..5783eae 100644 --- a/data_acq_and_processing/processing/processors/src/sar3d_gpu.hpp +++ b/data_acq_and_processing/processing/processors/src/sar3d_gpu.hpp @@ -9,8 +9,8 @@ #include // CUDA backend of the sar3d processor: A-scans of the band spectra, and the -// backprojection of an aperture into the 3D volume, smoothed and projected. -// Only the projections, peak and its axial half-maximum widths leave the backend. +// backprojection of an aperture into a smoothed 3D volume. The volume stays on the +// device for its projections and is downloaded only when its voxels are needed. namespace radar::processing::sar3d { class CudaUnavailable : public std::runtime_error { @@ -40,44 +40,57 @@ struct ObliqueView { int nv = 0; }; -struct VolumeRequest { - // Scene axes [m]: X across, Y height above the ground, Z along the ground. +// Scene axes of a volume [m]: X across, Y height above the ground, Z along the ground. +// Volumes are [y][z][x] with x fastest. +struct Axes { std::span x; std::span y; std::span z; +}; + +// Whether Y plane `iy` is clear of the grid's top and bottom `margin`: a constant-range +// ridge leaves the grid there and would set a false maximum (sar_norm_reference_mask). +[[nodiscard]] auto reference_plane(std::span y, double margin, std::size_t iy) -> bool; + +struct VolumeRequest { + Axes grid{}; double pitch_rad = 0.0; // radar tilt that maps scene axes onto radar axes double ground_depth_m = 0.0; // height of the radar axes origin above the ground double min_depth_m = 0.0; // radar-depth gate; voxels outside it stay empty double max_depth_m = 0.0; - std::span contributions; + std::span contributions{}; // One A-scan per contribution, back to back; sample k is the Tx+Rx path k / samples_per_metre. - std::span> ascans; + std::span> ascans{}; std::size_t samples_per_ascan = 0U; double samples_per_metre = 0.0; bool use_compensation = true; float comp_range_power = 0.0F; float comp_weight_max = 0.0F; - double norm_edge_margin_m = 0.0; - ObliqueView oblique{}; + double norm_edge_margin_m = 0.0; // SAR_NORM_EDGE_MARGIN_M of reference_plane + double smooth_sigma_voxels = 0.0; // Gaussian over Z and X }; -// Maximum projections of the smoothed volume (row-major), before normalization. +// Maximum of a volume over its reference planes. +struct Peak { + float level = 0.0F; // of the smoothed volume + float raw_level = 0.0F; // before smoothing + std::array index{}; // first voxel at `level`, [y, z, x] +}; + +// Maximum projections of the current volume (row-major), unscaled. struct Projections { std::vector front; // [y][x], maximum along Z std::vector side; // [y][z], maximum along X std::vector top; // [z][x], maximum along Y std::vector oblique; // [v][u] - float level = 0.0F; - float raw_level = 0.0F; - std::array peak{}; // joint voxel maximum, [y, z, x] - std::array target_width{}; // contiguous FWHM through the peak, [X, Y, Z], metres + std::array target_width{}; // contiguous FWHM through the given peak, [X, Y, Z], metres }; // CUDA context and runtime-compiled kernels. A missing device raises // CudaUnavailable; computation and compilation failures remain ordinary errors. class Gpu { public: - explicit Gpu(double smooth_sigma_voxels); + Gpu(); ~Gpu(); Gpu(const Gpu&) = delete; auto operator=(const Gpu&) -> Gpu& = delete; @@ -91,8 +104,18 @@ class Gpu { std::size_t size ) -> std::vector>; - // Backprojects, applies the Gaussian smoothing over (Z, X) and projects. - [[nodiscard]] auto project(const VolumeRequest& request) -> Projections; + // Backprojects and smooths over (Z, X) into the current volume; returns its maximum over + // the reference planes. + auto image(const VolumeRequest& request) -> Peak; + + // The current volume, [y][z][x]. + [[nodiscard]] auto download() -> std::vector; + + // Makes non-negative host values on `grid` the current volume. + void load(const Axes& grid, std::span values); + + // Max projections of the current volume and its half-maximum widths through `peak` ([y, z, x]). + [[nodiscard]] auto project(const std::array& peak, const ObliqueView& view) -> Projections; private: struct Impl; diff --git a/data_acq_and_processing/processing/processors/src/sar3d_processor.cpp b/data_acq_and_processing/processing/processors/src/sar3d_processor.cpp index 09a7457..4f62d83 100644 --- a/data_acq_and_processing/processing/processors/src/sar3d_processor.cpp +++ b/data_acq_and_processing/processing/processors/src/sar3d_processor.cpp @@ -9,23 +9,28 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include +#include #include #include +#include #include #include #include +#include "sar3d_clean.hpp" #include "sar3d_gpu.hpp" -// Port of the 3D SAR part of the reference notebook Multi_antenna_demonstrate_depthnorm.ipynb -// (cells 1 and 14). Comments name the notebook functions and constants each step +// Port of the 3D SAR part of the reference notebook Multi_depthnorm_clean.ipynb +// (cells 1 and 5). Comments name the notebook functions and constants each step // follows; the parameters keep the notebook names in the GUI. namespace radar::processing { namespace { @@ -62,7 +67,7 @@ struct Settings { double look_angle_rad = 0.0; // LOOK_ANGLE_DEG double ground_depth_m = 0.0; // BP_GROUND_DEPTH_M std::size_t frame_radius = 0U; // SAR_FRAME_RADIUS - double voxel_m = 0.0; // SAR_VOXEL_M, one edge for X, Y and Z + std::array voxel_m{}; // SAR_VOXEL_M, steps along X, Y and Z float comp_range_power = 0.0F; // COMP_RANGE_POWER bool use_compensation = true; // SAR_USE_COMPENSATION bool normalize_each_frame = true; // SAR_NORMALIZE_EACH_FRAME @@ -72,6 +77,8 @@ struct Settings { std::size_t mean_count = 10U; double x_size_m = 0.0, z_size_m = 0.0; // 0: notebook's automatic extent double y_min_m = -0.5, y_max_m = 2.0; // SAR_Y_RANGE_M + bool bg_gate_enabled = true; // BG_GATE_ENABLE + bool clean_enabled = true; // SAR_CLEAN_ENABLE // Everything the cached A-scans depend on. [[nodiscard]] auto ascan_key() const { @@ -126,7 +133,7 @@ void select_antennas( settings.look_angle_rad = static_cast(live.gpr_look_angle_deg) * (pi / 180.0); settings.ground_depth_m = live.sar3d_bp_ground_depth_m; settings.frame_radius = live.sar3d_frame_radius; - settings.voxel_m = live.sar3d_voxel_m; + settings.voxel_m = {live.sar3d_voxel_x_m, live.sar3d_voxel_y_m, live.sar3d_voxel_z_m}; settings.comp_range_power = live.sar3d_comp_range_power; settings.use_compensation = live.sar3d_use_compensation; settings.normalize_each_frame = live.sar3d_normalize_each_frame; @@ -137,6 +144,8 @@ void select_antennas( settings.z_size_m = live.sar3d_z_size_m; settings.y_min_m = live.sar3d_y_min_m; settings.y_max_m = live.sar3d_y_max_m; + settings.bg_gate_enabled = live.sar3d_bg_gate_enabled; + settings.clean_enabled = live.sar3d_clean_enabled; if (settings.x_size_m < 0.0 || settings.z_size_m < 0.0 || !(settings.y_max_m > settings.y_min_m)) { throw std::runtime_error("SAR scene sizes must be non-negative and SAR_Y_RANGE_M must increase"); } @@ -146,23 +155,20 @@ void select_antennas( if (!(settings.max_depth_m > settings.min_depth_m)) { throw std::runtime_error("MAX_DEPTH must be above MIN_DEPTH"); } - if (!(settings.voxel_m > 0.0)) { - throw std::runtime_error("SAR_VOXEL_M must be positive"); + if (!std::ranges::all_of(settings.voxel_m, [](double step) { return step > 0.0; })) { + throw std::runtime_error("SAR_VOXEL_M must be positive along X, Y and Z"); } return settings; } -// numpy.percentile with linear interpolation. -[[nodiscard]] auto percentile(std::vector values, double q) -> double { - const double position = q / 100.0 * static_cast(values.size() - 1U); - const auto lower = static_cast(position); - const auto lower_it = values.begin() + static_cast(lower); - std::nth_element(values.begin(), lower_it, values.end()); - if (lower + 1U == values.size()) { - return *lower_it; +// numpy.hanning (BP_WINDOW). +[[nodiscard]] auto hann(std::size_t count) -> std::vector { + std::vector window(count); + const auto last = static_cast(count - 1U); + for (std::size_t index = 0U; index < count; ++index) { + window[index] = 0.5 - 0.5 * std::cos(2.0 * pi * static_cast(index) / last); } - const double upper = *std::min_element(lower_it + 1, values.end()); - return *lower_it + (position - static_cast(lower)) * (upper - *lower_it); + return window; } struct Band { @@ -197,7 +203,7 @@ struct Band { steps.push_back(static_cast(frequency[points[index + 1U]]) - frequency[points[index]]); } Band band{}; - band.df_hz = percentile(std::move(steps), 50.0); + band.df_hz = bp::median(std::move(steps)); if (!(band.df_hz > 0.0)) { throw std::runtime_error("trace frequencies do not increase"); } @@ -219,17 +225,13 @@ struct Band { auto samples = bp::subtract_background(trace, background); bp::apply_motion_phase(samples, frequency, clock, settings.speed_m_s, settings.look_angle_rad, 1.0, false, settings.f_start_hz, settings.f_stop_hz); - const auto last = static_cast(points.size() - 1U); + const auto window = hann(points.size()); for (std::size_t index = 0U; index < points.size(); ++index) { - const std::size_t point = points[index]; - const double hann = 0.5 - 0.5 * std::cos(2.0 * pi * static_cast(index) / last); - const auto sample = samples[point]; + const auto sample = samples[points[index]]; if (!std::isfinite(sample.real()) || !std::isfinite(sample.imag())) { throw std::runtime_error("S21 contains a non-finite sample"); } - band.spectrum.emplace_back( - sample * hann - ); + band.spectrum.emplace_back(sample * window[index]); } return band; } @@ -240,6 +242,8 @@ struct Frame { double dt_s = 0.0; std::size_t samples = 0U; // per A-scan std::vector> ascans{}; // [pair][sample] + // A-scan of a point reflector at zero delay, the same band and window (sar_clean_unit_pulse). + std::vector> pulse{}; }; [[nodiscard]] auto compute_frame( @@ -275,11 +279,17 @@ struct Frame { } spectra.insert(spectra.end(), band.spectrum.begin(), band.spectrum.end()); } + // The pulse is the A-scan of a flat unit spectrum, computed after the pairs. + for (const double weight : hann(first.spectrum.size())) { + spectra.emplace_back(static_cast(weight)); + } Frame frame{}; frame.center_ns = timing.center_ns; frame.samples = first.size; frame.dt_s = 1.0 / (static_cast(first.size) * first.df_hz); frame.ascans = backend.inverse_dft(spectra, first.spectrum.size(), first.first_bin, first.size); + frame.pulse.assign(frame.ascans.end() - static_cast(frame.samples), frame.ascans.end()); + frame.ascans.resize(frame.ascans.size() - frame.samples); std::vector>> pairs; for (std::size_t offset = 0; offset < frame.ascans.size(); offset += frame.samples) { pairs.push_back(std::span(frame.ascans).subspan(offset, frame.samples)); @@ -316,9 +326,12 @@ struct Frame { return axis; } -[[nodiscard]] auto checked_axis_size(double count) -> std::size_t { +// Every kernel uses signed 32-bit indices; `remedy` tells how to stay within them. +constexpr std::string_view kVoxelRemedy = "increase SAR_VOXEL_M"; + +[[nodiscard]] auto checked_axis_size(double count, std::string_view remedy) -> std::size_t { if (!std::isfinite(count) || count < 1.0 || count > std::numeric_limits::max()) { - throw std::runtime_error("SAR axis exceeds 32-bit kernel indexing; increase SAR_VOXEL_M"); + throw std::runtime_error("SAR axis exceeds 32-bit kernel indexing; " + std::string(remedy)); } return static_cast(count); } @@ -327,12 +340,19 @@ struct Grid { std::vector x{}; std::vector y{}; std::vector z{}; + + [[nodiscard]] auto axes() const -> sar3d::Axes { + return {x, y, z}; + } }; -// Scene grid (sar_build_full_region_grid, 'ground' axes): Y = 0 is the ground, +// Bounds [low, high] of the scene along X, Y and Z. +using Region = std::array, 3>; + +// Scene region (sar_build_full_region_grid, 'ground' axes): Y = 0 is the ground, // Z runs along the ground and spans every point of the window whose radar depth // is inside [MIN_DEPTH, MAX_DEPTH] at some height of the window. -[[nodiscard]] auto scene_grid(const Settings& settings) -> Grid { +[[nodiscard]] auto scene_region(const Settings& settings) -> Region { const double cos_p = std::cos(settings.look_angle_rad); const double sin_p = std::sin(settings.look_angle_rad); if (std::abs(cos_p) < 1e-6) { @@ -357,24 +377,47 @@ struct Grid { z_max = std::max(z_max, z); } } - const auto resize = [](double& low, double& high, double size) { - if (size > 0.0) { const double center = (low + high) / 2.0; low = center - size / 2.0; high = center + size / 2.0; } + return {{{x_min, x_max}, {settings.y_min_m, settings.y_max_m}, {z_min, z_max}}}; +} + +// Region of the frame grid: the scene region with X and Z resized about their centres to +// SAR_X_SIZE_M and SAR_Z_SIZE_M where those are set. +[[nodiscard]] auto frame_region(Region region, const Settings& settings) -> Region { + const auto resize = [](std::array& bounds, double size) { + if (size > 0.0) { + const double center = (bounds[0] + bounds[1]) / 2.0; + bounds = {center - size / 2.0, center + size / 2.0}; + } }; - resize(x_min, x_max, settings.x_size_m); - resize(z_min, z_max, settings.z_size_m); - // Match sar_build_full_region_grid and reject oversized products before - // allocating the axes. Every downstream kernel uses signed 32-bit indices. - const auto axis_size = [&](double span) { - return checked_axis_size(std::max(std::nearbyint(span / settings.voxel_m) + 1.0, 2.0)); - }; - const auto nx = axis_size(x_max - x_min); - const auto ny = axis_size(settings.y_max_m - settings.y_min_m); - const auto nz = axis_size(z_max - z_min); - if (nx > static_cast(std::numeric_limits::max()) / ny / nz) { - throw std::runtime_error("SAR grid exceeds 32-bit kernel indexing; increase SAR_VOXEL_M"); + resize(region[0], settings.x_size_m); + resize(region[2], settings.z_size_m); + return region; +} + +// Region of the CLEAN search: the scene region around the frame grid (sar_clean_search_grid), +// grown to a frame that SAR_X_SIZE_M or SAR_Z_SIZE_M widen past it. +[[nodiscard]] auto search_region(const Region& scene, const Region& frame) -> Region { + Region region{}; + for (std::size_t axis = 0U; axis < 3U; ++axis) { + region[axis] = {std::min(scene[axis][0], frame[axis][0]), std::max(scene[axis][1], frame[axis][1])}; } - return {linspace(x_min, x_max, nx), linspace(settings.y_min_m, settings.y_max_m, ny), - linspace(z_min, z_max, nz)}; + return region; +} + +// Grid over the region with the given steps along X, Y and Z (sar_build_full_region_grid). +// Oversized products are rejected before the axes are allocated. +[[nodiscard]] auto region_grid(const Region& region, const std::array& step, std::string_view remedy) + -> Grid { + std::array count{}; + for (std::size_t axis = 0U; axis < 3U; ++axis) { + const auto [low, high] = region[axis]; + count[axis] = checked_axis_size(std::max(std::nearbyint((high - low) / step[axis]) + 1.0, 2.0), remedy); + } + if (count[0] > static_cast(std::numeric_limits::max()) / count[1] / count[2]) { + throw std::runtime_error("SAR grid exceeds 32-bit kernel indexing; " + std::string(remedy)); + } + return {linspace(region[0][0], region[0][1], count[0]), linspace(region[1][0], region[1][1], count[1]), + linspace(region[2][0], region[2][1], count[2])}; } // Cosine taper over the aperture: 1 at the centre frame, SAR_EDGE_FRAME_WEIGHT at @@ -456,10 +499,10 @@ struct Oblique { } } } - view.nu = static_cast(checked_axis_size(std::round((u_max - view.u0) / view.pixel_m) + 1.0)); - view.nv = static_cast(checked_axis_size(std::round((v_max - view.v0) / view.pixel_m) + 1.0)); + view.nu = static_cast(checked_axis_size(std::round((u_max - view.u0) / view.pixel_m) + 1.0, kVoxelRemedy)); + view.nv = static_cast(checked_axis_size(std::round((v_max - view.v0) / view.pixel_m) + 1.0, kVoxelRemedy)); if (view.nu > std::numeric_limits::max() / view.nv) { - throw std::runtime_error("SAR oblique image exceeds 32-bit kernel indexing; increase SAR_VOXEL_M"); + throw std::runtime_error("SAR oblique image exceeds 32-bit kernel indexing; " + std::string(kVoxelRemedy)); } for (int index = 0; index < view.nu; ++index) { oblique.u.push_back(view.u0 + index * view.pixel_m); @@ -512,6 +555,21 @@ struct Oblique { return payload; } +// CLEAN part of the status line (sar_display_note, sar_clean_report). +[[nodiscard]] auto clean_note(const sar3d::Clean& clean) -> std::string { + std::ostringstream note; + note << std::fixed << std::setprecision(1) << "CLEAN: "; + if (clean.objects.empty()) { + note << "no objects"; + } else { + note << clean.objects.size() << (clean.objects.size() == 1U ? " object" : " objects") + << ", each in its own scale"; + } + note << " (" << clean.steps << (clean.steps == 1U ? " subtraction" : " subtractions") + << ", residual maximum " << clean.residual_ratio << " backgrounds)"; + return note.str(); +} + [[nodiscard]] auto status_payload(float code, const std::string& message) -> ipc::ResultPayload { std::vector values{code}; for (const unsigned char byte : message) { @@ -521,6 +579,71 @@ struct Oblique { return table_payload("sar3d_status", columns, std::move(values)); } +// What the views show of one frame image (sar_prepare_display). +struct Display { + sar3d::Projections views; // the image in units of its maximum, or the CLEAN display + std::array peak{}; // marked voxel [y, z, x]: the maximum or the strongest object + std::optional background; // when BG_GATE_ENABLE or CLEAN needs it + std::optional clean; // when CLEAN ran + + [[nodiscard]] auto has_objects() const -> bool { return clean.has_value() && !clean->objects.empty(); } +}; + +// Views of the frame image of `request`, the current volume of `backend` with maximum +// `peak`. Measures the frame background when BG_GATE_ENABLE or CLEAN needs it and, when +// the aperture is the one frame `single` (nullptr for a longer aperture, as sar_clean_frame), +// runs CLEAN, whose objects then replace the image on the views. +[[nodiscard]] auto display_frame( + sar3d::Gpu& backend, + const sar3d::VolumeRequest& request, + const sar3d::Peak& peak, + double normalization, + const sar3d::ObliqueView& view, + const Settings& settings, + const Region& search_area, + const Frame* single +) -> Display { + Display display{.views = backend.project(peak.index, view), .peak = peak.index, .background = {}, .clean = {}}; + const bool run_clean = settings.clean_enabled && single != nullptr; + if (peak.level > 0.0F && (settings.bg_gate_enabled || run_clean)) { + const auto volume = backend.download(); + display.background = sar3d::frame_background(volume, volume, request); + if (run_clean) { + // The search spans the whole scene region, so responses just outside a narrowed frame + // are subtracted too. + const Grid search = region_grid(search_area, sar3d::kCleanSearchStep, + "narrow the scene or turn SAR_CLEAN_ENABLE off"); + display.clean = sar3d::clean(backend, { + .frame = request, + .volume = volume, + .level = normalization, + .frame_background = *display.background, + .search = search.axes(), + .ascans = single->ascans, + .pulse = single->pulse, + .bg_gate = settings.bg_gate_enabled, + }); + if (display.has_objects()) { + // CLEAN left one of its own images current; the display replaces it. + display.peak = display.clean->objects.front().index; + backend.load(request.grid, display.clean->display); + display.views = backend.project(display.peak, view); + return display; + } + } + } + auto& views = display.views; + for (auto* image : {&views.front, &views.side, &views.top, &views.oblique}) { + for (auto& value : *image) { + value = static_cast(static_cast(value) / normalization); + if (!std::isfinite(value)) { + throw std::runtime_error("SAR normalization exceeds the float32 range"); + } + } + } + return display; +} + } // namespace struct Sar3dProcessor::State { @@ -570,7 +693,7 @@ struct Sar3dProcessor::State { auto gpu() -> sar3d::Gpu& { if (device == nullptr && device_error == nullptr) { - try { device = std::make_unique(kSmoothSigma); } + try { device = std::make_unique(); } catch (...) { device_error = std::current_exception(); } } if (device == nullptr) { std::rethrow_exception(device_error); } @@ -617,15 +740,17 @@ struct Sar3dProcessor::State { offsets_s.push_back(1e-9 * static_cast(delta_ns)); } const auto weights = frame_weights(offsets_s); - const Grid grid = scene_grid(settings); + const Region scene = scene_region(settings); + const Region frame_area = frame_region(scene, settings); + const Grid grid = region_grid(frame_area, settings.voxel_m, kVoxelRemedy); const double cos_p = std::cos(settings.look_angle_rad); const double sin_p = std::sin(settings.look_angle_rad); std::vector> corners{}; // of the scene box, in radar axes for (const double x : {grid.x.front(), grid.x.back()}) { for (const double y : {grid.y.front(), grid.y.back()}) { for (const double z : {grid.z.front(), grid.z.back()}) { - const double y0 = y - settings.ground_depth_m; - corners.push_back({x, y0 * cos_p + z * sin_p, -y0 * sin_p + z * cos_p}); + const auto [y_radar, z_radar] = bp::radar_yz(y, z, settings.ground_depth_m, settings.look_angle_rad); + corners.push_back({x, y_radar, z_radar}); } } } @@ -666,11 +791,8 @@ struct Sar3dProcessor::State { } } - const Oblique oblique = oblique_view(grid, settings.voxel_m); - auto images = backend.project({ - .x = grid.x, - .y = grid.y, - .z = grid.z, + const sar3d::VolumeRequest request{ + .grid = grid.axes(), .pitch_rad = settings.look_angle_rad, .ground_depth_m = settings.ground_depth_m, .min_depth_m = settings.min_depth_m, @@ -683,44 +805,72 @@ struct Sar3dProcessor::State { .comp_range_power = settings.comp_range_power, .comp_weight_max = kCompRangeWeightMax, .norm_edge_margin_m = kNormEdgeMargin, - .oblique = oblique.view, - }); - + .smooth_sigma_voxels = kSmoothSigma, + }; // Normalization level and maximum over the Y planes clear of the window // edges, where a constant-range ridge leaves the grid and would set a // false maximum (sar_norm_reference_mask, sar_finish_volume, // sar_global_max_index). The level is the volume maximum, so the - // Values at excluded Y edges can exceed 1, as in sar_finish_volume. - const float level = images.level; - const auto [peak_y, peak_z, peak_x] = images.peak; + // values at excluded Y edges can exceed 1, as in sar_finish_volume. + const auto peak = backend.image(request); // The notebook normalizes before and after the linear Gaussian pass. // Combining both factors in double preserves its epsilons and avoids // float32 reciprocal overflow for a weak, nonzero signal. - const double normalization = static_cast(level) + (images.raw_level + 1e-12) * 1e-12; - for (auto* image : {&images.front, &images.side, &images.top, &images.oblique}) { - for (auto& value : *image) { - value = static_cast(static_cast(value) / normalization); - if (!std::isfinite(value)) { throw std::runtime_error("SAR normalization exceeds the float32 range"); } - } - } + const double normalization = static_cast(peak.level) + (peak.raw_level + 1e-12) * 1e-12; + // Pixels of the largest voxel step leave no gaps between projected voxels. + const Oblique oblique = oblique_view(grid, std::ranges::max(settings.voxel_m)); + auto display = display_frame(backend, request, peak, normalization, oblique.view, settings, + search_region(scene, frame_area), aperture.size() == 1U ? newest.get() : nullptr); std::vector payloads{}; - payloads.push_back(image_payload("sar3d_front", grid.x, grid.y, std::move(images.front))); - payloads.push_back(image_payload("sar3d_side", grid.z, grid.y, std::move(images.side))); - payloads.push_back(image_payload("sar3d_top", grid.x, grid.z, std::move(images.top))); - payloads.push_back(image_payload("sar3d_oblique", oblique.u, oblique.v, std::move(images.oblique))); + payloads.push_back(image_payload("sar3d_front", grid.x, grid.y, std::move(display.views.front))); + payloads.push_back(image_payload("sar3d_side", grid.z, grid.y, std::move(display.views.side))); + payloads.push_back(image_payload("sar3d_top", grid.x, grid.z, std::move(display.views.top))); + payloads.push_back(image_payload("sar3d_oblique", oblique.u, oblique.v, std::move(display.views.oblique))); std::vector basis(oblique.view.u.begin(), oblique.view.u.end()); basis.insert(basis.end(), oblique.view.v.begin(), oblique.view.v.end()); payloads.push_back(table_payload("sar3d_oblique_basis", 3U, std::move(basis))); - if (level > 0.0F) { - payloads.push_back(table_payload("sar3d_target_width", 3U, - {images.target_width[0], images.target_width[1], images.target_width[2]})); - payloads.push_back(table_payload("sar3d_peak", 4U, {static_cast(normalization), static_cast(grid.x[peak_x]), - static_cast(grid.y[peak_y]), - static_cast(grid.z[peak_z])})); + if (!(peak.level > 0.0F)) { + payloads.push_back(status_payload(1.0F, "No signal inside the selected depth range")); + return payloads; } - payloads.push_back(status_payload(level > 0.0F ? 0.0F : 1.0F, - level > 0.0F ? "CUDA" : "No signal inside the selected depth range")); + const auto [peak_y, peak_z, peak_x] = display.peak; + payloads.push_back(table_payload("sar3d_peak", 4U, { + static_cast(normalization), static_cast(grid.x[peak_x]), + static_cast(grid.y[peak_y]), static_cast(grid.z[peak_z]), + })); + if (settings.bg_gate_enabled) { + payloads.push_back(table_payload("sar3d_background", 3U, { + static_cast(display.background.value().ratio()), + static_cast(sar3d::kBgGateShow), static_cast(sar3d::kBgGateFull), + })); + } + if (display.has_objects()) { + // The objects replace the peak marker, so its width is not published. + std::vector object_rows{}; + for (const auto& object : display.clean->objects) { + for (const double coordinate : object.position) { object_rows.push_back(static_cast(coordinate)); } + object_rows.push_back(static_cast(object.level)); + } + payloads.push_back(table_payload("sar3d_objects", 4U, std::move(object_rows))); + std::vector mark_rows{}; + for (const auto& mark : sar3d::marks(display.clean->objects, request)) { + mark_rows.push_back(static_cast(mark.kind)); + for (const double edge : mark.box) { mark_rows.push_back(static_cast(edge)); } + } + payloads.push_back(table_payload("sar3d_marks", 7U, std::move(mark_rows))); + } else { + const auto& widths = display.views.target_width; + payloads.push_back(table_payload("sar3d_target_width", 3U, {widths[0], widths[1], widths[2]})); + } + std::string status = "CUDA"; + if (display.clean.has_value()) { + status += "; " + clean_note(*display.clean); + } else if (settings.clean_enabled) { + status += "; CLEAN skipped: it needs a one-frame aperture, this one has " + + std::to_string(aperture.size()) + " frames"; + } + payloads.push_back(status_payload(0.0F, status)); return payloads; } diff --git a/data_acq_and_processing/tests/backprojection_fixture.cpp b/data_acq_and_processing/tests/backprojection_fixture.cpp index 2d5d8fa..7a1ddd7 100644 --- a/data_acq_and_processing/tests/backprojection_fixture.cpp +++ b/data_acq_and_processing/tests/backprojection_fixture.cpp @@ -1,9 +1,11 @@ #include "sar3d_processor.hpp" #include "gpr_processor.hpp" +#include "../processing/processors/src/sar3d_clean.hpp" #include #include #include +#include #include #include @@ -40,11 +42,37 @@ auto collection(const Json& source) -> ipc::PreprocessedCollection { } return result; } + +// Boxes around given CLEAN objects, rows [x, y, z, y_low, y_high, level], in a scene with the +// given X and Y bounds and radar placement (sar3d::marks). +auto marks(const Json& input) -> Json { + std::vector objects; + for (const auto& row : input.at("objects")) { + objects.push_back({.index = {}, .position = {row.at(0), row.at(1), row.at(2)}, + .y_low = row.at(3), .y_high = row.at(4), .level = row.at(5)}); + } + const auto x = input.at("x").get>(); + const auto y = input.at("y").get>(); + const processing::sar3d::VolumeRequest frame{ + .grid = {x, y, {}}, + .pitch_rad = input.at("pitch").get() * (std::numbers::pi / 180.0), + .ground_depth_m = input.at("ground"), + .min_depth_m = input.at("min_depth"), + .max_depth_m = input.at("max_depth"), + }; + Json rows = Json::array(); + for (const auto& mark : processing::sar3d::marks(objects, frame)) { + Json row = Json::array({static_cast(mark.kind)}); + for (const double edge : mark.box) { row.push_back(edge); } + rows.push_back(std::move(row)); + } + return Json{{"marks", rows}}; +} } // Runs GPR or sar3d on one request or a batch, retaining processor caches. Each request holds the antenna // geometry, the live settings and the latest and previous collections; the -// published payloads go to stdout as JSON. +// published payloads go to stdout as JSON. A request with mode "marks" boxes given objects instead. int main() { try { const Json source = Json::parse(std::cin); @@ -54,6 +82,10 @@ int main() { processing::Sar3dProcessor sar; processing::GprProcessor gpr; for (const auto& input : requests) { + if (input.value("mode", "sar3d") == "marks") { + results.push_back(marks(input)); + continue; + } config::RunConfig config; config.rings.results.slot_size_bytes = input.value("slot", config.rings.results.slot_size_bytes); for (const auto& row : input.at("tx")) { @@ -62,6 +94,7 @@ int main() { for (const auto& row : input.at("rx")) { config.gpr.rx_geometry.push_back({row.at(0), row.at(1), row.at(2), row.at(3)}); } + const bool gpr_mode = input.value("mode", "sar3d") == "gpr"; processing::ProcessingLiveConfig live; live.gpr_start_freq_mhz = input.at("f_start").get() / 1e6; live.gpr_stop_freq_mhz = input.at("f_stop").get() / 1e6; @@ -69,31 +102,39 @@ int main() { live.gpr_max_depth_m = input.at("max_depth"); live.gpr_speed_m_s = input.at("speed"); live.gpr_look_angle_deg = input.at("pitch"); - live.sar3d_voxel_m = input.at("voxel"); - live.sar3d_bp_ground_depth_m = input.at("ground"); - live.sar3d_frame_radius = input.at("radius"); - live.sar3d_comp_range_power = input.at("power"); - live.sar3d_use_compensation = input.at("compensation"); - live.sar3d_normalize_each_frame = input.at("normalize"); live.pair_depth_equalize = input.value("equalize", true); live.gpr_background_subtract_enabled = input.value("subtract_mean", false); live.gpr_background_mean_count = input.value("mean_count", 10U); - live.sar3d_x_size_m = input.value("x_size", 0.0F); - live.sar3d_y_min_m = input.value("y_min", -0.5F); - live.sar3d_y_max_m = input.value("y_max", 2.0F); - live.sar3d_z_size_m = input.value("z_size", 0.0F); - live.gpr_bp_ground_depth_m = input.at("ground"); - live.gpr_range_comp_power = input.at("power"); - live.gpr_motion_mode = input.value("motion", "int_minus"); - live.gpr_object_approach_min_frames = 1; - live.gpr_remove_sidelobe_objects_enabled = false; + if (gpr_mode) { + live.gpr_bp_ground_depth_m = input.at("ground"); + live.gpr_range_comp_power = input.at("power"); + live.gpr_motion_mode = input.value("motion", "int_minus"); + live.gpr_object_approach_min_frames = 1; + live.gpr_remove_sidelobe_objects_enabled = false; + } else { + const auto& voxel = input.at("voxel"); + live.sar3d_voxel_x_m = voxel.at(0); + live.sar3d_voxel_y_m = voxel.at(1); + live.sar3d_voxel_z_m = voxel.at(2); + live.sar3d_bp_ground_depth_m = input.at("ground"); + live.sar3d_frame_radius = input.at("radius"); + live.sar3d_comp_range_power = input.at("power"); + live.sar3d_use_compensation = input.at("compensation"); + live.sar3d_normalize_each_frame = input.at("normalize"); + live.sar3d_x_size_m = input.value("x_size", 0.0F); + live.sar3d_y_min_m = input.value("y_min", -0.5F); + live.sar3d_y_max_m = input.value("y_max", 2.0F); + live.sar3d_z_size_m = input.value("z_size", 0.0F); + live.sar3d_bg_gate_enabled = input.value("bg_gate", live.sar3d_bg_gate_enabled); + live.sar3d_clean_enabled = input.value("clean", live.sar3d_clean_enabled); + } std::vector previous; for (const auto& member : input.at("previous")) { previous.push_back(collection(member)); } const auto latest = collection(input.at("latest")); for (const auto& trace : latest.traces) { config.run_combos.push_back(trace.combo); } - processing::ProcessorInterface& processor = input.value("mode", "sar3d") == "gpr" + processing::ProcessorInterface& processor = gpr_mode ? static_cast(gpr) : static_cast(sar); const auto result = processor.process_collection(config, latest, previous, live); Json payloads = Json::array(); diff --git a/data_acq_and_processing/tests/generate_backprojection_reference.py b/data_acq_and_processing/tests/generate_backprojection_reference.py index db90345..1b4d13d 100644 --- a/data_acq_and_processing/tests/generate_backprojection_reference.py +++ b/data_acq_and_processing/tests/generate_backprojection_reference.py @@ -1,6 +1,6 @@ -"""Generate SAR3D/GPR references from notebook cells 1/14 and Horns coherent BP. +"""Generate SAR3D/GPR references from notebook cells 1/5 and Horns coherent BP. -Requires the original, untracked Multi_antenna_demonstrate_depthnorm.ipynb; a missing notebook +Requires the original, untracked Multi_depthnorm_clean.ipynb; a missing notebook is an error. NumPy/SciPy execute its function/class ASTs unchanged. Only parameter values are replaced; plotting imports and the interactive top-level runs are excluded. No production SAR implementation or hand-transcribed oracle is used. @@ -16,6 +16,7 @@ import hashlib import json from pathlib import Path import tempfile +from types import SimpleNamespace import numpy as np import scipy @@ -24,7 +25,7 @@ ROOT = Path(__file__).resolve().parents[2] REFERENCE = Path(__file__).with_name("sar3d_reference.npz") -def reference_functions(source_path: Path, parameters: dict, cells: tuple[int, ...] = (1, 14)) -> tuple[dict, dict]: +def reference_functions(source_path: Path, parameters: dict, cells: tuple[int, ...] = (1, 5)) -> tuple[dict, dict]: contents = source_path.read_text(encoding="utf-8") sources = [(str(i), "".join(json.loads(contents)["cells"][i]["source"])) for i in cells] if cells else [("script", contents)] namespace = {"__name__": __name__} @@ -56,8 +57,9 @@ def scene(f_start=1e9, f_stop=4e9, points=201) -> dict: tx=[[0, -.4, 0, 0], [1, .45, .2, .05]], rx=[[0, -.2, .1, 0], [1, .3, .35, .02]], f_start=f_start, f_stop=f_stop, min_depth=1., max_depth=3., speed=.4, pitch=13., ground=.3, - voxel=.4, radius=2, power=1.5, compensation=True, normalize=True, + voxel=[.4, .4, .4], radius=2, power=1.5, compensation=True, normalize=True, equalize=True, subtract_mean=False, mean_count=1, motion="int_minus", + bg_gate=True, clean=False, ) # Match the float32 settings/geometry accepted by the native fixture. for key in ("tx", "rx"): @@ -79,6 +81,45 @@ def scene(f_start=1e9, f_stop=4e9, points=201) -> dict: return request +# Point reflectors (X, height Y, Z, amplitude) at heights of 0, 0.6 and 0.25 m. +REFLECTORS = [(.3, 0., 2.2, 1.), (-.8, .6, 2.6, .5), (1.3, .25, 1.9, .7)] + + +def point_scene(targets: list[tuple[float, float, float, float]], noise: float, seed: int, **settings) -> dict: + """Settings of one static frame of point reflectors (X, height Y, Z, amplitude) in noise, for CLEAN. + + Three Tx and three Rx at different heights resolve Y in a single frame. The voxel steps + keep the notebook's proportions, 2.5 : 2 : 2. + """ + request = dict( + tx=[[0, -.6, 0., 0.], [1, 0., .35, .02], [2, .6, .1, 0.]], + rx=[[0, -.3, .2, 0.], [1, .3, .45, .03], [2, .9, 0., .01]], + min_depth=1., max_depth=3.5, speed=0., pitch=13., ground=1., voxel=[.0625, .05, .05], radius=0, + clean=True, previous=[], + ) + request.update(settings) + for key in ("tx", "rx"): + request[key] = np.asarray(request[key], dtype=np.float32).astype(float).tolist() + frequency = np.linspace(1e9, 4e9, 201, dtype=np.float32) + cos_p, sin_p = np.cos(np.radians(request["pitch"])), np.sin(np.radians(request["pitch"])) + random = np.random.default_rng(seed) + traces = [] + for tx in request["tx"]: + for rx in request["rx"]: + samples = noise * (random.standard_normal(frequency.size) + 1j * random.standard_normal(frequency.size)) + for x, height, z, amplitude in targets: + # Scene to radar axes, as sar_scene_to_radar_yz. + y0 = height - request["ground"] + point = np.array([x, y0 * cos_p + z * sin_p, -y0 * sin_p + z * cos_p]) + path = np.linalg.norm(point - tx[1:]) + np.linalg.norm(point - rx[1:]) + samples += amplitude * np.exp(-2j * np.pi * frequency.astype(float) * path / 3e8) + samples = samples.astype(np.complex64) + traces.append(dict(input=int(rx[0]), output=int(tx[0]), start=10_000_000_000, end=10_165_000_000, + frequency=frequency.tolist(), s21=np.column_stack((samples.real, samples.imag)).tolist())) + request["latest"] = dict(id=1, timestamp=10_165_000_000, traces=traces) + return request + + def write_dataset(directory: Path, request: dict) -> list[Path]: """Supply the notebook's original config_profile/meta/NPY input contract.""" profile = {"gpr": {}, "run": {"combos": []}} @@ -115,6 +156,8 @@ def reference(notebook: Path, request: dict, directory: Path) -> tuple[dict, dic snapshots = write_dataset(directory, request) center = snapshots[-1] parameters = dict( + SAR_Y_RANGE_M=(request.get("y_min", -.5), request.get("y_max", 2.)), + BG_GATE_ENABLE=request["bg_gate"], SAR_CLEAN_ENABLE=request["clean"], SAR_MARK_ENABLE=True, INPUT_IDX=[int(row[0]) for row in request["rx"]], OUTPUT_IDX=[int(row[0]) for row in request["tx"]], F_START=request["f_start"], F_STOP=request["f_stop"], @@ -122,7 +165,7 @@ def reference(notebook: Path, request: dict, directory: Path) -> tuple[dict, dic PAIR_NORM_DEPTH_MIN=request["min_depth"], PAIR_NORM_DEPTH_MAX=request["max_depth"], SPEED_M_S=request["speed"], LOOK_ANGLE_DEG=request["pitch"], BP_GROUND_DEPTH_M=request["ground"], COMP_RANGE_POWER=request["power"], - SAR_VOXEL_M=(request["voxel"],) * 3, SAR_FRAME_RADIUS=request["radius"], + SAR_VOXEL_M=tuple(request["voxel"]), SAR_FRAME_RADIUS=request["radius"], SAR_USE_COMPENSATION=request["compensation"], SAR_NORMALIZE_EACH_FRAME=request["normalize"], PAIR_DEPTH_EQUALIZE=request["equalize"], SAR_SCAN_ROOT=directory, DATA_PATH=center, BG_PATH=directory, v=3e8, @@ -150,31 +193,76 @@ def reference(notebook: Path, request: dict, directory: Path) -> tuple[dict, dic motion_phase_sign=ns["MOTION_PHASE_SIGN"], ) timestamps, _ = ns["compute_pair_timestamps_for_snapshot"](center, config) - grid = ns["sar_build_full_region_grid"](config, y_range_m=(request.get("y_min", -.5), request.get("y_max", 2.))) - for axis in ("x", "z"): - size = request.get(f"{axis}_size", 0.) + grid = ns["sar_build_full_region_grid"](config) + for index, axis in ((0, "x"), (2, "z")): + size, step = request.get(f"{axis}_size", 0.), request["voxel"][index] if size: center_axis = .5 * (grid[axis][0] + grid[axis][-1]) - grid[axis] = np.linspace(center_axis - size/2, center_axis + size/2, max(round(size/request["voxel"])+1, 2)) + grid[axis] = np.linspace(center_axis - size/2, center_axis + size/2, max(round(size/step)+1, 2)) grid["XX"], grid["ZZ"] = np.meshgrid(grid["x"], grid["z"]) ns["x_min"], ns["x_max"] = grid["x"][0], grid["x"][-1] result = ns["sar_compute_volume"](center, None, config, timestamps, grid=grid, verbose=False) - volume, grid = result["volume"], result["grid"] - iy, iz, ix = ns["sar_global_max_index"](volume, grid) - from scipy.signal import peak_widths - widths = [] - for axis, peak_index, profile in (("x", ix, volume[iy, iz, :]), ("y", iy, volume[:, iz, ix]), ("z", iz, volume[iy, :, ix])): - profile = np.asarray(profile, dtype=np.float64) - width, *_ = peak_widths(profile, [peak_index], prominence_data=(np.array([profile[peak_index]]), - np.array([0], dtype=np.intp), np.array([len(profile)-1], dtype=np.intp))) - widths.append(max(float(width[0]), 1.) * (grid[axis][1]-grid[axis][0])) + # What the processor publishes: the frame volume, or the CLEAN display when CLEAN found + # objects, and the peak it marks; the background gain stays to the GUI. + ns["sar_prepare_display"](result, None, timestamps) + objects = result["clean_objects"] or [] + volume, grid = result["display_volume"] if objects else result["volume"], result["grid"] + iy, iz, ix = result["display_max_idx"] expected = {axis: grid[axis] for axis in "xyz"} - expected["target_width"] = np.asarray(widths) expected.update(front=volume.max(axis=1), side=volume.max(axis=2), top=volume.max(axis=0), peak=np.array([result["level"], grid["x"][ix], grid["y"][iy], grid["z"][iz]])) + if not objects: + # Width of the response through the marked maximum; objects are marked instead. + from scipy.signal import peak_widths + widths = [] + for axis, peak_index, profile in (("x", ix, volume[iy, iz, :]), ("y", iy, volume[:, iz, ix]), + ("z", iz, volume[iy, :, ix])): + profile = np.asarray(profile, dtype=np.float64) + width, *_ = peak_widths(profile, [peak_index], prominence_data=(np.array([profile[peak_index]]), + np.array([0], dtype=np.intp), np.array([len(profile)-1], dtype=np.intp))) + widths.append(max(float(width[0]), 1.) * (grid[axis][1]-grid[axis][0])) + expected["target_width"] = np.asarray(widths) + if request["bg_gate"]: + expected["background"] = np.array([result["bg_ratio"], ns["BG_GATE_3D_SHOW"], ns["BG_GATE_3D_FULL"]]) + if result["clean_info"] is not None: + expected["clean"] = np.array([result["clean_info"]["steps"], result["clean_info"]["residual_ratio"]]) + if objects: + kinds = {"low": 0, "ground": 1, "up": 2, "edge": 3} + expected["objects"] = np.array([[item["x"], item["y"], item["z"], item["level_bg"]] for item in objects]) + expected["marks"] = np.array([[kinds[group["kind"]], *group["box"]] for group in result["mark_groups"]]) return expected, hashes +def marks_reference(notebook: Path) -> tuple[dict, np.ndarray]: + """sar_mark_groups on synthetic CLEAN objects, each of which tests one rule of the boxes. + + Returns the fixture's "marks" request and the expected rows [class, X0, X1, Y0, Y1, Z0, Z1]. + """ + scene = dict(x=[-2.6, 2.9], y=[-.5, 2.], pitch=13., ground=1., min_depth=1., max_depth=3.5) + objects = [ # [x, y, z, y_low, y_high, level], strongest first + [0., 0., 2., -.1, .3, 60.], # low + [1., .05, 2.2, -.1, .6, 55.], # centre low, top above SAR_MARK_LOW_TOP_M: ground + [-1., .3, 2.4, .1, .5, 50.], # ground + [-.2, .45, 3., .25, .65, 45.], # up while its weak member (last) stays out of the centre + [-1.6, 0., 1.3, -.1, .3, 40.], # a chain of three: the ends are 1.4 m apart, still one box + [-.9, .1, 1.3, -.1, .35, 35.], + [-.2, .05, 1.3, -.15, .3, 30.], + [-2.5, .2, 2., 0., .4, 28.], # near the X minimum: edge + [2.75, .2, 2., 0., .4, 26.], # near the X maximum: edge + [2.2, .1, 3.2, -.1, .3, 24.], # near MAX_DEPTH: edge + [2.2, 0., .85, -.2, .2, 22.], # near MIN_DEPTH: edge + [1.2, 1.7, 2.8, 1.5, 1.9, 20.], # near the top: edge + [.2, -.4, 3.1, -.5, -.25, 15.], # weak member of the "up" box, below 40 % of its top + ] + ns, _ = reference_functions(notebook, dict(BP_GROUND_DEPTH_M=scene["ground"], MIN_DEPTH=scene["min_depth"], + MAX_DEPTH=scene["max_depth"])) + groups = ns["sar_mark_groups"]( + [dict(zip(("x", "y", "z", "y_lo", "y_hi", "level_bg"), row)) for row in objects], + {axis: np.asarray(scene[axis]) for axis in "xy"}, SimpleNamespace(look_angle_deg=scene["pitch"])) + kinds = {"low": 0, "ground": 1, "up": 2, "edge": 3} + return dict(mode="marks", objects=objects, **scene), np.array([[kinds[g["kind"]], *g["box"]] for g in groups]) + + def previous_mean(request: dict) -> dict: samples = {} if request["subtract_mean"] and request["mean_count"]: @@ -258,17 +346,32 @@ def generate(notebook: Path, output: Path) -> None: cases = [ dict(compensation=True, normalize=True), dict(compensation=True, normalize=False, equalize=False, speed=-.2, pitch=-7., ground=.5), - dict(compensation=False, normalize=True, f_start=1.3e9, f_stop=3.7e9), + # Three different voxel steps: each axis keeps its own. + dict(compensation=False, normalize=True, f_start=1.3e9, f_stop=3.7e9, voxel=[.45, .4, .35]), dict(compensation=False, normalize=False, speed=0., pitch=0., radius=0), dict(compensation=True, normalize=True, subtract_mean=True, mean_count=1), dict(compensation=True, normalize=True, x_size=3., z_size=2., y_min=-.2, y_max=1.4), + # CLEAN stops below its thresholds; the background gate hides the residual. + point_scene(REFLECTORS, noise=.02, seed=1), + # CLEAN stops at SAR_CLEAN_MAX_STEPS; without the gate the residual stays visible. + point_scene(REFLECTORS, noise=.01, seed=3, bg_gate=False), + # The stop at the background of each range (SAR_CLEAN_STOP_RANGE_BG) adds two steps to + # those of the stop at the background of the whole volume. + point_scene([(.2, 0., 2., 1.), (-.5, .1, 4.4, .08)], noise=.01, seed=4, max_depth=5.), + # A narrowed frame: CLEAN still searches the whole scene, so the reflector at X = -0.8 m + # just outside the frame is subtracted instead of its sidelobe becoming an object. + point_scene(REFLECTORS, noise=.02, seed=19, x_size=1.6, z_size=.8), ] arrays, configurations = {}, [] for index, settings in enumerate(cases): request = scene() request.update(settings) - for key in ("min_depth", "max_depth", "speed", "pitch", "ground", "voxel", "power"): - request[key] = float(np.float32(request[key])) + # Match the float32 live settings of the native fixture. + for key in ("min_depth", "max_depth", "speed", "pitch", "ground", "power", + "x_size", "z_size", "y_min", "y_max"): + if key in request: + request[key] = float(np.float32(request[key])) + request["voxel"] = [float(np.float32(step)) for step in request["voxel"]] if index == 1: # A separate, unequal capture window per output instead of interleaving. for member in [*request["previous"], request["latest"]]: @@ -288,10 +391,13 @@ def generate(notebook: Path, output: Path) -> None: )) arrays.update({f"case_{index}_{key}": value for key, value in expected.items()}) arrays["cases"] = np.array(json.dumps(configurations, separators=(",", ":"))) + marks_request, arrays["marks"] = marks_reference(notebook) + arrays["marks_request"] = np.array(json.dumps(marks_request)) arrays["provenance"] = np.array(json.dumps(dict( - notebook=notebook.name, cell_source_sha256=hashes, cells=[1, 14], cases=len(cases), + notebook=notebook.name, cell_source_sha256=hashes, cells=[1, 5], cases=len(cases), numpy=np.__version__, scipy=scipy.__version__, - method="Unchanged notebook AST functions; per-frame NumPy previous-mean subtraction; max projections of sar_compute_volume output", + method="Unchanged notebook AST functions; per-frame NumPy previous-mean subtraction; " + "max projections of the sar_prepare_display volume, its background, CLEAN objects and marks", ), sort_keys=True)) output.parent.mkdir(parents=True, exist_ok=True) np.savez_compressed(output, **arrays) @@ -300,7 +406,7 @@ def generate(notebook: Path, output: Path) -> None: if __name__ == "__main__": parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("--notebook", type=Path, default=ROOT / "Multi_antenna_demonstrate_depthnorm.ipynb") + parser.add_argument("--notebook", type=Path, default=ROOT / "Multi_depthnorm_clean.ipynb") parser.add_argument("--output", type=Path, default=REFERENCE) parser.add_argument("--gpr-script", type=Path, default=ROOT / "Horns_motion_4x4_ground.py") parser.add_argument("--gpr-output", type=Path, default=REFERENCE.with_name("gpr_reference.npz")) diff --git a/data_acq_and_processing/tests/gpr_reference.npz b/data_acq_and_processing/tests/gpr_reference.npz index c137e878a9a8e1b0131a9263541178cca80e9a93..63546b38e8c5e5dfb05d1a98b7646e91253742ee 100644 GIT binary patch delta 141580 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 XYSjNfH}JvX$Yp?oy4Okp+WLP1=i*2} delta 147072 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 Hp!|OUqqT+V diff --git a/data_acq_and_processing/tests/native_regressions.cpp b/data_acq_and_processing/tests/native_regressions.cpp index 9a0dfad..287bd07 100644 --- a/data_acq_and_processing/tests/native_regressions.cpp +++ b/data_acq_and_processing/tests/native_regressions.cpp @@ -210,9 +210,12 @@ void test_configuration(const std::string& seed_path, const Workspace& workspace } const auto live_path = workspace.path / "live.json"; std::ofstream(live_path) << Json{{"bscan_gain", 2}, {"settings_revision", 11}, + {"sar3d_bg_gate_enabled", false}, {"sar3d_clean_enabled", false}, {"legacy_gpr_mode", false}, {"relative_permittivity", "obsolete"}}; processing::ProcessingLiveConfigLoader loader(live_path.string(), config); - require(loader.refresh_if_needed().bscan_gain == 2, "valid live config did not load"); + const auto loaded = loader.refresh_if_needed(); + require(loaded.bscan_gain == 2 && !loaded.sar3d_bg_gate_enabled && !loaded.sar3d_clean_enabled, + "valid live config did not load"); const auto revision = loader.revision(); for (const auto& invalid : {Json{{"bscan_gain", 1e100}}, Json{{"gpr_input_positions", {0.0000001}}}, Json{{"bscan_gain", true}}, diff --git a/data_acq_and_processing/tests/sar3d_reference.npz b/data_acq_and_processing/tests/sar3d_reference.npz index 841b989bc92eb419b43939fc19573c86781c3248..8a5edc4412625227e7d7762322fbfbbf159af2c2 100644 GIT binary patch literal 419048 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

O|V++ZCWz&vJe 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∓ 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 delta 70241 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�Ag=T9AS%2woN*88^_pieX7ID3(IKy5RT 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 NcLn9=C`L`o`vv;2GaCQ^ diff --git a/data_acq_and_processing/tests/test_backprojection.py b/data_acq_and_processing/tests/test_backprojection.py index 47de655..b23e5c7 100644 --- a/data_acq_and_processing/tests/test_backprojection.py +++ b/data_acq_and_processing/tests/test_backprojection.py @@ -2,8 +2,9 @@ Every case runs build/native_tests/backprojection_fixture (BACKPROJECTION_FIXTURE overrides it). Without a usable GPU the processor publishes sar3d_status 3: then only that -warning is checked and the remaining tests are skipped. The notebook is needed -only to regenerate sar3d_reference.npz with generate_backprojection_reference.py. +warning and the box rules, which are host code, are checked, and the remaining tests +are skipped. The notebook is needed only to regenerate the references with +generate_backprojection_reference.py. """ from __future__ import annotations @@ -11,6 +12,7 @@ import copy import json import os from pathlib import Path +import re import subprocess import unittest @@ -90,22 +92,80 @@ class Sar3dTest(unittest.TestCase): rtol=2e-6, atol=1e-6) np.testing.assert_allclose(np.asarray(payload["image"]).reshape(expected.shape), expected, rtol=2e-3, atol=3e-4) - np.testing.assert_allclose(payloads["sar3d_target_width"]["table"], - self.reference[f"case_{index}_target_width"], rtol=2e-3, atol=2e-4) + widths = self.reference.get(f"case_{index}_target_width") + if widths is None: + self.assertNotIn("sar3d_target_width", payloads) + else: + np.testing.assert_allclose(payloads["sar3d_target_width"]["table"], widths, rtol=2e-3, atol=2e-4) peak = payloads["sar3d_peak"]["table"] expected_peak = self.reference[f"case_{index}_peak"] np.testing.assert_allclose(peak[1:], expected_peak[1:], rtol=0, atol=2e-6) np.testing.assert_allclose(peak[0], expected_peak[0], rtol=2e-3, atol=0) + self.check_display(index, payloads) + + def check_display(self, index: int, payloads: dict[str, dict]) -> None: + """Background, CLEAN objects and boxes against sar_prepare_display. + + Steps at the noise level may pick a neighbouring A-scan sample where two samples are + equal to float32 precision; the reference scenes were checked to keep their decisions + with the kernels compiled without fused multiply-adds. + """ + background = self.reference.get(f"case_{index}_background") + if background is None: + self.assertNotIn("sar3d_background", payloads) + else: + np.testing.assert_allclose(payloads["sar3d_background"]["table"], background, rtol=2e-3, atol=0) + objects = self.reference.get(f"case_{index}_objects") + if objects is None: + self.assertNotIn("sar3d_objects", payloads) + self.assertNotIn("sar3d_marks", payloads) + else: + table = np.reshape(payloads["sar3d_objects"]["table"], (-1, 4)) + np.testing.assert_allclose(table[:, :3], objects[:, :3], rtol=0, atol=2e-6) + np.testing.assert_allclose(table[:, 3], objects[:, 3], rtol=2e-3, atol=0) + np.testing.assert_allclose(np.reshape(payloads["sar3d_marks"]["table"], (-1, 7)), + self.reference[f"case_{index}_marks"], rtol=0, atol=2e-6) + clean = self.reference.get(f"case_{index}_clean") + if clean is not None: + message = status(payloads)[1] + match = re.search(r"\((\d+) subtractions?, residual maximum ([\d.]+) backgrounds\)", message) + assert match is not None, message + self.assertEqual(int(match[1]), clean[0]) + self.assertAlmostEqual(float(match[2]), clean[1], delta=0.051) + + def test_clean_needs_a_one_frame_aperture(self) -> None: + # The actual aperture decides, as in sar_clean_frame: three frames skip CLEAN, while the + # first frame of a run is a one-frame aperture even with SAR_FRAME_RADIUS = 2. + skipped = run(self.scene(clean=True)) + code, message = status(skipped) + self.assertEqual(code, 0, message) + self.assertIn("CLEAN skipped: it needs a one-frame aperture, this one has 3 frames", message) + self.assertNotIn("sar3d_objects", skipped) + code, message = status(run(self.scene(clean=True, previous=[]))) + self.assertEqual(code, 0, message) + self.assertIn("; CLEAN: ", message) + + def test_boxes_follow_the_notebook_rules(self) -> None: + # Host code only, so it runs without a GPU as well. + request = json.loads(self.reference["marks_request"].item()) + output = subprocess.run([str(FIXTURE)], input=json.dumps(request), text=True, + capture_output=True, timeout=30, check=True) + np.testing.assert_allclose(json.loads(output.stdout)["marks"], self.reference["marks"], rtol=0, atol=1e-9) def test_invalid_input_is_an_error_with_a_reason(self) -> None: def no_traces(request): request["latest"]["traces"] = [] def empty_window(request): request["latest"]["traces"][0]["end"] = request["latest"]["traces"][0]["start"] def falling_frequency(request): request["latest"]["traces"][0]["frequency"].reverse() + def overflow(request): + for trace in request["latest"]["traces"]: + samples = np.asarray(trace["s21"]) + trace["s21"] = (samples / np.abs(samples).max() * 1e38).tolist() for name, settings, damage in ( ("no traces", {}, no_traces), ("empty capture window", {}, empty_window), ("falling frequency", {}, falling_frequency), - ("grid beyond 32-bit indexing", {"voxel": 1e-8}, None), + ("volume beyond float32", {"previous": [], "radius": 0, "normalize": False, "equalize": False}, overflow), + ("grid beyond 32-bit indexing", {"voxel": [1e-8] * 3}, None), ("vertical look angle", {"pitch": 90}, None), ("result larger than the ring slot", {"slot": 1024}, None), ): @@ -117,6 +177,20 @@ class Sar3dTest(unittest.TestCase): self.assertEqual(code, 2, message) self.assertTrue(message) + def test_views_are_normalized_at_the_peak_of_the_reference_planes(self) -> None: + # Fine grids spread every Y plane over all threads of the per-plane maximum. + for voxel in (.05, .06, .07, .08, .09, .11): + with self.subTest(voxel=voxel): + payloads = run(self.scene(voxel=[voxel] * 3)) + self.assertEqual(status(payloads)[0], 0, status(payloads)) + front = payloads["sar3d_front"] + x, y = np.asarray(front["x"]), np.asarray(front["y"]) + image = np.where(((y >= y[0] + .3) & (y <= y[-1] - .3))[:, None], + np.reshape(front["image"], (len(y), len(x))), -1.) + row, column = np.unravel_index(np.argmax(image), image.shape) + self.assertAlmostEqual(float(image[row, column]), 1., places=5) + np.testing.assert_allclose(payloads["sar3d_peak"]["table"][1:3], [x[column], y[row]], rtol=0, atol=1e-6) + def test_cached_aperture_updates_when_previous_mean_context_changes(self) -> None: request = self.scene(subtract_mean=True, mean_count=1) shorter = copy.deepcopy(request) @@ -133,6 +207,7 @@ class Sar3dTest(unittest.TestCase): payloads = run(request) self.assertEqual(status(payloads)[0], 1) self.assertNotIn("sar3d_peak", payloads) + self.assertNotIn("sar3d_background", payloads) for name in VIEWS: self.assertFalse(np.any(payloads[name]["image"])) diff --git a/device_firmware/librevna_protocol.md b/device_firmware/librevna_protocol.md index 25c4da8..a3efb54 100644 --- a/device_firmware/librevna_protocol.md +++ b/device_firmware/librevna_protocol.md @@ -287,16 +287,30 @@ GUI публикует настройки через `processing_live.json`; ф действуют в обоих режимах: среднее предыдущих коллекций вычитается до IFFT. Плоскость coherent GPR — земля с высотой `gpr_bp_ground_depth_m` и наклоном `gpr_look_angle_deg`. SAR использует `sar3d_frame_radius` предыдущих кадров и -текущий. Размеры сцены: `sar3d_x_size_m`, `sar3d_z_size_m` (0 — автоматически), +текущий; шаги вокселя по X, Y и Z — `sar3d_voxel_x_m`, `sar3d_voxel_y_m`, `sar3d_voxel_z_m`. Размеры сцены: `sar3d_x_size_m`, `sar3d_z_size_m` (0 — автоматически), `sar3d_y_min_m`, `sar3d_y_max_m` — наземные координаты, независимо от depth gate. +`sar3d_bg_gate_enabled` (BG_GATE_ENABLE) и `sar3d_clean_enabled` (SAR_CLEAN_ENABLE), +boolean, по умолчанию true: отношение максимума кадра к его фону и CLEAN апертуры +из одного кадра. -SAR публикует `sar3d_target_width` как TableF32 с тремя колонками [X,Y,Z]: -ширины непрерывного отклика на половине максимума по осевым сечениям через -совместный максимум сглаженного объёма (метры, не меньше одного вокселя). -`sar3d_peak` по-прежнему содержит [уровень,X,Y,Z]. GUI использует ширины для -квадратного контура цели. Зум и `SAR_CLOUD_THRESHOLD` — настройки отображения -desktop/веба; в live-файл не входят, ревизию и расчёт не меняют. RSL3 не меняется: -новая таблица использует существующий тип payload. +SAR публикует `sar3d_peak` как TableF32 [уровень нормировки,X,Y,Z] отмеченного +максимума и, если объектов CLEAN нет, `sar3d_target_width` с тремя колонками [X,Y,Z]: +ширины непрерывного отклика на половине максимума по осевым сечениям через этот +максимум сглаженного объёма (метры, не меньше одного вокселя). GUI использует ширины +для квадратного контура цели. Без сигнала (статус 1) этих таблиц нет. Остальные +таблицы TableF32: + +- `sar3d_background` — [максимум/фон, BG_GATE_3D_SHOW, BG_GATE_3D_FULL], только при + `sar3d_bg_gate_enabled` и сигнале; множитель шкалы считает GUI с порогом облака. +- `sar3d_objects` — объекты CLEAN, сильнейший первым, строки [X,Y,Z,уровень в фонах]. + Если они есть, проекции — остаток в долях максимума кадра с каждым объектом в своей + шкале 0–1, а `sar3d_peak` указывает на первый объект. +- `sar3d_marks` — рамки групп объектов, строки [класс,X0,X1,Y0,Y1,Z0,Z1]; класс 0 — + очень низкий, 1 — на земле, 2 — выше земли, 3 — у границы сцены. + +Зум, `SAR_CLOUD_THRESHOLD` и `SAR_MARK_ENABLE` — настройки отображения desktop/веба; +в live-файл не входят, ревизию и расчёт не меняют. RSL3 не меняется: таблицы +используют существующий тип payload. ## 7. Почему поле мощности читается, но не используется diff --git a/python_app/gui/controllers/renderers/sar3d.py b/python_app/gui/controllers/renderers/sar3d.py index 2d93508..69a294a 100644 --- a/python_app/gui/controllers/renderers/sar3d.py +++ b/python_app/gui/controllers/renderers/sar3d.py @@ -9,23 +9,33 @@ away from the Y boundaries: - ``sar3d_oblique``: orthographic projection along the camera of the notebook's 3D scene; ``sar3d_oblique_basis`` (2x3) gives its image axes u and v as scene directions, which places the scene box, the ground and the maximum on it; -- ``sar3d_target_width``: axial FWHM [X, Y, Z] in metres through the joint peak. -- ``sar3d_peak``: [level, X, Y, Z] of that maximum before normalization. +- ``sar3d_peak``: [level, X, Y, Z] of the marked maximum; level is the normalization. +- ``sar3d_target_width``: axial FWHM [X, Y, Z] in metres through that maximum, + without CLEAN objects. +- ``sar3d_background``: [peak over background, BG_GATE_3D_SHOW, BG_GATE_3D_FULL] + while BG_GATE_ENABLE is on; the frame is scaled by ``bg_gate_gain``. +- ``sar3d_objects``: CLEAN objects, strongest first, rows [X, Y, Z, level in + backgrounds]. The projections then show the residual with every object in its + own 0-1 scale, and the marked maximum is the first object. +- ``sar3d_marks``: boxes around groups of the objects, rows [class, X0, X1, Y0, + Y1, Z0, Z1], classes as in ``SAR3D_MARKS``. - ``sar3d_status``: [code, UTF-8 bytes...] with ready CUDA (0), no signal (1), processing error (2), or CUDA unavailable (3), including the explanation. """ from __future__ import annotations +from collections.abc import Callable import itertools import numpy as np +from numpy.typing import ArrayLike import pyqtgraph as pg from PyQt6.QtCore import QRectF, Qt from PyQt6.QtWidgets import QGridLayout, QLabel, QVBoxLayout, QWidget from python_app.gui.controllers.renderers.common import ( - ANTENNA_STYLES, build_lut, create_plot, image_rect, selected_antenna_coordinates, + ANTENNA_STYLES, OVERLAY_FILL, build_lut, create_plot, image_rect, selected_antenna_coordinates, ) from python_app.gui.result_payloads import collection_payload_by_name from python_app.gui.theme import PLOT_FOREGROUND @@ -36,6 +46,19 @@ from python_app.models.run_config_schema import GprModel # Status codes published by the sar3d processor in its "sar3d_status" table. SAR3D_STATES = {0: "ready", 1: "no signal", 2: "error", 3: "warning"} +# Box classes of "sar3d_marks" (notebook _SAR_MARK_STYLE): name, color, dashed. A box at the +# boundary is not yet decidable: part of its response may lie outside the scene. +SAR3D_MARKS: dict[int, tuple[str, tuple[int, int, int], bool]] = { + 0: ("very low", (229, 38, 43), False), + 1: ("on the ground", (255, 154, 31), False), + 2: ("above the ground", (47, 111, 222), False), + 3: ("at the boundary", (138, 138, 138), True), +} + +# Under the views and inside the captured grid, so the web view shows it too. +_BOX_LEGEND = "Boxes: " + "   ".join( + f"■ {name}" for name, color, _dashed in SAR3D_MARKS.values()) + _GROUND_COLOR = (115, 105, 88) _SCENE_BOX_COLOR = "#898781" @@ -47,7 +70,7 @@ SAR3D_VIEWS: dict[str, tuple[str, str, str, tuple[int, int] | None]] = { "sar3d_oblique": ("3D Projection", "", "", None), } -# Corners of the scene box indexed by bits (x, y, z); an edge joins corners one bit apart. +# Corners of a box indexed by bits (x, y, z); an edge joins corners one bit apart. _BOX_EDGES = [(a, b) for a, b in itertools.combinations(range(8), 2) if bin(a ^ b).count("1") == 1] # Axis names go on the edges meeting at the bottom corner nearest the camera (X max, Y min, Z min). _AXIS_EDGES = {"X": (0, 1), "Y": (1, 3), "Z": (1, 5)} @@ -67,6 +90,45 @@ def sar3d_status(collection: ResultCollection) -> tuple[int, str] | None: return code, bytes(row[1:].astype(np.uint8)).decode("utf-8", errors="replace") +def bg_gate_gain(ratio: float, show: float, full: float, floor: float) -> float: + """Scale of a frame by its peak over background (notebook bg_gate_gain). + + Below ``show`` the frame is empty; at ``show`` its maximum lands on ``floor``, the + cloud threshold, so an object appears as a point; from ``full`` the scale is full. + """ + if ratio < show: + return 0.0 + if full <= show: + return 1.0 + return float(np.clip(floor + (1.0 - floor) * (ratio - show) / (full - show), floor, 1.0)) + + +Projection = Callable[[ArrayLike], np.ndarray] + + +def _projection(axes: tuple[int, int] | None, basis: np.ndarray) -> Projection: + """Scene points -> plot coordinates of a view: two scene axes, or the oblique image axes.""" + if axes is None: + return lambda points: np.asarray(points, dtype=float) @ basis.T + return lambda points: np.asarray(points, dtype=float)[..., list(axes)] + + +def _box_corners(bounds: np.ndarray) -> np.ndarray: + """Eight corners of the box [X0, X1, Y0, Y1, Z0, Z1], indexed by bits (x, y, z).""" + return np.array([[bounds[2*axis + ((index >> axis) & 1)] for axis in range(3)] for index in range(8)]) + + +def _table(collection: ResultCollection, name: str, columns: int) -> np.ndarray: + """Rows of a table payload; none when it is absent.""" + payload = collection_payload_by_name(collection, name, kind=4) + if payload is None: + return np.empty((0, columns)) + table = np.asarray(payload.table, dtype=float) + if table.ndim != 2 or table.shape[1] != columns: + raise ValueError(f"{name} must have {columns} columns") + return table + + class Sar3dRenderer: """Draws the 3D SAR views.""" @@ -91,6 +153,9 @@ class Sar3dRenderer: self.antennas: dict[str, tuple[pg.ScatterPlotItem, pg.ScatterPlotItem]] = {} self.images: dict[str, pg.ImageItem] = {} self.targets: dict[str, pg.PlotCurveItem] = {} + self.marks: dict[str, dict[int, pg.PlotCurveItem]] = {} + self.objects: dict[str, pg.ScatterPlotItem] = {} + self.object_labels: dict[str, list[pg.TextItem]] = {} for index, (name, (title, x_label, y_label, axes)) in enumerate(SAR3D_VIEWS.items()): plot = create_plot(title) grid_layout.addWidget(plot, index // 2, index % 2) @@ -116,6 +181,21 @@ class Sar3dRenderer: plot.addItem(peak) self.images[name] = image self.targets[name] = peak + self.marks[name] = {} + for kind, (_name, color, dashed) in SAR3D_MARKS.items(): + style = Qt.PenStyle.DashLine if dashed else Qt.PenStyle.SolidLine + # A dark outline keeps the box visible over pixels of its own colour. + curve = pg.PlotCurveItem(pen=pg.mkPen(color, width=2, style=style), connect="pairs", + shadowPen=pg.mkPen(PLOT_FOREGROUND, width=4, style=style)) + curve.setZValue(3) + plot.addItem(curve) + self.marks[name][kind] = curve + objects = pg.ScatterPlotItem(symbol="d", size=11, brush=pg.mkBrush("#ffffff"), + pen=pg.mkPen("#111111", width=1.5)) + objects.setZValue(5) + plot.addItem(objects) + self.objects[name] = objects + self.object_labels[name] = [] if x_label: plot.setLabel("bottom", x_label, units="m") plot.setLabel("left", y_label, units="m") @@ -142,6 +222,11 @@ class Sar3dRenderer: label = pg.TextItem(axis_name, color=PLOT_FOREGROUND, anchor=(0.5, 0.5)) oblique.addItem(label) self.axis_labels[axis_name] = label + self.box_legend = QLabel(_BOX_LEGEND) + self.box_legend.setTextFormat(Qt.TextFormat.RichText) + self.box_legend.setWordWrap(True) + self.box_legend.hide() + grid_layout.addWidget(self.box_legend, 2, 0, 1, 2) self.clear() def clear(self, message: str = "SAR3D: waiting for measurements") -> None: @@ -153,12 +238,45 @@ class Sar3dRenderer: for markers in self.antennas.values(): for marker in markers: marker.setData([], []) + self._draw_marks(np.empty((0, 7)), {}) + self._draw_objects(np.empty((0, 4)), {}) self.box.setData([], []) self.ground.setData([], []) for label in self.axis_labels.values(): label.hide() self.status_label.setText(message) + def _draw_marks(self, boxes: np.ndarray, projections: dict[str, Projection]) -> None: + """Boxes around the CLEAN object groups, one curve per class and view.""" + for view, curves in self.marks.items(): + for kind, curve in curves.items(): + rows = boxes[boxes[:, 0] == kind, 1:] + if not len(rows) or view not in projections: + curve.setData([], []) + continue + points = projections[view](np.concatenate([_box_corners(row)[np.ravel(_BOX_EDGES)] for row in rows])) + curve.setData(points[:, 0], points[:, 1]) + + def _draw_objects(self, objects: np.ndarray, projections: dict[str, Projection]) -> None: + """Numbered CLEAN objects with their level in frame backgrounds.""" + for name, markers in self.objects.items(): + plot = self.plots[name] + for label in self.object_labels[name]: + plot.removeItem(label) + self.object_labels[name].clear() + if not len(objects) or name not in projections: + markers.setData([], []) + continue + points = projections[name](objects[:, :3]) + markers.setData(points[:, 0], points[:, 1]) + for number, ((x, y), level) in enumerate(zip(points, objects[:, 3]), start=1): + label = pg.TextItem(f"{number}: {level:.0f} bg", color=PLOT_FOREGROUND, + fill=pg.mkBrush(*OVERLAY_FILL), anchor=(0.5, 1.2)) + label.setZValue(6) + label.setPos(float(x), float(y)) + plot.addItem(label) + self.object_labels[name].append(label) + def draw(self, collection: ResultCollection, settings: GuiSar3dStateModel, geometry: GprModel) -> bool: """Draw four maximum projections of the volume; return success.""" status = sar3d_status(collection) @@ -178,6 +296,22 @@ class Sar3dRenderer: return False peak = collection_payload_by_name(collection, "sar3d_peak", kind=4) level, *peak_xyz = peak.table[0] if peak is not None else (None,) + objects = _table(collection, "sar3d_objects", 4) + marks = _table(collection, "sar3d_marks", 7) + # Frame relative to its background; CLEAN objects are each in their own scale already. + background = _table(collection, "sar3d_background", 3) + gain = 1.0 + background_note = "" + if len(background): + ratio, appear, full = (float(value) for value in background[0]) + background_note = f"peak {ratio:.1f} backgrounds" + if not len(objects): + gain = bg_gate_gain(ratio, appear, full, settings.cloud_threshold) + state = ("below the appearance level, frame empty" if gain <= 0.0 + else "full scale" if gain >= 1.0 else f"scale ×{gain:.2f}") + background_note += f" (appears from {appear:g}, full scale from {full:g}): {state}" + # Objects replace the peak marker, and so does a frame below the appearance level. + show_peak = not len(objects) and gain > 0.0 antennas = selected_antenna_coordinates(geometry, settings.input_positions, settings.output_positions) pitch = np.radians(settings.look_angle_deg) @@ -186,48 +320,51 @@ class Sar3dRenderer: coordinates[:, 1] = settings.bp_ground_depth_m + y*np.cos(pitch) - z*np.sin(pitch) coordinates[:, 2] = y*np.sin(pitch) + z*np.cos(pitch) width_payload = collection_payload_by_name(collection, "sar3d_target_width", kind=4) - widths = width_payload.table[0] if width_payload is not None else np.full(3, settings.voxel_m) + steps = np.array([settings.voxel_x_m, settings.voxel_y_m, settings.voxel_z_m]) + widths = width_payload.table[0] if width_payload is not None else steps zoom = settings.zoom_percent / 100.0 + projections = {name: _projection(axes, basis.table) for name, (*_labels, axes) in SAR3D_VIEWS.items()} for name, payload in payloads.items(): title, _x_label, _y_label, axes = SAR3D_VIEWS[name] rect = image_rect(payload.image_x_axis, payload.image_y_axis) image = self.images[name] - image.setImage(np.where(payload.image >= settings.cloud_threshold, payload.image, 0), - autoLevels=False, levels=(0, 1)) + shown = payload.image * gain + image.setImage(np.where(shown >= settings.cloud_threshold, shown, 0), autoLevels=False, levels=(0, 1)) image.setRect(rect) image.show() plot = self.plots[name] - position = (basis.table @ np.asarray(peak_xyz) if axes is None else np.asarray(peak_xyz)[list(axes)]) if peak_xyz else None + position = projections[name](peak_xyz) if peak_xyz else None if axes is not None: for marker, coordinates, (symbol, brush, pen) in zip(self.antennas[name], antennas, ANTENNA_STYLES): xx, yy = coordinates[:, axes[0]], coordinates[:, axes[1]] marker.setData(x=xx, y=yy, symbol=symbol, size=13, brush=pg.mkBrush(brush), pen=pg.mkPen(pen)) if len(xx): - pad = settings.voxel_m + pad = steps.max() rect = rect.united(QRectF(xx.min()-pad, yy.min()-pad, np.ptp(xx)+2*pad, np.ptp(yy)+2*pad)) - if position is not None: + if position is not None and show_peak: extent = np.abs(basis.table) @ widths if axes is None else widths[list(axes)] half = .5 * max(extent) self.targets[name].setData(position[0]+np.array([-half, half, half, -half, -half]), position[1]+np.array([-half, -half, half, half, -half])) - if zoom > 1.0: - center = position + (np.array([rect.center().x(), rect.center().y()])-position) / zoom**2 - rect = QRectF(center[0]-rect.width()/(2*zoom), center[1]-rect.height()/(2*zoom), - rect.width()/zoom, rect.height()/zoom) else: self.targets[name].setData([], []) + if position is not None and zoom > 1.0: + center = position + (np.array([rect.center().x(), rect.center().y()])-position) / zoom**2 + rect = QRectF(center[0]-rect.width()/(2*zoom), center[1]-rect.height()/(2*zoom), + rect.width()/zoom, rect.height()/zoom) plot.setRange(rect, padding=0.04) plot.setTitle(title) + boxes = marks if settings.mark_enabled else np.empty((0, 7)) + self._draw_marks(boxes, projections) + # The legend follows the settings rather than each frame, so the views keep their size. + self.box_legend.setVisible(settings.mark_enabled and settings.clean_enabled) + self._draw_objects(np.empty((0, 4)) if settings.mark_enabled else objects, projections) # Scene box and ground on the oblique view, from the extents of the other views. front, top = payloads["sar3d_front"], payloads["sar3d_top"] - bounds = [ - (front.image_x_axis[0], front.image_x_axis[-1]), - (front.image_y_axis[0], front.image_y_axis[-1]), - (top.image_y_axis[0], top.image_y_axis[-1]), - ] - corners = np.array([[bounds[axis][(index >> axis) & 1] for axis in range(3)] for index in range(8)]) - projected = corners @ basis.table.T + bounds = np.array([front.image_x_axis[0], front.image_x_axis[-1], front.image_y_axis[0], + front.image_y_axis[-1], top.image_y_axis[0], top.image_y_axis[-1]]) + projected = _box_corners(bounds) @ basis.table.T box = projected[np.ravel(_BOX_EDGES)] self.box.setData(box[:, 0], box[:, 1]) centre = projected.mean(axis=0) @@ -235,12 +372,20 @@ class Sar3dRenderer: middle = (projected[start] + projected[end]) / 2 self.axis_labels[axis_name].setPos(*(middle + 0.08 * (middle - centre))) # just outside self.axis_labels[axis_name].show() - (x0, x1), _, (z0, z1) = bounds + x0, x1, _y0, _y1, z0, z1 = bounds ground = (np.array([[x0, 0.0, z0], [x1, 0.0, z0], [x1, 0.0, z1], [x0, 0.0, z1], [x0, 0.0, z0]]) @ basis.table.T).T self.ground.setData(ground[0], ground[1]) - summary = f"SAR3D: ready — {status[1]}" if status else "SAR3D: ready" + + notes = [f"SAR3D: ready — {status[1]}" if status else "SAR3D: ready"] + if background_note: + notes.append(background_note) + if len(boxes): + counts = {kind: int(np.sum(boxes[:, 0] == kind)) for kind in SAR3D_MARKS} + notes.append("boxes: " + ", ".join(f"{counts[kind]} {name}" for kind, (name, *_style) + in SAR3D_MARKS.items() if kind != 3 or counts[kind])) if level is not None: x, y, z = peak_xyz - summary += f" | max X {x:+.2f}, Y {y:+.2f}, Z {z:.2f} m | level {level:.3g}" - self.status_label.setText(f"{summary} | zoom {settings.zoom_percent}%") + notes.append(f"max X {x:+.2f}, Y {y:+.2f}, Z {z:.2f} m | level {level:.3g}") + notes.append(f"zoom {settings.zoom_percent}%") + self.status_label.setText(" | ".join(notes)) return True diff --git a/python_app/gui/controllers/sections/processing_section.py b/python_app/gui/controllers/sections/processing_section.py index 8c4342a..c76e2fb 100644 --- a/python_app/gui/controllers/sections/processing_section.py +++ b/python_app/gui/controllers/sections/processing_section.py @@ -214,7 +214,7 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces ) processing_mode_pages.addWidget(gpr_page) # 3D SAR page. The labels are the names of the reference notebook - # Multi_antenna_demonstrate_depthnorm.ipynb; the shared gpr_* fields get their own + # Multi_depthnorm_clean.ipynb; the shared gpr_* fields get their own # widgets here, like on the GPR page. sar3d_input_positions_input = view.add("_sar3d_input_positions_input", QLineEdit()) sar3d_input_positions_input.setPlaceholderText("0,1,2") @@ -226,11 +226,12 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces sar3d_min_depth_m.setToolTip("Radar depth gate start (m); the scene grid along Z follows the gate.") sar3d_max_depth_m = view.add("_sar3d_max_depth_m", double_spin(0.1, 50.0, 2, 0.1)) sar3d_max_depth_m.setToolTip("Radar depth gate end (m); the scene grid along Z follows the gate.") - sar3d_voxel_m = view.add("_sar3d_voxel_m", double_spin(0.01, 0.1, 3, 0.005)) - sar3d_voxel_m.setToolTip( - "Edge of the cubic voxel (m), the same along X, Y and Z. Smaller is finer and slower: " - "halving it makes 8 times more voxels." - ) + sar3d_voxel_x_m = view.add("_sar3d_voxel_x_m", double_spin(0.01, 0.1, 3, 0.005)) + sar3d_voxel_y_m = view.add("_sar3d_voxel_y_m", double_spin(0.01, 0.1, 3, 0.005)) + sar3d_voxel_z_m = view.add("_sar3d_voxel_z_m", double_spin(0.01, 0.1, 3, 0.005)) + for axis, step in zip("XYZ", (sar3d_voxel_x_m, sar3d_voxel_y_m, sar3d_voxel_z_m)): + step.setToolTip(f"Voxel step along {axis} (m). Smaller is finer and slower: halving all three " + "steps makes 8 times more voxels.") sar3d_look_angle_deg = view.add("_sar3d_look_angle_deg", double_spin(-90.0, 90.0, 2, 0.5)) sar3d_look_angle_deg.setToolTip( "Downward tilt of the radar (deg): motion correction along range and the ground scene axes." @@ -253,6 +254,17 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces sar3d_pair_depth_equalize = view.add("_sar3d_pair_depth_equalize", QCheckBox("PAIR_DEPTH_EQUALIZE")) sar3d_background_subtract_enabled = view.add("_sar3d_background_subtract_enabled", QCheckBox("Subtract mean of previous collections")) sar3d_background_mean_count = view.add("_sar3d_background_mean_count", integer_spin(0, 10000)) + sar3d_bg_gate_enabled = view.add("_sar3d_bg_gate_enabled", QCheckBox("BG_GATE_ENABLE")) + sar3d_bg_gate_enabled.setToolTip( + "Show the frame relative to its background, the median of the volume: below 6 backgrounds the " + "frame is empty, at 6 its maximum appears at SAR_CLOUD_THRESHOLD, from 8.5 the scale is full." + ) + sar3d_clean_enabled = view.add("_sar3d_clean_enabled", QCheckBox("SAR_CLEAN_ENABLE")) + sar3d_clean_enabled.setToolTip( + "CLEAN: subtract the strongest responses one by one, so weak objects show beside strong ones; " + "each object is drawn in its own 0-1 scale. Runs on a one-frame aperture: always with " + "SAR_FRAME_RADIUS = 0, otherwise while no previous frame is available, as after Start." + ) sar3d_x_size_m = view.add("_sar3d_x_size_m", double_spin(0.0, 100.0, 2, 0.1)) sar3d_y_min_m = view.add("_sar3d_y_min_m", double_spin(-50.0, 50.0, 2, 0.1)) sar3d_y_max_m = view.add("_sar3d_y_max_m", double_spin(-50.0, 50.0, 2, 0.1)) @@ -261,6 +273,11 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces sar3d_zoom_percent = view.add("_sar3d_zoom_percent", QSlider(Qt.Orientation.Horizontal)) sar3d_zoom_percent.setRange(100, 1000) sar3d_zoom_percent.setToolTip("100% shows the full scene; higher values zoom towards its brightest object.") + sar3d_mark_enabled = view.add("_sar3d_mark_enabled", QCheckBox("SAR_MARK_ENABLE")) + sar3d_mark_enabled.setToolTip( + "Box the CLEAN objects by height: red very low (like a mine), orange on the ground, blue above it, " + "dashed grey at the scene boundary (not yet decidable). Off: numbered objects instead." + ) sar3d_page = _build_processing_mode_page( processing_mode_pages, @@ -271,7 +288,9 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces ("F_STOP MHz", sar3d_stop_freq_mhz), ("MIN_DEPTH", sar3d_min_depth_m), ("MAX_DEPTH", sar3d_max_depth_m), - ("SAR_VOXEL_M", sar3d_voxel_m), + ("SAR_VOXEL_M X", sar3d_voxel_x_m), + ("SAR_VOXEL_M Y", sar3d_voxel_y_m), + ("SAR_VOXEL_M Z", sar3d_voxel_z_m), ("LOOK_ANGLE_DEG", sar3d_look_angle_deg), sar3d_ignore_socket_speed_enabled, ("SPEED_M_S", sar3d_speed_m_s), @@ -283,14 +302,16 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces sar3d_pair_depth_equalize, sar3d_background_subtract_enabled, ("Mean count", sar3d_background_mean_count), + sar3d_bg_gate_enabled, + sar3d_clean_enabled, ("SAR_X_SIZE_M (0 = auto)", sar3d_x_size_m), ("SAR_Y_RANGE_M min", sar3d_y_min_m), ("SAR_Y_RANGE_M max", sar3d_y_max_m), ("SAR_Z_SIZE_M (0 = auto)", sar3d_z_size_m), ("SAR_CLOUD_THRESHOLD", sar3d_cloud_threshold), ("Zoom (%)", sar3d_zoom_percent), + sar3d_mark_enabled, ], - split_index=8, ) processing_mode_pages.addWidget(sar3d_page) @@ -320,7 +341,7 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces trace_controls=(show_magnitude_checkbox, show_phase_checkbox, unwrap_phase_checkbox, pass_through_combo_filter_input, pass_through_fixed_y_enabled, pass_through_y_min_db, pass_through_y_max_db), - visual_controls=(gpr_render_mode, sar3d_cloud_threshold, sar3d_zoom_percent), + visual_controls=(gpr_render_mode, sar3d_cloud_threshold, sar3d_zoom_percent, sar3d_mark_enabled), locator_controls=(gpr_max_detected_objects_to_draw, gpr_draw_top_m_objects, gpr_visible_x_min_m, gpr_visible_x_max_m, gpr_visible_z_min_m, gpr_visible_z_max_m), diff --git a/python_app/models/gui_profile_schema.py b/python_app/models/gui_profile_schema.py index 3c4ebb2..70448ee 100644 --- a/python_app/models/gui_profile_schema.py +++ b/python_app/models/gui_profile_schema.py @@ -134,7 +134,7 @@ class GuiGprStateModel: class GuiSar3dStateModel: """UI-only defaults for the 3D SAR (sar3d) live settings. - Values are the reference notebook's (Multi_antenna_demonstrate_depthnorm.ipynb), whose + Values are the reference notebook's (Multi_depthnorm_clean.ipynb), whose names the GUI shows: INPUT_IDX, F_START, MIN_DEPTH, LOOK_ANGLE_DEG, ... """ @@ -148,7 +148,9 @@ class GuiSar3dStateModel: ignore_socket_speed_enabled: bool = setting(False, '_sar3d_ignore_socket_speed_enabled', live='ignore_socket_speed', group='Motion') look_angle_deg: float = setting(19.5, '_sar3d_look_angle_deg', live='gpr_look_angle_deg', group='Motion') frame_radius: int = setting(0, '_sar3d_frame_radius', live='sar3d_frame_radius', group='3D SAR', minimum=0) - voxel_m: float = setting(0.02, '_sar3d_voxel_m', live='sar3d_voxel_m', group='3D SAR', minimum=0, exclusive_minimum=True) + voxel_x_m: float = setting(0.025, '_sar3d_voxel_x_m', live='sar3d_voxel_x_m', group='3D SAR', minimum=0, exclusive_minimum=True) + voxel_y_m: float = setting(0.02, '_sar3d_voxel_y_m', live='sar3d_voxel_y_m', group='3D SAR', minimum=0, exclusive_minimum=True) + voxel_z_m: float = setting(0.02, '_sar3d_voxel_z_m', live='sar3d_voxel_z_m', group='3D SAR', minimum=0, exclusive_minimum=True) bp_ground_depth_m: float = setting(1.25, '_sar3d_bp_ground_depth_m', live='sar3d_bp_ground_depth_m', group='3D SAR') comp_range_power: float = setting(0.3, '_sar3d_comp_range_power', live='sar3d_comp_range_power', group='3D SAR') use_compensation: bool = setting(True, '_sar3d_use_compensation', live='sar3d_use_compensation', group='3D SAR') @@ -156,12 +158,15 @@ class GuiSar3dStateModel: pair_depth_equalize: bool = setting(True, '_sar3d_pair_depth_equalize', live='pair_depth_equalize', group='3D SAR') background_subtract_enabled: bool = setting(True, '_sar3d_background_subtract_enabled', live='gpr_background_subtract_enabled', group='3D SAR') background_mean_count: int = setting(10, '_sar3d_background_mean_count', live='gpr_background_mean_count', group='3D SAR', minimum=0) + bg_gate_enabled: bool = setting(True, '_sar3d_bg_gate_enabled', live='sar3d_bg_gate_enabled', group='3D SAR') + clean_enabled: bool = setting(True, '_sar3d_clean_enabled', live='sar3d_clean_enabled', group='3D SAR') x_size_m: float = setting(0.0, '_sar3d_x_size_m', live='sar3d_x_size_m', group='Scene', minimum=0) y_min_m: float = setting(-0.5, '_sar3d_y_min_m', live='sar3d_y_min_m', group='Scene') y_max_m: float = setting(2.0, '_sar3d_y_max_m', live='sar3d_y_max_m', group='Scene') z_size_m: float = setting(0.0, '_sar3d_z_size_m', live='sar3d_z_size_m', group='Scene', minimum=0) cloud_threshold: float = setting(0.65, '_sar3d_cloud_threshold', web='sar3d_cloud_threshold', group='Display', minimum=0, maximum=1) zoom_percent: int = setting(100, '_sar3d_zoom_percent', web='sar3d_zoom_percent', group='Display', minimum=100, maximum=1000) + mark_enabled: bool = setting(True, '_sar3d_mark_enabled', web='sar3d_mark_enabled', group='Display') @dataclass(slots=True) diff --git a/python_app/orchestration/live_processing_config.py b/python_app/orchestration/live_processing_config.py index f7c8ef0..fb6a856 100644 --- a/python_app/orchestration/live_processing_config.py +++ b/python_app/orchestration/live_processing_config.py @@ -53,11 +53,13 @@ class ProcessingLiveConfig: gpr_visible_z_min_m: float = 0.0 gpr_visible_z_max_m: float = 14.0 # 3D SAR (sar3d processor) parameters, named after the reference notebook - # Multi_antenna_demonstrate_depthnorm.ipynb (SAR_FRAME_RADIUS, BP_GROUND_DEPTH_M, ...). + # Multi_depthnorm_clean.ipynb (SAR_FRAME_RADIUS, BP_GROUND_DEPTH_M, ...). # The band, depth gate, antenna selection, speed and look angle are the # shared gpr_* fields. sar3d_frame_radius: int = 0 - sar3d_voxel_m: float = 0.02 # SAR_VOXEL_M, one edge for X, Y and Z + sar3d_voxel_x_m: float = 0.025 # SAR_VOXEL_M, the voxel steps along X, Y and Z + sar3d_voxel_y_m: float = 0.02 + sar3d_voxel_z_m: float = 0.02 sar3d_bp_ground_depth_m: float = 1.25 sar3d_comp_range_power: float = 0.3 sar3d_use_compensation: bool = True @@ -66,6 +68,8 @@ class ProcessingLiveConfig: sar3d_y_min_m: float = -0.5 sar3d_y_max_m: float = 2.0 sar3d_z_size_m: float = 0.0 + sar3d_bg_gate_enabled: bool = True # BG_GATE_ENABLE: peak-to-background ratio for the display + sar3d_clean_enabled: bool = True # SAR_CLEAN_ENABLE: CLEAN of a one-frame aperture into objects # When true, the C++ data_processor ignores socket-supplied vlc updates # and keeps using `gpr_speed_m_s` from this file. ignore_socket_speed: bool = False diff --git a/python_app/tests/test_gui_profile_codec.py b/python_app/tests/test_gui_profile_codec.py index bfa7eb9..1ca5fa9 100644 --- a/python_app/tests/test_gui_profile_codec.py +++ b/python_app/tests/test_gui_profile_codec.py @@ -82,7 +82,9 @@ class GuiProfileCodecTest(unittest.TestCase): ignore_socket_speed_enabled=True, look_angle_deg=6.5, frame_radius=3, - voxel_m=0.035, + voxel_x_m=0.035, + voxel_y_m=0.03, + voxel_z_m=0.025, bp_ground_depth_m=1.1, comp_range_power=0.5, use_compensation=False, diff --git a/python_app/tests/test_processor_history.py b/python_app/tests/test_processor_history.py index 17fe4a0..cc480b3 100644 --- a/python_app/tests/test_processor_history.py +++ b/python_app/tests/test_processor_history.py @@ -382,7 +382,7 @@ class Sar3dRecoveryTest(_ProcessorTestCase): self._live.gpr_speed_m_s = 0.0 self._live.gpr_start_freq_mhz = 1500.0 self._live.gpr_stop_freq_mhz = 6000.0 - self._live.sar3d_voxel_m = 0.4 + self._live.sar3d_voxel_x_m = self._live.sar3d_voxel_y_m = self._live.sar3d_voxel_z_m = 0.4 self._live.sar3d_frame_radius = 0 self._live.tx_geometry = [{"output_pos": 0, "x_m": -0.3, "y_m": 0.0, "z_m": 0.0}] self._live.rx_geometry = [{"input_pos": 0, "x_m": 0.2, "y_m": 0.4, "z_m": 0.0}] diff --git a/python_app/tests/test_sar3d_plot.py b/python_app/tests/test_sar3d_plot.py index cc868eb..71e5bcd 100644 --- a/python_app/tests/test_sar3d_plot.py +++ b/python_app/tests/test_sar3d_plot.py @@ -2,17 +2,19 @@ from __future__ import annotations +import json import os import unittest from unittest import mock import numpy as np +import pyqtgraph as pg os.environ.setdefault("QT_QPA_PLATFORM", "offscreen") from PyQt6.QtCore import QPointF, QRectF, Qt, QSignalBlocker # noqa: E402 from PyQt6.QtWidgets import QApplication, QCheckBox, QComboBox, QDoubleSpinBox, QSlider # noqa: E402 -from python_app.gui.controllers.renderers.sar3d import SAR3D_STATES, SAR3D_VIEWS, Sar3dRenderer # noqa: E402 +from python_app.gui.controllers.renderers.sar3d import SAR3D_MARKS, SAR3D_STATES, SAR3D_VIEWS, Sar3dRenderer # noqa: E402 from python_app.models.dataset_model import ComboKey, ResultCollection, ResultPayload, TraceData # noqa: E402 from python_app.models.gui_profile_schema import GuiSar3dStateModel # noqa: E402 from python_app.models.run_config_schema import GprModel, GprTxGeometryModel, GprRxGeometryModel # noqa: E402 @@ -29,6 +31,17 @@ def _collection(*payloads: ResultPayload) -> ResultCollection: capture_start_ns=1200, capture_end_ns=1400) +def _points(item: pg.PlotCurveItem | pg.ScatterPlotItem) -> tuple[np.ndarray, np.ndarray]: + """Drawn x and y of a curve or scatter item, empty when nothing is drawn.""" + xx, yy = item.getData() + assert xx is not None and yy is not None + return np.asarray(xx), np.asarray(yy) + + +def _table(name: str, *rows: list[float]) -> ResultPayload: + return ResultPayload(processing_name=name, kind=4, table=np.array(rows, dtype=np.float32)) + + def _projections() -> ResultCollection: x, y, z = np.array([-1, 0, 1]), np.array([-0.5, 0.5]), np.array([1, 2, 3]) axes = [(x, y), (z, y), (x, z), (x, y)] @@ -129,6 +142,68 @@ class Sar3dPlotTest(unittest.TestCase): peak = np.array([.5*(xx.min()+xx.max()), .5*(yy.min()+yy.max())]) self.assertLess(np.linalg.norm(zoomed.mean(axis=1)-peak), np.linalg.norm(ranges.mean(axis=1)-peak)) + def test_bg_gate_scales_the_frame_and_hides_it_below_appearance(self) -> None: + self.settings.cloud_threshold = .5 + for ratio, gain, state in ((9., 1., "full scale"), (7.5, .8, "scale ×0.80"), + (5., 0., "below the appearance level, frame empty")): + with self.subTest(ratio=ratio): + result = _projections() + result.collection_payloads.append(_table("sar3d_background", [ratio, 6, 8.5])) + self.assertTrue(self.renderer.draw(result, self.settings, self.geometry)) + for name, image in self.renderer.images.items(): + np.testing.assert_allclose(np.asarray(image.image), gain, err_msg=name) + self.assertEqual(len(_points(self.renderer.targets[name])[0]) > 0, gain > 0, name) + self.assertIn(f"peak {ratio:.1f} backgrounds (appears from 6, full scale from 8.5): {state}", + self.renderer.status_label.text()) + + def test_clean_objects_are_boxed_by_class_or_numbered(self) -> None: + result = _projections() + result.collection_payloads += [ + _table("sar3d_background", [7.5, 6, 8.5]), + _table("sar3d_objects", [.5, -.2, 2., 45.], [-.5, .3, 1.5, 12.]), + _table("sar3d_marks", [0, .25, .75, -.3, .1, 1.75, 2.25], [2, -.75, -.25, .1, .5, 1.25, 1.75]), + ] + self.assertTrue(self.renderer.draw(result, self.settings, self.geometry)) + text = self.renderer.status_label.text() + self.assertIn("peak 7.5 backgrounds | boxes: 1 very low, 0 on the ground, 1 above the ground |", text) + self.assertNotIn("at the boundary", text) + for name, (_title, _x, _y, axes) in SAR3D_VIEWS.items(): + # Objects are in their own scale: no background gain and no peak marker. + np.testing.assert_allclose(np.asarray(self.renderer.images[name].image), 1) + self.assertFalse(len(_points(self.renderer.targets[name])[0])) + self.assertFalse(len(_points(self.renderer.objects[name])[0])) + curves = self.renderer.marks[name] + self.assertFalse(len(_points(curves[1])[0]) or len(_points(curves[3])[0])) + plane = axes or (0, 1) # the test basis shows the oblique view along X and Y + for kind, low, high in ((0, (.25, -.3, 1.75), (.75, .1, 2.25)), (2, (-.75, .1, 1.25), (-.25, .5, 1.75))): + xx, yy = _points(curves[kind]) + self.assertEqual(len(xx), 24) + np.testing.assert_allclose([xx.min(), yy.min()], np.asarray(low)[list(plane)]) + np.testing.assert_allclose([xx.max(), yy.max()], np.asarray(high)[list(plane)]) + # The legend lists every class under the views while boxes are on. + self.assertFalse(self.renderer.box_legend.isHidden()) + self.assertTrue(all(name in self.renderer.box_legend.text() for name, *_style in SAR3D_MARKS.values())) + + self.settings.mark_enabled = False + self.renderer.draw(result, self.settings, self.geometry) + self.assertTrue(self.renderer.box_legend.isHidden()) + self.assertNotIn("boxes:", self.renderer.status_label.text()) + for name, (_title, _x, _y, axes) in SAR3D_VIEWS.items(): + self.assertTrue(all(not len(_points(curve)[0]) for curve in self.renderer.marks[name].values())) + xx, yy = _points(self.renderer.objects[name]) + plane = list(axes or (0, 1)) + np.testing.assert_allclose(np.column_stack([xx, yy]), np.array([[.5, -.2, 2.], [-.5, .3, 1.5]])[:, plane]) + self.assertEqual([label.textItem.toPlainText() for label in self.renderer.object_labels[name]], + ["1: 45 bg", "2: 12 bg"]) + self.renderer.clear() + self.assertFalse(any(self.renderer.object_labels.values())) + + def test_table_with_another_width_is_an_error(self) -> None: + result = _projections() + result.collection_payloads.append(_table("sar3d_objects", [.5, -.2, 2.])) + with self.assertRaisesRegex(ValueError, "sar3d_objects must have 4 columns"): + self.renderer.draw(result, self.settings, self.geometry) + def test_cloud_threshold_masks_weak_response_without_changing_levels(self) -> None: result = _projections() for payload in result.collection_payloads: @@ -167,13 +242,35 @@ class Sar3dIntegrationTest(unittest.TestCase): widget(self.view._view.processing, "_sar3d_cloud_threshold", QDoubleSpinBox).setValue(1.) self.assertEqual(self.view._live.revision, revision) self.assertIn("zoom 247%", self.renderer.status_label.text()) + widget(self.view._view.processing, "_sar3d_mark_enabled", QCheckBox).setChecked(False) + self.assertEqual(self.view._live.revision, revision) live = self.view._live.build().to_dict() self.assertNotIn("sar3d_zoom_percent", live) self.assertNotIn("sar3d_cloud_threshold", live) + self.assertNotIn("sar3d_mark_enabled", live) schema = {entry["name"]: entry for entry in self.view._config.web_schema()} self.assertEqual(schema["sar3d_zoom_percent"]["value"], 247) self.assertEqual(schema["sar3d_zoom_percent"]["step"], 1) self.assertEqual(schema["sar3d_cloud_threshold"]["value"], 1.) + self.assertIs(schema["sar3d_mark_enabled"]["value"], False) + + def test_bg_gate_and_clean_publish_a_processing_revision(self) -> None: + self.view._pipeline.drain_results = mock.Mock() + live = self.view._live.build().to_dict() + self.assertIs(live["sar3d_bg_gate_enabled"], True) + self.assertIs(live["sar3d_clean_enabled"], True) + for name, key in (("_sar3d_bg_gate_enabled", "sar3d_bg_gate_enabled"), + ("_sar3d_clean_enabled", "sar3d_clean_enabled")): + with self.subTest(key): + revision = self.view._live.revision + widget(self.view._view.processing, name, QCheckBox).setChecked(False) + self.assertNotEqual(self.view._live.revision, revision) + published = json.loads(self.view._live.writer.path.read_text(encoding="utf-8")) + self.assertIs(published[key], False) + self.assertEqual(published["settings_revision"], self.view._live.revision) + schema = {entry["name"]: entry for entry in self.view._config.web_schema()} + self.assertEqual(schema["sar3d_bg_gate_enabled"]["label"], "BG_GATE_ENABLE") + self.assertEqual(schema["sar3d_clean_enabled"]["label"], "SAR_CLEAN_ENABLE") def test_inactive_sar_scene_is_validated_before_publishing_gpr_settings(self) -> None: with QSignalBlocker(self.mode): diff --git a/run_config_examples/run_config_librevna_multi_per_point.example.json b/run_config_examples/run_config_librevna_multi_per_point.example.json index 37e6c45..82d2d04 100644 --- a/run_config_examples/run_config_librevna_multi_per_point.example.json +++ b/run_config_examples/run_config_librevna_multi_per_point.example.json @@ -336,7 +336,6 @@ "ignore_socket_speed_enabled": false, "look_angle_deg": 10.0, "frame_radius": 0, - "voxel_m": 0.02, "bp_ground_depth_m": 1.25, "comp_range_power": 0.3, "use_compensation": true,