pub struct PatchworkConfig {Show 13 fields
pub sensor_height: f32,
pub zone_radii: Vec<f32>,
pub num_rings_per_zone: Vec<usize>,
pub num_sectors_per_zone: Vec<usize>,
pub max_range: f32,
pub min_points_per_patch: usize,
pub num_seed_points: usize,
pub seed_selection_threshold: f32,
pub dist_threshold: f32,
pub num_iterations: usize,
pub uprightness_threshold: f32,
pub flatness_threshold: f32,
pub elevation_threshold: f32,
}Expand description
Configuration for the Patchwork++ ground segmentation algorithm.
Fields§
§sensor_height: f32Height of the LiDAR sensor above the expected ground plane (meters).
zone_radii: Vec<f32>Concentric zone boundary radii in meters, length = num_zones + 1. Each adjacent pair defines one zone (inner_radius, outer_radius].
num_rings_per_zone: Vec<usize>Number of concentric rings per zone (length = num_zones).
num_sectors_per_zone: Vec<usize>Number of angular sectors per zone (length = num_zones).
max_range: f32Maximum sensing range (meters); points beyond are treated as non-ground.
min_points_per_patch: usizeMinimum number of points required in a patch to attempt ground fitting.
num_seed_points: usizeMinimum number of seed points used in the initial PCA fit.
seed_selection_threshold: f32A point is a seed candidate if its z is within this distance of the patch’s minimum z value.
dist_threshold: f32Inlier distance threshold (meters) used when refining the plane fit.
num_iterations: usizeNumber of refit iterations of the R-GPF inner loop.
uprightness_threshold: f32Minimum |n_z| required for a patch’s plane to count as ground (cos of maximum allowed slope; 0.707 ≈ 45°).
flatness_threshold: f32Maximum allowed flatness ratio = lambda_min / (lambda_0 + lambda_1 + lambda_min); smaller means the patch must be flatter.
elevation_threshold: f32Maximum signed deviation of the patch mean z from -sensor_height
(meters). Patches sitting unreasonably high or low are rejected.
Trait Implementations§
Source§impl Clone for PatchworkConfig
impl Clone for PatchworkConfig
Source§fn clone(&self) -> PatchworkConfig
fn clone(&self) -> PatchworkConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PatchworkConfig
impl Debug for PatchworkConfig
Auto Trait Implementations§
impl Freeze for PatchworkConfig
impl RefUnwindSafe for PatchworkConfig
impl Send for PatchworkConfig
impl Sync for PatchworkConfig
impl Unpin for PatchworkConfig
impl UnsafeUnpin for PatchworkConfig
impl UnwindSafe for PatchworkConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.