VTK  9.3.1
vtkStatisticalOutlierRemoval.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-CLAUSE
41 #ifndef vtkStatisticalOutlierRemoval_h
42 #define vtkStatisticalOutlierRemoval_h
43 
44 #include "vtkFiltersPointsModule.h" // For export macro
45 #include "vtkPointCloudFilter.h"
46 
47 VTK_ABI_NAMESPACE_BEGIN
49 class vtkPointSet;
50 
51 class VTKFILTERSPOINTS_EXPORT vtkStatisticalOutlierRemoval : public vtkPointCloudFilter
52 {
53 public:
55 
61  void PrintSelf(ostream& os, vtkIndent indent) override;
63 
65 
70  vtkSetClampMacro(SampleSize, int, 1, VTK_INT_MAX);
71  vtkGetMacro(SampleSize, int);
73 
75 
81  vtkSetClampMacro(StandardDeviationFactor, double, 0.0, VTK_FLOAT_MAX);
82  vtkGetMacro(StandardDeviationFactor, double);
84 
86 
91  void SetLocator(vtkAbstractPointLocator* locator);
92  vtkGetObjectMacro(Locator, vtkAbstractPointLocator);
94 
96 
100  vtkSetClampMacro(ComputedMean, double, 0.0, VTK_FLOAT_MAX);
101  vtkGetMacro(ComputedMean, double);
103 
105 
109  vtkSetClampMacro(ComputedStandardDeviation, double, 0.0, VTK_FLOAT_MAX);
110  vtkGetMacro(ComputedStandardDeviation, double);
112 
113 protected:
115  ~vtkStatisticalOutlierRemoval() override;
116 
120 
121  // Derived quantities
122  double ComputedMean;
124 
125  // All derived classes must implement this method. Note that a side effect of
126  // the class is to populate the PointMap. Zero is returned if there is a failure.
127  int FilterPoints(vtkPointSet* input) override;
128 
129 private:
131  void operator=(const vtkStatisticalOutlierRemoval&) = delete;
132 };
133 
134 VTK_ABI_NAMESPACE_END
135 #endif
remove sparse outlier points
#define VTK_INT_MAX
Definition: vtkType.h:144
concrete class for storing a set of points
Definition: vtkPointSet.h:58
virtual int FilterPoints(vtkPointSet *input)=0
static vtkPolyDataAlgorithm * New()
#define VTK_FLOAT_MAX
Definition: vtkType.h:152
a simple class to control print indentation
Definition: vtkIndent.h:28
abstract class to quickly locate points in 3-space
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to obtain type information, and print information.
abstract class for filtering a point cloud