MeshLib Rust Docs
Loading...
Searching...
No Matches
MRPointCloudFPFH.rs File Reference

Namespaces

namespace  meshlib

Functions

auto meshlib::compute_fpfh (pointCloud:&meshlib::PointCloud, radius:f32, progress:Option<&meshlib::std_function_bool_from_float >) -> meshlib::Owned< meshlib::expected_MR_Vector_std_array_float_33_MR_VertId_std_string >
 Computes Fast Point Feature Histograms for all valid points of given point cloud, which can be compared to find corresponding points in two clouds independently of their relative position; the descriptors do not change under rigid motions and uniform scaling of the cloud (if radius is scaled as well)
auto meshlib::compute_fpfh_uniqueness (descriptors:&meshlib::Vector_std_array_float_33_MR_VertId, points:&meshlib::VertBitSet) -> meshlib::Owned< meshlib::VertScalars >
 Computes for each of given points how unusual its descriptor is: (d - mu) / sigma, where d is the distance of the point's descriptor from the mean descriptor of all given points, and mu and sigma are the mean and the standard deviation of these distances; positive for descriptors farther from the mean than average, negative for more typical ones; deviations |d - mu| up to 1e-6, which come from float rounding of equal descriptors, give 0 Generated from function MR::computeFPFHUniqueness.
auto meshlib::find_unique_fpfh_points_3 (descriptors:&meshlib::Vector_std_array_float_33_MR_VertId, points:&meshlib::VertBitSet, beta:f32) -> meshlib::Owned< meshlib::VertBitSet >
 Finds the points with unique descriptors, which are less likely to be matched ambiguously: the points whose distance from the mean descriptor of all given points is outside the interval mu +- beta * sigma, where mu and sigma are the mean and the standard deviation of these distances, i.e. |computeFPFHUniqueness(...)| > beta.
auto meshlib::find_unique_fpfh_points_4 (pointCloud:&meshlib::PointCloud, radius:f32, beta:f32, progress:Option<&meshlib::std_function_bool_from_float >) -> meshlib::Owned< meshlib::expected_MR_VertBitSet_std_string >
 Computes FPFH descriptors of all valid points of given point cloud and finds the points with unique descriptors among them.
auto meshlib::find_fpfh_matches (srcDescriptors:&meshlib::Vector_std_array_float_33_MR_VertId, srcPoints:&meshlib::VertBitSet, tgtDescriptors:&meshlib::Vector_std_array_float_33_MR_VertId, tgtPoints:&meshlib::VertBitSet, mutual:Option< bool >, progress:Option<&meshlib::std_function_bool_from_float >) -> meshlib::Owned< meshlib::expected_std_vector_std_pair_MR_VertId_MR_VertId_std_string >
 Finds for every source point the target point with the closest descriptor (in Euclidean distance) by comparing all pairs of points, which is fast enough for clouds of several thousand points.