forked from PointCloudLibrary/pcl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoctree.doxy
34 lines (25 loc) · 1.83 KB
/
octree.doxy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
\addtogroup octree Module octree
\section secOctreePresentation Overview
The <b>pcl_octree</b> 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 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 <b>pcl_octree</b> 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 created with the octree_viewer (visualization/tools/octree_viewer).
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>.
\image html http://www.pointclouds.org/assets/images/contents/documentation/octree_bunny.png
\section secOctreeRequirements Requirements
- \ref common "common"
*/