Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
pcl::filters::Convolution3D< PointIn, PointOut, KernelT > Class Template Reference

Convolution3D handles the non organized case where width and height are unknown or if you are only interested in convolving based on local neighborhood information. More...

#include <pcl/filters/convolution_3d.h>

Inheritance diagram for pcl::filters::Convolution3D< PointIn, PointOut, KernelT >:
Collaboration diagram for pcl::filters::Convolution3D< PointIn, PointOut, KernelT >:

Public Types

using PointCloudIn = pcl::PointCloud<PointIn>
using PointCloudInConstPtr = typename PointCloudIn::ConstPtr
using KdTree = pcl::search::Search<PointIn>
using KdTreePtr = typename KdTree::Ptr
using PointCloudOut = pcl::PointCloud<PointOut>
using Ptr = shared_ptr<Convolution3D<PointIn, PointOut, KernelT> >
using ConstPtr = shared_ptr<Convolution3D<PointIn, PointOut, KernelT> >
Public Types inherited from pcl::PCLBase< PointIn >
using PointCloud
using PointCloudPtr
using PointCloudConstPtr
using PointIndicesPtr
using PointIndicesConstPtr

Public Member Functions

 Convolution3D ()
 Constructor.
void setNumberOfThreads (unsigned int nr_threads=0)
 Initialize the scheduler and set the number of threads to use.
void setKernel (const KernelT &kernel)
 Set convolving kernel.
void setSearchSurface (const PointCloudInConstPtr &cloud)
 Provide a pointer to the input dataset that we need to estimate features at every point for.
PointCloudInConstPtr getSearchSurface ()
 Get a pointer to the surface point cloud dataset.
void setSearchMethod (const KdTreePtr &tree)
 Provide a pointer to the search object.
KdTreePtr getSearchMethod ()
 Get a pointer to the search method used.
void setRadiusSearch (double radius)
 Set the sphere radius that is to be used for determining the nearest neighbors.
double getRadiusSearch ()
 Get the sphere radius used for determining the neighbors.
void convolve (PointCloudOut &output)
 Convolve point cloud.
Public Member Functions inherited from pcl::PCLBase< PointIn >
 PCLBase ()
 Empty constructor.
virtual ~PCLBase ()=default
 Destructor.
virtual void setInputCloud (const PointCloudConstPtr &cloud)
 Provide a pointer to the input dataset.
PointCloudConstPtr const getInputCloud () const
 Get a pointer to the input point cloud dataset.
virtual void setIndices (const IndicesPtr &indices)
 Provide a pointer to the vector of indices that represents the input data.
IndicesPtr getIndices ()
 Get a pointer to the vector of indices used.
const PointIn & operator[] (std::size_t pos) const
 Override PointCloud operator[] to shorten code.

Protected Member Functions

bool initCompute ()
 initialize computation
Protected Member Functions inherited from pcl::PCLBase< PointIn >
bool initCompute ()
 This method should get called before starting the actual computation.
bool deinitCompute ()
 This method should get called after finishing the actual computation.

Protected Attributes

PointCloudInConstPtr surface_
 An input point cloud describing the surface that is to be used for nearest neighbors estimation.
KdTreePtr tree_
 A pointer to the spatial search object.
double search_radius_
 The nearest neighbors search radius for each point.
unsigned int threads_ {1}
 number of threads
KernelT kernel_
 convlving kernel
Protected Attributes inherited from pcl::PCLBase< PointIn >
PointCloudConstPtr input_
 The input point cloud dataset.
IndicesPtr indices_
 A pointer to the vector of point indices to use.
bool use_indices_
 Set to true if point indices are used.
bool fake_indices_
 If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud.

Detailed Description

template<typename PointIn, typename PointOut, typename KernelT>
class pcl::filters::Convolution3D< PointIn, PointOut, KernelT >

Convolution3D handles the non organized case where width and height are unknown or if you are only interested in convolving based on local neighborhood information.

The convolving kernel MUST be a radial symmetric and implement ConvolvingKernel interface.

Definition at line 196 of file convolution_3d.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointIn, typename PointOut, typename KernelT>
using pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::ConstPtr = shared_ptr<Convolution3D<PointIn, PointOut, KernelT> >

Definition at line 205 of file convolution_3d.h.

◆ KdTree

template<typename PointIn, typename PointOut, typename KernelT>
using pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::KdTree = pcl::search::Search<PointIn>

Definition at line 201 of file convolution_3d.h.

◆ KdTreePtr

template<typename PointIn, typename PointOut, typename KernelT>
using pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::KdTreePtr = typename KdTree::Ptr

Definition at line 202 of file convolution_3d.h.

◆ PointCloudIn

template<typename PointIn, typename PointOut, typename KernelT>
using pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::PointCloudIn = pcl::PointCloud<PointIn>

Definition at line 199 of file convolution_3d.h.

◆ PointCloudInConstPtr

template<typename PointIn, typename PointOut, typename KernelT>
using pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr

Definition at line 200 of file convolution_3d.h.

◆ PointCloudOut

template<typename PointIn, typename PointOut, typename KernelT>
using pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::PointCloudOut = pcl::PointCloud<PointOut>

Definition at line 203 of file convolution_3d.h.

◆ Ptr

