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_
BilateralFilter()
Constructor.
double computePointWeight(const int pid, const std::vector< int > &indices, const std::vector< float > &distances)
Compute the intensity average for a single point.
A bilateral filter implementation for point cloud data.
boost::shared_ptr< pcl::search::Search< PointT > > Ptr
void applyFilter(PointCloud &output)
Filter the input data and store the results into output.
void setStdDev(const double sigma_r)
Set the standard deviation parameter.
void setHalfSize(const double sigma_s)
Set the half size of the Gaussian bilateral filter window.
void setSearchMethod(const KdTreePtr &tree)
Provide a pointer to the search object.
double getHalfSize() const
Get the half size of the Gaussian bilateral filter window as set by the user.
boost::shared_ptr< BilateralFilter< PointT > > Ptr
double getStdDev() const
Get the value of the current standard deviation parameter of the bilateral filter.
Filter represents the base filter class.
boost::shared_ptr< const BilateralFilter< PointT > > ConstPtr