ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
noise_estimate.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#pragma once
6#include "reusex/types/point_types.hpp"
7
8#include <cstdint>
9
10namespace reusex::geometry {
11
19 std::size_t seed_count = 1000;
21 int k_neighbors = 20;
23 unsigned seed = 42;
24};
25
30 float sigma = 0.0F;
32 float density = 0.0F;
34 std::size_t samples = 0;
35};
36
58 const NoiseEstimateOptions &options =
59 NoiseEstimateOptions{}) -> NoiseEstimate;
60
61} // namespace reusex::geometry
auto estimate_cloud_noise(CloudConstPtr cloud, CloudNConstPtr normals, const NoiseEstimateOptions &options=NoiseEstimateOptions{}) -> NoiseEstimate
Estimate per-cloud sensor noise (sigma) and point density from local PCA patches.
typename Cloud::ConstPtr CloudConstPtr
typename CloudN::ConstPtr CloudNConstPtr
Options controlling the deterministic local-PCA cloud-noise estimator.
std::size_t seed_count
Number of random seed points at which a local plane is fit.
unsigned seed
PRNG seed for deterministic seed-point sampling (STANDARDS §6).
int k_neighbors
Number of nearest neighbours per seed used for the local PCA fit.
Result of estimate_cloud_noise.
std::size_t samples
Number of seed neighbourhoods that contributed a valid residual.
float density
Median nearest-neighbour spacing [m] — a robust point-density proxy.
float sigma
Estimated sensor noise standard deviation [m], derived from the median absolute point-to-plane residu...