42#include <pcl/filters/filter.h>
43#include <pcl/search/search.h>
55 template<
typename Po
intT>
104 {
return (sigma_s_); }
116 {
return (sigma_r_); }
132 kernel (
double x,
double sigma)
133 {
return (std::exp (- (x*x)/(2*sigma*sigma))); }
145#ifdef PCL_NO_PRECOMPILE
146#include <pcl/filters/impl/bilateral.hpp>
A bilateral filter implementation for point cloud data.
shared_ptr< BilateralFilter< PointT > > Ptr
void setSearchMethod(const KdTreePtr &tree)
Provide a pointer to the search object.
double getStdDev() const
Get the value of the current standard deviation parameter of the bilateral filter.
BilateralFilter()
Constructor.
double getHalfSize() const
Get the half size of the Gaussian bilateral filter window as set by the user.
void applyFilter(PointCloud &output) override
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.
double computePointWeight(const int pid, const Indices &indices, const std::vector< float > &distances)
Compute the intensity average for a single point.
Iterator class for point clouds with or without given indices.
Filter represents the base filter class.
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< pcl::search::Search< PointT > > Ptr
IndicesAllocator<> Indices
Type used for indices in PCL.
A point structure representing Euclidean xyz coordinates, and the RGB color.