42 #include <pcl/point_cloud.h>
61 static const unsigned MAX_KERNEL_WIDTH = 71;
72 unsigned kernel_width = MAX_KERNEL_WIDTH)
const;
85 Eigen::VectorXf &derivative,
86 unsigned kernel_width = MAX_KERNEL_WIDTH)
const;
97 const Eigen::VectorXf &
kernel,
108 template <
typename Po
intT>
void
110 std::function <
float (
const PointT& p)> field_accessor,
111 const Eigen::VectorXf &
kernel,
123 const Eigen::VectorXf &
kernel,
134 template <
typename Po
intT>
void
136 std::function <
float (
const PointT& p)> field_accessor,
137 const Eigen::VectorXf &
kernel,
150 const Eigen::VectorXf &horiz_kernel,
151 const Eigen::VectorXf &vert_kernel,
154 std::cout <<
">>> convolve cpp" << std::endl;
156 convolveRows (input, horiz_kernel, tmp);
157 convolveCols (tmp, vert_kernel, output);
158 std::cout <<
"<<< convolve cpp" << std::endl;
170 template <
typename Po
intT>
inline void
172 std::function <
float (
const PointT& p)> field_accessor,
173 const Eigen::VectorXf &horiz_kernel,
174 const Eigen::VectorXf &vert_kernel,
177 std::cout <<
">>> convolve hpp" << std::endl;
179 convolveRows<PointT>(input, field_accessor, horiz_kernel, tmp);
180 convolveCols(tmp, vert_kernel, output);
181 std::cout <<
"<<< convolve hpp" << std::endl;
196 const Eigen::VectorXf &gaussian_kernel,
197 const Eigen::VectorXf &gaussian_kernel_derivative,
201 convolve (input, gaussian_kernel_derivative, gaussian_kernel, grad_x);
202 convolve (input, gaussian_kernel, gaussian_kernel_derivative, grad_y);
216 template <
typename Po
intT>
inline void
218 std::function <
float (
const PointT& p)> field_accessor,
219 const Eigen::VectorXf &gaussian_kernel,
220 const Eigen::VectorXf &gaussian_kernel_derivative,
224 convolve<PointT> (input, field_accessor, gaussian_kernel_derivative, gaussian_kernel, grad_x);
225 convolve<PointT> (input, field_accessor, gaussian_kernel, gaussian_kernel_derivative, grad_y);
237 const Eigen::VectorXf &gaussian_kernel,
240 convolve (input, gaussian_kernel, gaussian_kernel, output);
251 template <
typename Po
intT>
inline void
253 std::function <
float (
const PointT& p)> field_accessor,
254 const Eigen::VectorXf &gaussian_kernel,
257 convolve<PointT> (input, field_accessor, gaussian_kernel, gaussian_kernel, output);
262 #include <pcl/common/impl/gaussian.hpp>