|
using |
Ptr = shared_ptr< DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT > > |
|
using |
ConstPtr = shared_ptr< const DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT > > |
|
using |
BaseClass = PCLBase< PointInT > |
|
using |
Ptr = shared_ptr< Feature< PointInT, PointOutT > > |
|
using |
ConstPtr = shared_ptr< const Feature< PointInT, PointOutT > > |
|
using |
KdTree = pcl::search::Search< PointInT > |
|
using |
KdTreePtr = typename KdTree::Ptr
|
|
using |
PointCloudIn = pcl::PointCloud< PointInT > |
|
using |
PointCloudInPtr = typename PointCloudIn::Ptr
|
|
using |
PointCloudInConstPtr = typename PointCloudIn::ConstPtr
|
|
using |
PointCloudOut = pcl::PointCloud< PointOutT > |
|
using |
SearchMethod = std::function< int(std::size_t, double, pcl::Indices &, std::vector< float > &)> |
|
using |
SearchMethodSurface = std::function< int(const PointCloudIn &cloud, std::size_t index, double, pcl::Indices &, std::vector< float > &)> |
|
using |
PointCloud = pcl::PointCloud< PointInT > |
|
using |
PointCloudPtr = typename PointCloud::Ptr
|
|
using |
PointCloudConstPtr = typename PointCloud::ConstPtr
|
|
using |
PointIndicesPtr = PointIndices::Ptr
|
|
using |
PointIndicesConstPtr = PointIndices::ConstPtr
|
|
|
const std::string & |
getClassName () const |
|
Get a string representation of the name of this class. More...
|
|
virtual bool |
deinitCompute () |
|
This method should get called after ending the actual computation. More...
|
|
int |
searchForNeighbors (std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const |
|
Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. More...
|
|
int |
searchForNeighbors (const PointCloudIn &cloud, std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const |
|
Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. More...
|
|
bool |
initCompute () |
|
This method should get called before starting the actual computation. More...
|
|
bool |
deinitCompute () |
|
This method should get called after finishing the actual computation. More...
|
|
std::string |
feature_name_ |
|
The feature name. More...
|
|
SearchMethodSurface |
search_method_surface_ |
|
The search method template for points. More...
|
|
PointCloudInConstPtr |
surface_ |
|
An input point cloud describing the surface that is to be used for nearest neighbors estimation. More...
|
|
KdTreePtr |
tree_ |
|
A pointer to the spatial search object. More...
|
|
double |
search_parameter_ |
|
The actual search parameter (from either search_radius_ or k_). More...
|
|
double |
search_radius_ |
|
The nearest neighbors search radius for each point. More...
|
|
int |
k_ |
|
The number of K nearest neighbors to use for each point. More...
|
|
bool |
fake_surface_ |
|
If no surface is given, we use the input PointCloud as the surface. More...
|
|
PointCloudConstPtr |
input_ |
|
The input point cloud dataset. More...
|
|
IndicesPtr |
indices_ |
|
A pointer to the vector of point indices to use. More...
|
|
bool |
use_indices_ |
|
Set to true if point indices are used. More...
|
|
bool |
fake_indices_ |
|
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...
|
|
template<typename PointInT, typename PointNT, typename PointOutT>
class pcl::DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT >
A Difference of Normals (DoN) scale filter implementation for point cloud data.
For each point in the point cloud two normals estimated with a differing search radius (sigma_s, sigma_l) are subtracted, the difference of these normals provides a scale-based feature which can be further used to filter the point cloud, somewhat like the Difference of Guassians in image processing, but instead on surfaces. Best results are had when the two search radii are related as sigma_l=10*sigma_s, the octaves between the two search radii can be though of as a filter bandwidth. For appropriate values and thresholds it can be used for surface edge extraction.
- Attention
- The input normals given by setInputNormalsSmall and setInputNormalsLarge have to match the input point cloud given by setInputCloud. This behavior is different than feature estimation methods that extend FeatureFromNormals, which match the normals with the search surface.
- Note
- For more information please see Yani Ioannou. Automatic Urban Modelling using Mobile Urban LIDAR Data. Thesis (Master, Computing), Queen's University, March, 2010.
- Author
- Yani Ioannou.
Definition at line 68 of file don.h.