Point Cloud Library (PCL)  1.3.1
Classes
Module octree

Detailed Description

Overview

The pcl_octree library provides efficient methods for creating a hierarchical tree data structure from point cloud data. This enables spatial partitioning, downsampling and search operations on the point data set. Each octree node the has either eight children or no children. The root node describes a cubic bounding box which encapsulates all points. At every tree level, this space becomes subdivided by a factor of 2 which results in an increased voxel resolution.

The pcl_octree implementation provides efficient nearest neighbor search routines, such as "Neighbors within Voxel Search”, “K Nearest Neighbor Search” and “Neighbors within Radius Search”. It automatically adjusts its dimension to the point data set. A set of leaf node classes provide additional functionality, such as spacial "occupancy" and "point density per voxel" checks. Functions for serialization and deserialization enable to efficiently encode the octree structure into a binary format. Furthermore, a memory pool implementation reduces expensive memory allocation and deallocation operations in scenarios where octrees needs to be created at high rate.

The following figure illustrates the voxel bounding boxes of an octree nodes at lowest tree level. The octree voxels are surrounding every 3D point from the bunny's surface. The red dots represent the point data. This image is create with the octree_viewer (visualization/tools/octree_viewer).

For examples how to use the pcl_octree library, please visit the pcl tutorial page.

octree_bunny.png

History

Requirements

Classes

class  pcl::octree::Octree2BufBase
 Octree double buffer class More...
class  pcl::octree::OctreeBase
 Octree class More...
class  pcl::octree::OctreeNodeIterator
 Octree iterator class More...
class  pcl::octree::OctreeLeafNodeIterator
 Octree leaf node iterator class More...
class  pcl::octree::OctreeLowMemBase
 Octree class More...
class  pcl::octree::OctreePointCloud
 Octree pointcloud class More...
class  pcl::octree::OctreePointCloudChangeDetector
 Octree pointcloud change detector class More...
class  pcl::octree::OctreePointCloudDensity
 Octree pointcloud density class More...
class  pcl::octree::OctreePointCloudOccupancy
 Octree pointcloud occupancy class More...
class  pcl::octree::OctreePointCloudPointVector
 Octree pointcloud point vector class More...
class  pcl::octree::OctreePointCloudSinglePoint
 Octree pointcloud single point class More...
class  pcl::octree::OctreePointCloudVoxelCentroid
 Octree pointcloud voxel centroid class More...
class  pcl::octree::OctreePointCloudSearch
 Octree pointcloud search class More...
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines