Detailed Description


The pcl_outofcore library provides an octree data structure for point clouds that are too large to be stored in main memory. The data are located instead in an directory-based octree hierary on some secondary storage (disk) medium. pcl_outofcore provides the framework for constructing and traversing outofcore octrees, a command-line tool pcl_outofcore_process for converting a set of registered PCD files to outofcore octree, and pcl_outofcore_viewer for rendering outofcore octrees.

pcl_outofcore provides an interface to construct and query outofcore octrees via OutofcoreOctreeBase. The out of core octree can be used with any PCLPointCloud2 with point types containing x, y and z fields. No internal checking is done to verify this. On the other hand, point clouds do not need to be filtered for NaN entries; the library will automatically ignore NaN points in the insertion methods.

The average user may not need to do any development with this library, but rather use the command-line tool pcl_outofcore_process to construct an outofcore octree, and pcl_outofcore_viewer to view it.

For those interested in developing software with pcl_outofcore, the functionality of the OutofcoreOctreeBase class provides methods for insertion (addPointCloud), and querying bounding boxes (queryBoundingBox). Furthermore OutofcoreDepthFirstIterator provides an iterator for the entire tree that gives direct access to the in-memory node datastructre, OutofcoreOctreeBaseNode. Please note that this library is still under development, and that interested users should use the PCLPointCloud2-based insertion and query methods.

Example Usage



class pcl::outofcore::OutofcoreIteratorBase< PointT, ContainerT >
Abstract octree iterator class. More...
class AbstractMetadata
Abstract interface for outofcore metadata file types. More...
class pcl::outofcore::OutofcoreOctreeBase< ContainerT, PointT >
This code defines the octree used for point storage at Urban Robotics. More...
class pcl::outofcore::OutofcoreOctreeBaseNode
OutofcoreOctreeBaseNode Class internally representing nodes of an outofcore octree, with accessors to its data via the pcl::outofcore::OutofcoreOctreeDiskContainer class or pcl::outofcore::OutofcoreOctreeRamContainer class, whichever it is templated against.
class pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >
Class responsible for serialization and deserialization of out of core point data. More...
class pcl::outofcore::OutofcoreOctreeRamContainer< PointT >
Storage container class which the outofcore octree base is templated against. More...
class pcl::outofcore::OutofcoreOctreeBaseMetadata
Encapsulated class to read JSON metadata into memory, and write the JSON metadata associated with the octree root node. This is global information that is not the same as the metadata for the root node. Inherits OutofcoreAbstractMetadata interface for metadata in pcl_outofcore. More...
class pcl::outofcore::OutofcoreBreadthFirstIterator< PointT, ContainerT >
class pcl::outofcore::OutofcoreDepthFirstIterator< PointT, ContainerT >
class pcl::outofcore::OutofcoreOctreeNodeMetadata
Encapsulated class to read JSON metadata into memory, and write the JSON metadata for each node. More...

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.