|
Point Cloud Library (PCL)
1.5.1
|
Class Convolution Convolution is a mathematical operation on two functions f and g, producing a third function that is typically viewed as a modified version of one of the original functions. More...
#include <pcl/common/convolution.h>
Public Types | |
| enum | BORDERS_POLICY { IGNORE = -1, MIRROR, DUPLICATE } |
| The borders policy available. More... | |
| typedef PointOperatorsType::PointIn | PointIn |
| typedef PointOperatorsType::PointOut | PointOut |
| typedef pcl::PointCloud< PointIn > | PointCloudIn |
| typedef PointCloudIn::Ptr | PointCloudInPtr |
| typedef PointCloudIn::ConstPtr | PointCloudInConstPtr |
| typedef pcl::PointCloud< PointOut > | PointCloudOut |
| typedef PointCloudOut::Ptr | PointCloudOutPtr |
| typedef pcl::PointCloudSpring < PointIn > | PointCloudSpring |
Public Member Functions | |
| Convolution () | |
| Constructor. | |
| void | setBordersPolicy (int policy) |
| Set the borders policy. | |
| int | getBordersPolicy () |
| Get the borders policy. | |
| void | setConvolveDirection (int direction) |
| Set the convolving direction. | |
| int | getConvolveDirection () |
| Get the convolving direction. | |
| void | convolve (const Eigen::ArrayXf &h_kernel, const Eigen::ArrayXf &v_kernel, PointCloudOutPtr &out) |
| Convolve point cloud with an horizontal kernel along rows then vertical kernel along columns : convolve separately. | |
| void | convolveRows (const Eigen::ArrayXf &kernel, PointCloudOutPtr &output) |
| Convolve a float image rows by a given kernel. | |
| void | convolveCols (const Eigen::ArrayXf &kernel, PointCloudOutPtr &output) |
| Convolve a float image columns by a given kernel. | |
| void | setInputCloud (const PointCloudInConstPtr &cloud) |
| Provide a pointer to the input dataset. | |
| void | setInputCloud (const PointCloudInPtr &cloud) |
| Provide a pointer to the input dataset. | |
| PointOut | add (const PointIn &lhs, const PointIn &rhs) |
| sum 2 PointIn to a PointOut | |
| PointOut | minus (const PointIn &lhs, const PointIn &rhs) |
| substract 2 PointIn to a PointOut | |
| PointOut | dot (const float &scalar, const PointIn &p) |
| multiply a scalar with a PointIn to a PointOut | |
| PointOut | dot (const PointIn &p, const float &scalar) |
| multiply a PointIn with a scalar to a PointOut | |
| PointOut & | plus_assign (PointOut &lhs, const PointOut &rhs) |
| sum and assign a PointOut to another PointOut | |
Class Convolution Convolution is a mathematical operation on two functions f and g, producing a third function that is typically viewed as a modified version of one of the original functions.
see http://en.wikipedia.org/wiki/Convolution.
The class provides rows, column and separate convolving operations of a point cloud. Columns and separate convolution is only allowed on organised point clouds.
When convolving, computing the rows and cols elements at 1/2 kernel width distance from the borders is not defined. We allow for 3 policies:
After convolving the original point cloud is shrinked to the original size.
Definition at line 81 of file convolution.h.
| typedef pcl::PointCloud<PointIn> pcl::common::Convolution< PointOperatorsType >::PointCloudIn |
Definition at line 86 of file convolution.h.
| typedef PointCloudIn::ConstPtr pcl::common::Convolution< PointOperatorsType >::PointCloudInConstPtr |
Definition at line 88 of file convolution.h.
| typedef PointCloudIn::Ptr pcl::common::Convolution< PointOperatorsType >::PointCloudInPtr |
Definition at line 87 of file convolution.h.
| typedef pcl::PointCloud<PointOut> pcl::common::Convolution< PointOperatorsType >::PointCloudOut |
Definition at line 89 of file convolution.h.
| typedef PointCloudOut::Ptr pcl::common::Convolution< PointOperatorsType >::PointCloudOutPtr |
Definition at line 90 of file convolution.h.
| typedef pcl::PointCloudSpring<PointIn> pcl::common::Convolution< PointOperatorsType >::PointCloudSpring |
Definition at line 91 of file convolution.h.
| typedef PointOperatorsType::PointIn pcl::common::Convolution< PointOperatorsType >::PointIn |
Definition at line 84 of file convolution.h.
| typedef PointOperatorsType::PointOut pcl::common::Convolution< PointOperatorsType >::PointOut |
Definition at line 85 of file convolution.h.
| enum pcl::common::Convolution::BORDERS_POLICY |
The borders policy available.
Definition at line 94 of file convolution.h.
| pcl::common::Convolution< PointOperatorsType >::Convolution | ( | ) | [inline] |
Constructor.
Definition at line 96 of file convolution.h.
| PointOut pcl::common::Convolution< PointOperatorsType >::add | ( | const PointIn & | lhs, |
| const PointIn & | rhs | ||
| ) | [inline] |
sum 2 PointIn to a PointOut
Definition at line 208 of file convolution.h.
| void pcl::common::Convolution< PointOperatorsType >::convolve | ( | const Eigen::ArrayXf & | h_kernel, |
| const Eigen::ArrayXf & | v_kernel, | ||
| PointCloudOutPtr & | out | ||
| ) | [inline] |
Convolve point cloud with an horizontal kernel along rows then vertical kernel along columns : convolve separately.
| [in] | h_kernel | kernel for convolving rows |
| [in] | v_kernel | kernel for convolving columns |
| [out] | out | the convolved cloud |
Definition at line 117 of file convolution.h.
| void pcl::common::Convolution< PointOperatorsType >::convolveCols | ( | const Eigen::ArrayXf & | kernel, |
| PointCloudOutPtr & | output | ||
| ) | [inline] |
Convolve a float image columns by a given kernel.
| [in] | kernel | convolution kernel |
| [out] | output | the convolved image |
Definition at line 169 of file convolution.h.
| void pcl::common::Convolution< PointOperatorsType >::convolveRows | ( | const Eigen::ArrayXf & | kernel, |
| PointCloudOutPtr & | output | ||
| ) | [inline] |
Convolve a float image rows by a given kernel.
| [in] | kernel | convolution kernel |
| [out] | output | the convolved cloud |
Definition at line 145 of file convolution.h.
| PointOut pcl::common::Convolution< PointOperatorsType >::dot | ( | const float & | scalar, |
| const PointIn & | p | ||
| ) | [inline] |
multiply a scalar with a PointIn to a PointOut
Definition at line 220 of file convolution.h.
| PointOut pcl::common::Convolution< PointOperatorsType >::dot | ( | const PointIn & | p, |
| const float & | scalar | ||
| ) | [inline] |
multiply a PointIn with a scalar to a PointOut
Definition at line 226 of file convolution.h.
| int pcl::common::Convolution< PointOperatorsType >::getBordersPolicy | ( | ) | [inline] |
Get the borders policy.
Definition at line 101 of file convolution.h.
| int pcl::common::Convolution< PointOperatorsType >::getConvolveDirection | ( | ) | [inline] |
Get the convolving direction.
Definition at line 106 of file convolution.h.
| PointOut pcl::common::Convolution< PointOperatorsType >::minus | ( | const PointIn & | lhs, |
| const PointIn & | rhs | ||
| ) | [inline] |
substract 2 PointIn to a PointOut
Definition at line 214 of file convolution.h.
| PointOut& pcl::common::Convolution< PointOperatorsType >::plus_assign | ( | PointOut & | lhs, |
| const PointOut & | rhs | ||
| ) | [inline] |
sum and assign a PointOut to another PointOut
Definition at line 232 of file convolution.h.
| void pcl::common::Convolution< PointOperatorsType >::setBordersPolicy | ( | int | policy | ) | [inline] |
Set the borders policy.
Definition at line 99 of file convolution.h.
| void pcl::common::Convolution< PointOperatorsType >::setConvolveDirection | ( | int | direction | ) | [inline] |
Set the convolving direction.
Definition at line 104 of file convolution.h.
| void pcl::common::Convolution< PointOperatorsType >::setInputCloud | ( | const PointCloudInConstPtr & | cloud | ) | [inline] |
Provide a pointer to the input dataset.
| cloud | the const boost shared pointer to a PointCloud message |
Definition at line 192 of file convolution.h.
| void pcl::common::Convolution< PointOperatorsType >::setInputCloud | ( | const PointCloudInPtr & | cloud | ) | [inline] |
Provide a pointer to the input dataset.
| cloud | the boost shared pointer to a PointCloud message |
Definition at line 202 of file convolution.h.
1.8.0