Point Cloud Library (PCL)  1.7.0
/tmp/buildd/pcl-1.7-1.7.0/octree/octree.doxy
00001 /**
00002   \addtogroup octree Module octree
00003 
00004   \section secOctreePresentation Overview
00005 
00006 The <b>pcl_octree</b> library provides efficient methods for creating a hierarchical tree 
00007 data structure from point cloud data. This enables spatial partitioning, 
00008 downsampling and search operations on the point data set. 
00009 Each octree node the has either eight children or no children. The root node describes 
00010 a cubic bounding box which encapsulates all points. At every tree level, this space 
00011 becomes subdivided by a factor of 2 which  results in an increased voxel resolution. 
00012 
00013 The <b>pcl_octree</b> implementation provides efficient nearest neighbor search routines,
00014 such as "Neighbors within Voxel Search”, “K Nearest Neighbor Search” and 
00015 “Neighbors within Radius Search”. It automatically adjusts its dimension to the point 
00016 data set. A set of leaf node classes provide additional functionality, such as 
00017 spacial "occupancy" and "point density per voxel" checks. Functions for serialization 
00018 and deserialization enable to efficiently encode the octree structure into a binary format.
00019 Furthermore, a memory pool implementation reduces expensive memory allocation and 
00020 deallocation operations in scenarios where octrees needs to be created at high rate. 
00021 
00022 The following figure illustrates the voxel bounding boxes of an octree nodes at lowest tree level. 
00023 The octree voxels are surrounding every 3D point from the bunny's surface. The red dots represent the point data. 
00024 This image is create with the octree_viewer (visualization/tools/octree_viewer).
00025 
00026 For examples how to use the <b>pcl_octree</b> library, please visit the <a href="http://www.pointclouds.org/documentation/tutorials/">pcl tutorial page</a>.
00027 
00028 \image html http://www.pointclouds.org/assets/images/contents/documentation/octree_bunny.png
00029 
00030 
00031   \section secOctreeRequirements Requirements
00032   - \ref common "common"
00033 
00034 */