Point Cloud Library (PCL)  1.14.1-dev
Module outofcore

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< ContainerT, PointT >
 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. 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...