40 #ifndef PCL_FILTERS_BILATERAL_H_
41 #define PCL_FILTERS_BILATERAL_H_
43 #include <pcl/filters/filter.h>
44 #include <pcl/search/pcl_search.h>
56 template<
typename Po
intT>
66 typedef boost::shared_ptr< BilateralFilter<PointT> >
Ptr;
67 typedef boost::shared_ptr< const BilateralFilter<PointT> >
ConstPtr;
74 sigma_r_ (
std::numeric_limits<double>::max ()),
93 computePointWeight (
const int pid,
const std::vector<int> &indices,
const std::vector<float> &distances);
100 { sigma_s_ = sigma_s; }
105 {
return (sigma_s_); }
112 { sigma_r_ = sigma_r;}
117 {
return (sigma_r_); }
133 kernel (
double x,
double sigma)
134 {
return (exp (- (x*x)/(2*sigma*sigma))); }
146 #ifdef PCL_NO_PRECOMPILE
147 #include <pcl/filters/impl/bilateral.hpp>
150 #endif // PCL_FILTERS_BILATERAL_H_
void setHalfSize(const double sigma_s)
Set the half size of the Gaussian bilateral filter window.
double getStdDev() const
Get the value of the current standard deviation parameter of the bilateral filter.
void applyFilter(PointCloud &output)
Filter the input data and store the results into output.
double getHalfSize() const
Get the half size of the Gaussian bilateral filter window as set by the user.
Filter represents the base filter class.
A bilateral filter implementation for point cloud data.
boost::shared_ptr< pcl::search::Search< PointT > > Ptr
boost::shared_ptr< const BilateralFilter< PointT > > ConstPtr
PointCloud represents the base class in PCL for storing collections of 3D points. ...
boost::shared_ptr< BilateralFilter< PointT > > Ptr
void setStdDev(const double sigma_r)
Set the standard deviation parameter.
double computePointWeight(const int pid, const std::vector< int > &indices, const std::vector< float > &distances)
Compute the intensity average for a single point.
BilateralFilter()
Constructor.
void setSearchMethod(const KdTreePtr &tree)
Provide a pointer to the search object.