11 #include <Utils/cc2sm.h>
12 #include <Utils/sm2cc.h>
14 #include "PclUtils/PCLModules.h"
24 #include <QMainWindow>
28 tr(
"Statistical Outlier Removal"),
29 tr(
"Filter outlier data based on point neighborhood statistics"),
30 tr(
"Filter the points that are farther of their neighbors than "
31 "the average (plus a number of times the standard deviation)"),
32 ":/toolbar/PclAlgorithms/icons/sor_outlier_remover.png")),
61 if (!cloud)
return -1;
64 PCLCloud::Ptr tmp_cloud = cc2smReader(cloud).getAsSM();
65 if (!tmp_cloud)
return -1;
67 PCLCloud::Ptr outcloud(
new PCLCloud);
68 int result = PCLModules::RemoveOutliersStatistical<PCLCloud>(
74 if (!final_cloud)
return -1;
Base abstract class for each implemented PCL filter.
void newEntity(ccHObject *)
Signal emitted when a new entity is created by the filter.
ecvMainAppInterface * m_app
Associated application interface.
ccPointCloud * getSelectedEntityAsCCPointCloud() const
Returns the first selected entity as a ccPointCloud.
void getParametersFromDialog()
Collects parameters from the filter dialog (if openDialog is successful)
StatisticalOutliersRemover()
virtual ~StatisticalOutliersRemover()
int compute()
Performs the actual filter job.
virtual bool addChild(ccHObject *child, int dependencyFlags=DP_PARENT_OF_OTHER, int insertIndex=-1)
Adds a child.
ccHObject * getParent() const
Returns parent object.
virtual QString getName() const
Returns object name.
virtual void setName(const QString &name)
Sets object name.
virtual void setEnabled(bool state)
Sets the "enabled" property.
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
virtual void setGlobalScale(double scale)
virtual void setGlobalShift(double x, double y, double z)
Sets shift applied to original coordinates (information storage only)
virtual const CCVector3d & getGlobalShift() const
Returns the shift applied to original coordinates.
virtual double getGlobalScale() const
Returns the scale applied to original coordinates.
virtual QMainWindow * getMainWindow()=0
Returns main window.