72 OutlierParams params_;
75 UnionFind<VertId> unionFindStructure_;
76 std::vector<uint8_t> weaklyConnectedStat_;
77 std::vector<float> farSurfaceStat_;
78 std::vector<float> badNormalStat_;
82 VertBitSet validPoints_;
#define MR_MAKE_FLAG_OPERATORS(T)
Definition MRFlagOperators.h:6
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:79
#define MRMESH_CLASS
Definition MRMesh/MRMeshFwd.h:83
Definition MROutlierPoints.h:40
MRMESH_API Expected< VertBitSet > find(OutlierTypeMask mask, ProgressCallback progress={})
MRMESH_API Expected< void > prepare(const PointCloud &pc, float radius, OutlierTypeMask mask, ProgressCallback progress={})
MRMESH_API const OutlierParams & getParams() const
Get search parameters.
Definition MROutlierPoints.h:56
OutliersDetector()=default
MRMESH_API void setParams(const OutlierParams ¶ms)
Set search parameters.
MRMESH_API const std::vector< uint8_t > & getWeaklyConnectedStat()
Get statistics on the number of neighbors for each point.
Definition MROutlierPoints.h:63
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:626
tl::expected< T, E > Expected
Definition MRExpected.h:59
MRMESH_API Expected< VertBitSet > findOutliers(const PointCloud &pc, const FindOutliersParams ¶ms)
Finding outlier points.
OutlierTypeMask
Types of outlier points.
Definition MROutlierPoints.h:28
@ AwayNormal
Points whose normals differ from the average norm of their nearest neighbors.
@ WeaklyConnected
Points that have too few neighbors within the radius.
@ SmallComponents
Small groups of points that are far from the rest.
@ FarSurface
Points far from the surface approximating the nearest points.
Outlier point search parameters.
Definition MROutlierPoints.h:87
float radius
Radius of the search for neighboring points for analysis.
Definition MROutlierPoints.h:89
OutlierTypeMask mask
Mask of the types of outliers that are looking for.
Definition MROutlierPoints.h:91
OutlierParams finderParams
Parameters of various criteria for detecting outlier points.
Definition MROutlierPoints.h:88
ProgressCallback progress
Progress callback.
Definition MROutlierPoints.h:93
Parameters of various criteria for detecting outlier points.
Definition MROutlierPoints.h:14
float minHeight
Minimum distance (as proportion of search radius) to the approximate surface from outliers point.
Definition MROutlierPoints.h:20
float minAngle
Definition MROutlierPoints.h:23
int maxNeighbors
Maximum number of adjacent points for an outlier point.
Definition MROutlierPoints.h:18
int maxClusterSize
Maximum points in the outlier component.
Definition MROutlierPoints.h:16
Definition MRMesh/MRPointCloud.h:16