template<typename PointIn, typename PointOut, typename KernelT>
using pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::Ptr = shared_ptr<Convolution3D<PointIn, PointOut, KernelT> >

Definition at line 204 of file convolution_3d.h.

Constructor & Destructor Documentation

◆ Convolution3D()

template<typename PointInT, typename PointOutT, typename KernelT>
pcl::filters::Convolution3D< PointInT, PointOutT, KernelT >::Convolution3D ( )

Constructor.

Definition at line 179 of file convolution_3d.hpp.

References pcl::PCLBase< PointIn >::PCLBase(), search_radius_, surface_, and tree_.

Member Function Documentation

◆ convolve()

template<typename PointInT, typename PointOutT, typename KernelT>
void pcl::filters::Convolution3D< PointInT, PointOutT, KernelT >::convolve ( PointCloudOut & output)

◆ getRadiusSearch()

template<typename PointIn, typename PointOut, typename KernelT>
double pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::getRadiusSearch ( )
inline

Get the sphere radius used for determining the neighbors.

Definition at line 253 of file convolution_3d.h.

References search_radius_.

◆ getSearchMethod()

template<typename PointIn, typename PointOut, typename KernelT>
KdTreePtr pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::getSearchMethod ( )
inline

Get a pointer to the search method used.

Definition at line 243 of file convolution_3d.h.

References tree_.

◆ getSearchSurface()

template<typename PointIn, typename PointOut, typename KernelT>
PointCloudInConstPtr pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::getSearchSurface ( )
inline

Get a pointer to the surface point cloud dataset.

Definition at line 233 of file convolution_3d.h.

References surface_.

◆ initCompute()

template<typename PointInT, typename PointOutT, typename KernelT>
bool pcl::filters::Convolution3D< PointInT, PointOutT, KernelT >::initCompute ( )
protected

initialize computation

Definition at line 188 of file convolution_3d.hpp.

References pcl::PCLBase< PointT >::initCompute(), pcl::PCLBase< PointIn >::input_, kernel_, search_radius_, surface_, and tree_.

Referenced by convolve().

◆ setKernel()

template<typename PointIn, typename PointOut, typename KernelT>
void pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::setKernel ( const KernelT & kernel)
inline

Set convolving kernel.

Parameters
[in]kernelconvolving element

Definition at line 223 of file convolution_3d.h.

References kernel_.

◆ setNumberOfThreads()

template<typename PointIn, typename PointOut, typename KernelT>
void pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::setNumberOfThreads ( unsigned int nr_threads = 0)
inline

Initialize the scheduler and set the number of threads to use.

Parameters
nr_threadsthe number of hardware threads to use (0 sets the value back to automatic)

Definition at line 217 of file convolution_3d.h.

References threads_.

◆ setRadiusSearch()

template<typename PointIn, typename PointOut, typename KernelT>
void pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::setRadiusSearch ( double radius)
inline

Set the sphere radius that is to be used for determining the nearest neighbors.

Parameters
radiusthe sphere radius used as the maximum distance to consider a point a neighbor

Definition at line 249 of file convolution_3d.h.

References search_radius_.

◆ setSearchMethod()

template<typename PointIn, typename PointOut, typename KernelT>
void pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::setSearchMethod ( const KdTreePtr & tree)
inline

Provide a pointer to the search object.

Parameters
treea pointer to the spatial search object.

Definition at line 239 of file convolution_3d.h.

References tree_.

◆ setSearchSurface()

template<typename PointIn, typename PointOut, typename KernelT>
void pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::setSearchSurface ( const PointCloudInConstPtr & cloud)
inline

Provide a pointer to the input dataset that we need to estimate features at every point for.

Parameters
cloudthe const boost shared pointer to a PointCloud message

Definition at line 229 of file convolution_3d.h.

References surface_.

Member Data Documentation

◆ kernel_

template<typename PointIn, typename PointOut, typename KernelT>
KernelT pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::kernel_
protected

convlving kernel

Definition at line 278 of file convolution_3d.h.

Referenced by convolve(), initCompute(), and setKernel().

◆ search_radius_

template<typename PointIn, typename PointOut, typename KernelT>
double pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::search_radius_
protected

The nearest neighbors search radius for each point.

Definition at line 272 of file convolution_3d.h.

Referenced by Convolution3D(), convolve(), getRadiusSearch(), initCompute(), and setRadiusSearch().

◆ surface_

template<typename PointIn, typename PointOut, typename KernelT>
PointCloudInConstPtr pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::surface_
protected

An input point cloud describing the surface that is to be used for nearest neighbors estimation.

Definition at line 266 of file convolution_3d.h.

Referenced by Convolution3D(), convolve(), getSearchSurface(), initCompute(), and setSearchSurface().

◆ threads_

template<typename PointIn, typename PointOut, typename KernelT>
unsigned int pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::threads_ {1}
protected

number of threads

Definition at line 275 of file convolution_3d.h.

Referenced by setNumberOfThreads().

◆ tree_

template<typename PointIn, typename PointOut, typename KernelT>
KdTreePtr pcl::filters::Convolution3D< PointIn, PointOut, KernelT >::tree_
protected

A pointer to the spatial search object.

Definition at line 269 of file convolution_3d.h.

Referenced by Convolution3D(), convolve(), getSearchMethod(), initCompute(), and setSearchMethod().


The documentation for this class was generated from the following files: