
Namespaces  
concepts  
detail  
terms  
Data Structures  
class  EdgeWeightComputer 
This class computes edge weights for a given point cloud graph. More...  
class  GraphBuilder 
This is an abstract base class for building a BGLcompatible point cloud graph from a point cloud. More...  
class  NearestNeighborsGraphBuilder 
This class builds a point cloud graph representing an input dataset by using nearest neighbor search. More...  
class  point_cloud_graph 
struct  point_cloud_graph_traits 
Traits struct to access the types associated with point_cloud_graph. More...  
struct  point_cloud_graph_traits< boost::subgraph< Graph > > 
Specialization for point_cloud_graphs wrapped in boost::subgraph . More...  
class  point_cloud_property_map 
This class is to expose the point cloud stored in the point_cloud_graph as a vertex bundle property map. More...  
struct  remove_edge_if 
remove_edge_if structure is an "extended" version of, boost::remove_edge_if that incorporates a workaround to allow edge removal from both plain graphs and subgraphs. More...  
struct  remove_edge_if< Graph, typename boost::enable_if< detail::has_root_graph< Graph > >::type > 
class  VoxelGridGraphBuilder 
This class builds a BGL graph representing an input dataset by using octree::OctreePointCloud. More...  
Functions  
template<typename Graph >  
void  computeNormalsAndCurvatures (Graph &graph, bool neighborhood_1ring=false) 
Compute normals and curvatures for all vertices in a graph. More...  
template<typename Graph >  
void  computeSignedCurvatures (Graph &graph) 
Compute the type of curvature (concave/convex) for each vertex. More...  
template<typename Graph , typename ColorMap >  
size_t  createSubgraphsFromColorMap (Graph &graph, ColorMap color_map, std::vector< boost::reference_wrapper< Graph > > &subgraphs) 
Split a given graph into subgraphs based on the values in a given vertex color map. More...  
template<typename Graph >  
size_t  createSubgraphsFromConnectedComponents (Graph &graph, std::vector< boost::reference_wrapper< Graph > > &subgraphs) 
Find connected components in a graph and create a subgraph for each of them. More...  
template<typename Graph >  
void  createSubgraphsFromIndices (Graph &graph, const pcl::PointIndices &indices, std::vector< boost::reference_wrapper< Graph > > &subgraphs) 
Create two subgraphs of a given graph, one containing the points with the given indices, and the other containing the remaining points. More...  
template<typename Graph >  
void  createSubgraphsFromIndices (Graph &graph, const std::vector< pcl::PointIndices > &indices, std::vector< boost::reference_wrapper< Graph > > &subgraphs) 
Create subgraphs of a given graph containing vertices from a given indices vector. More...  
template<PCG_PARAMS >  
pcl::PointIndices::Ptr  indices (const boost::subgraph< PCG > &g) 
Retrieve the indices of the points of the point cloud stored in a point cloud (sub)graph that actually belong to the (sub)graph. More...  
template<PCG_PARAMS >  
pcl::PointIndices::Ptr  indices (const PCG &g) 
Retrieve the indices of the points of the point cloud stored in a point cloud graph that actually belong to the graph. More...  
template<PCG_PARAMS >  
pcl::PointCloud< P >::Ptr  point_cloud (boost::subgraph< PCG > &g) 
Retrieve the point cloud stored in a point cloud (sub)graph. More...  
template<PCG_PARAMS >  
pcl::PointCloud< P >::ConstPtr  point_cloud (const boost::subgraph< PCG > &g) 
Retrieve the point cloud stored in a point cloud (sub)graph (const version). More...  
template<PCG_PARAMS >  
pcl::PointCloud< P >::ConstPtr  point_cloud (const PCG &g) 
Retrieve the point cloud stored in a point cloud graph (const version). More...  
template<PCG_PARAMS >  
pcl::PointCloud< P >::Ptr  point_cloud (PCG &g) 
Retrieve the point cloud stored in a point cloud graph. More...  
template<typename Graph >  
void  smoothen (Graph &graph, float spatial_sigma, float influence_sigma) 
Apply bilateral filtering to a given point cloud graph. More...  
void computeNormalsAndCurvatures  (  Graph &  graph, 
bool  neighborhood_1ring = false 

) 
Compute normals and curvatures for all vertices in a graph.
For each vertex the function finds its 1 or 2ring neighbors and uses pcl::computePointNormal() to calculate normal and curvature. It also flips the calculated normal towards 0,0,0 viewpoint.
Graph
has to be a model of concepts::PointCloudGraphConcept.
[in]  neighborhood_1ring  flag which controls whether 1 or 2 ring neighborhood is used. Default is 2ring, which is slower, but produces smoother normals. 
Definition at line 55 of file common.hpp.
void computeSignedCurvatures  (  Graph &  graph  ) 
Compute the type of curvature (concave/convex) for each vertex.
The type of curvature is expressed through the sign. Convex curvature is positive and concave curvature is negative. The absolute values of curvatures are not altered by this function.
TODO: add the formula.
Graph
has to be a model of concepts::PointCloudGraphConcept.
Definition at line 111 of file common.hpp.
size_t createSubgraphsFromColorMap  (  Graph &  graph, 
ColorMap  color_map,  
std::vector< boost::reference_wrapper< Graph > > &  subgraphs  
) 
Split a given graph into subgraphs based on the values in a given vertex color map.
Each created subgraph is filled with the vertices that have the same color according to the color map. Consequently, the number of created subgraphs is equal to the number of unique colors in the provided map. The subgraphs are guaranteed to be sorted in the increasing order of the color.
In order to allow creation of subgraphs, the graph type should be an instantiation of boost::subgraph template. Note that the graph is passed by nonconst reference, because subgraph creation modifies the parent graph. Also, note that the created subgraphs are output as references wrapped with boost::reference_wrapper. The reason is that the factory function for subgraph creation in BGL returns newly created subgraphs by reference.
[in]  graph  an input graph 
[in]  color_map  a color map that defines vertex colors 
[out]  subgraphs  a vector of references to created subgraps 
Definition at line 163 of file common.hpp.
size_t createSubgraphsFromConnectedComponents  (  Graph &  graph, 
std::vector< boost::reference_wrapper< Graph > > &  subgraphs  
) 
Find connected components in a graph and create a subgraph for each of them.
Each created subgraph is filled with the vertices that belong to the corresponding connected component.
In order to allow creation of subgraphs, the graph type should be an instantiation of boost::subgraph template. Note that the graph is passed by nonconst reference, because subgraph creation modifies the parent graph. Also, note that the created subgraphs are output as references wrapped with boost::reference_wrapper. The reason is that the factory function for subgraph creation in BGL returns newly created subgraphs by reference.
[in]  graph  an input graph 
[out]  subgraphs  a vector of references to created subgraps 
Definition at line 142 of file common.hpp.
void createSubgraphsFromIndices  (  Graph &  graph, 
const pcl::PointIndices &  indices,  
std::vector< boost::reference_wrapper< Graph > > &  subgraphs  
) 
Create two subgraphs of a given graph, one containing the points with the given indices, and the other containing the remaining points.
In order to allow creation of subgraphs, the graph type should be an instantiation of boost::subgraph template. Note that the graph is passed by nonconst reference, because subgraph creation modifies the parent graph. Also, note that the created subgraphs are output as references wrapped with boost::reference_wrapper. The reason is that the factory function for subgraph creation in BGL returns newly created subgraphs by reference.
[in]  graph  an input graph 
[in]  indices  indices of points to be inserted in the first subgraph 
[out]  subgraphs  a vector of references to created subgraps 
Definition at line 199 of file common.hpp.
void createSubgraphsFromIndices  (  Graph &  graph, 
const std::vector< pcl::PointIndices > &  indices,  
std::vector< boost::reference_wrapper< Graph > > &  subgraphs  
) 
Create subgraphs of a given graph containing vertices from a given indices vector.
For each set of indices in the indices
vector this function will create a subgraph containing corresponding vertices of the parent graph. An additional subgraph containing all the remaining vertices (not included in any other subgraph) will be created as well.
In order to allow creation of subgraphs, the graph type should be an instantiation of boost::subgraph template. Note that the graph is passed by nonconst reference, because subgraph creation modifies the parent graph. Also, note that the created subgraphs are output as references wrapped with boost::reference_wrapper. The reason is that the factory function for subgraph creation in BGL returns newly created subgraphs by reference.
[in]  graph  an input graph 
[in]  indices  a vector of indices of points to be inserted in the subgraphs 
[out]  subgraphs  a vector of references to created subgraps 
Definition at line 228 of file common.hpp.

inline 
Retrieve the indices of the points of the point cloud stored in a point cloud (sub)graph that actually belong to the (sub)graph.
A child subgraph contains only a subset of the vertices of the parent graph. This function provides a vector of indices of the vertices of the parent graph that belong to this subgraph as well. These vertex indices are valid point indices for the point cloud stored in the parent graph.
Definition at line 788 of file point_cloud_graph.h.

inline 
Retrieve the indices of the points of the point cloud stored in a point cloud graph that actually belong to the graph.
Since point_cloud_graph always contain all the points that it stores, this function always returns a vector with indices from 0
to N1
, where N
is the number of vertices (points) in the graph.
Definition at line 737 of file point_cloud_graph.h.

inline 
Retrieve the point cloud stored in a point cloud (sub)graph.
The behavior of this function will be different for root and child subgraphs. A root subgraph will return the point cloud stored in it, whereas a child subgraph will return the point cloud stored in its parent graph.
Definition at line 759 of file point_cloud_graph.h.

inline 
Retrieve the point cloud stored in a point cloud (sub)graph (const version).
Definition at line 771 of file point_cloud_graph.h.

inline 
Retrieve the point cloud stored in a point cloud graph (const version).
Definition at line 721 of file point_cloud_graph.h.

inline 
Retrieve the point cloud stored in a point cloud graph.
Definition at line 710 of file point_cloud_graph.h.
Apply bilateral filtering to a given point cloud graph.
Graph
has to be a model of concepts::PointCloudGraphConcept.
Definition at line 259 of file common.hpp.