39#ifndef PCL_SEGMENTATION_PROGRESSIVE_MORPHOLOGICAL_FILTER_HPP_
40#define PCL_SEGMENTATION_PROGRESSIVE_MORPHOLOGICAL_FILTER_HPP_
43#include <pcl/common/io.h>
44#include <pcl/filters/morphological_filter.h>
45#include <pcl/segmentation/progressive_morphological_filter.h>
46#include <pcl/point_cloud.h>
50template <
typename Po
intT>
52 max_window_size_ (33),
54 max_distance_ (10.0f),
55 initial_distance_ (0.15f),
63template <
typename Po
intT>
69template <
typename Po
intT>
void
83 float window_size = 0.0f;
86 while (window_size < max_window_size_)
90 window_size = cell_size_ * (2.0f * std::pow (base_,
iteration) + 1.0f);
92 window_size = cell_size_ * (2.0f * (
iteration+1) * base_ + 1.0f);
117 PCL_DEBUG (
" Iteration %d (height threshold = %f, window size = %f)...",
142 PCL_DEBUG (
"ground now has %d points\n",
ground.
size ());
148#define PCL_INSTANTIATE_ProgressiveMorphologicalFilter(T) template class pcl::ProgressiveMorphologicalFilter<T>;
Iterator class for point clouds with or without given indices.
std::size_t size() const
Size of the range the iterator is going through.
shared_ptr< PointCloud< PointT > > Ptr
~ProgressiveMorphologicalFilter()
virtual void extract(Indices &ground)
This method launches the segmentation algorithm and returns indices of points determined to be ground...
ProgressiveMorphologicalFilter()
Constructor that sets default values for member variables.
Define standard C methods and C++ classes that are common to all methods.
Defines all the PCL implemented PointT point type structures.
IndicesAllocator<> Indices
Type used for indices in PCL.