|
Point Cloud Library (PCL)
1.6.0
|
Octree pointcloud compression class More...
#include <pcl/compression/octree_pointcloud_compression.h>


Public Types | |
| typedef OctreePointCloud < PointT, LeafT, BranchT, OctreeT >::PointCloud | PointCloud |
| typedef OctreePointCloud < PointT, LeafT, BranchT, OctreeT >::PointCloudPtr | PointCloudPtr |
| typedef OctreePointCloud < PointT, LeafT, BranchT, OctreeT >::PointCloudConstPtr | PointCloudConstPtr |
| typedef OctreeT::LeafNode | LeafNode |
| typedef OctreeT::BranchNode | BranchNode |
| typedef PointCloudCompression < PointT, LeafT, BranchT, Octree2BufBase< int, LeafT, BranchT > > | RealTimeStreamCompression |
| typedef PointCloudCompression < PointT, LeafT, BranchT, OctreeBase< int, LeafT, BranchT > > | SinglePointCloudCompressionLowMemory |
| typedef OctreeT | Base |
| typedef OctreeDepthFirstIterator< int, OctreeT > | Iterator |
| typedef const OctreeDepthFirstIterator< int, OctreeT > | ConstIterator |
| typedef OctreeLeafNodeIterator < int, OctreeT > | LeafNodeIterator |
| typedef const OctreeLeafNodeIterator< int, OctreeT > | ConstLeafNodeIterator |
| typedef OctreeDepthFirstIterator< int, OctreeT > | DepthFirstIterator |
| typedef const OctreeDepthFirstIterator< int, OctreeT > | ConstDepthFirstIterator |
| typedef OctreeBreadthFirstIterator < int, OctreeT > | BreadthFirstIterator |
| typedef const OctreeBreadthFirstIterator < int, OctreeT > | ConstBreadthFirstIterator |
| typedef boost::shared_ptr < std::vector< int > > | IndicesPtr |
| typedef boost::shared_ptr < const std::vector< int > > | IndicesConstPtr |
| typedef OctreePointCloud < PointT, LeafT, OctreeBase < int, LeafT > > | SingleBuffer |
| typedef OctreePointCloud < PointT, LeafT, Octree2BufBase< int, LeafT > > | DoubleBuffer |
| typedef boost::shared_ptr < OctreePointCloud< PointT, LeafT, OctreeT > > | Ptr |
| typedef boost::shared_ptr < const OctreePointCloud < PointT, LeafT, OctreeT > > | ConstPtr |
| typedef std::vector< PointT, Eigen::aligned_allocator < PointT > > | AlignedPointTVector |
Public Member Functions | |
| PointCloudCompression (compression_Profiles_e compressionProfile_arg=MED_RES_ONLINE_COMPRESSION_WITH_COLOR, bool showStatistics_arg=false, const double pointResolution_arg=0.001, const double octreeResolution_arg=0.01, bool doVoxelGridDownDownSampling_arg=false, const unsigned int iFrameRate_arg=30, bool doColorEncoding_arg=true, const unsigned char colorBitResolution_arg=6) | |
| Constructor. More... | |
| virtual | ~PointCloudCompression () |
| Empty deconstructor. More... | |
| void | initialization () |
| Initialize globals. More... | |
| void | setOutputCloud (const PointCloudPtr &cloud_arg) |
| Provide a pointer to the output data set. More... | |
| PointCloudPtr | getOutputCloud () const |
| Get a pointer to the output point cloud dataset. More... | |
| void | encodePointCloud (const PointCloudConstPtr &cloud_arg, std::ostream &compressedTreeDataOut_arg) |
| Encode point cloud to output stream. More... | |
| void | decodePointCloud (std::istream &compressedTreeDataIn_arg, PointCloudPtr &cloud_arg) |
| Decode point cloud from input stream. More... | |
| void | setInputCloud (const PointCloudConstPtr &cloud_arg, const IndicesConstPtr &indices_arg=IndicesConstPtr()) |
| Provide a pointer to the input data set. More... | |
| IndicesConstPtr const | getIndices () const |
| Get a pointer to the vector of indices used. More... | |
| PointCloudConstPtr | getInputCloud () const |
| Get a pointer to the input point cloud dataset. More... | |
| void | setEpsilon (double eps) |
| Set the search epsilon precision (error bound) for nearest neighbors searches. More... | |
| double | getEpsilon () const |
| Get the search epsilon precision (error bound) for nearest neighbors searches. More... | |
| void | setResolution (double resolution_arg) |
| Set/change the octree voxel resolution. More... | |
| double | getResolution () const |
| Get octree voxel resolution. More... | |
| unsigned int | getTreeDepth () const |
| Get the maximum depth of the octree. More... | |
| void | addPointsFromInputCloud () |
| Add points from input point cloud to octree. More... | |
| void | addPointFromCloud (const int pointIdx_arg, IndicesPtr indices_arg) |
| Add point at given index from input point cloud to octree. More... | |
| void | addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg) |
| Add point simultaneously to octree and input point cloud. More... | |
| void | addPointToCloud (const PointT &point_arg, PointCloudPtr cloud_arg, IndicesPtr indices_arg) |
| Add point simultaneously to octree and input point cloud. More... | |
| bool | isVoxelOccupiedAtPoint (const PointT &point_arg) const |
| Check if voxel at given point exist. More... | |
| bool | isVoxelOccupiedAtPoint (const double pointX_arg, const double pointY_arg, const double pointZ_arg) const |
| Check if voxel at given point coordinates exist. More... | |
| bool | isVoxelOccupiedAtPoint (const int &pointIdx_arg) const |
| Check if voxel at given point from input cloud exist. More... | |
| void | deleteTree (bool freeMemory_arg=false) |
| Delete the octree structure and its leaf nodes. More... | |
| int | getOccupiedVoxelCenters (AlignedPointTVector &voxelCenterList_arg) const |
| Get a PointT vector of centers of all occupied voxels. More... | |
| int | getApproxIntersectedVoxelCentersBySegment (const Eigen::Vector3f &origin, const Eigen::Vector3f &end, AlignedPointTVector &voxel_center_list, float precision=0.2) |
| Get a PointT vector of centers of voxels intersected by a line segment. More... | |
| void | deleteVoxelAtPoint (const PointT &point_arg) |
| Delete leaf node / voxel at given point. More... | |
| void | deleteVoxelAtPoint (const int &pointIdx_arg) |
| Delete leaf node / voxel at given point from input cloud. More... | |
| void | defineBoundingBox () |
| Investigate dimensions of pointcloud data set and define corresponding bounding box for octree. More... | |
| void | defineBoundingBox (const double minX_arg, const double minY_arg, const double minZ_arg, const double maxX_arg, const double maxY_arg, const double maxZ_arg) |
| Define bounding box for octree. More... | |
| void | defineBoundingBox (const double maxX_arg, const double maxY_arg, const double maxZ_arg) |
| Define bounding box for octree. More... | |
| void | defineBoundingBox (const double cubeLen_arg) |
| Define bounding box cube for octree. More... | |
| void | getBoundingBox (double &minX_arg, double &minY_arg, double &minZ_arg, double &maxX_arg, double &maxY_arg, double &maxZ_arg) const |
| Get bounding box for octree. More... | |
| double | getVoxelSquaredDiameter (unsigned int treeDepth_arg) const |
| Calculates the squared diameter of a voxel at given tree depth. More... | |
| double | getVoxelSquaredDiameter () const |
| Calculates the squared diameter of a voxel at leaf depth. More... | |
| double | getVoxelSquaredSideLen (unsigned int treeDepth_arg) const |
| Calculates the squared voxel cube side length at given tree depth. More... | |
| double | getVoxelSquaredSideLen () const |
| Calculates the squared voxel cube side length at leaf level. More... | |
| void | getVoxelBounds (OctreeIteratorBase< int, OctreeT > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) |
| Generate bounds of the current voxel of an octree iterator. More... | |
Octree pointcloud compression class
Definition at line 71 of file octree_pointcloud_compression.h.
|
inherited |
Definition at line 132 of file octree_pointcloud.h.
|
inherited |
Definition at line 89 of file octree_pointcloud.h.
| typedef OctreeT::BranchNode pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::BranchNode |
Definition at line 81 of file octree_pointcloud_compression.h.
|
inherited |
Definition at line 103 of file octree_pointcloud.h.
|
inherited |
Definition at line 104 of file octree_pointcloud.h.
|
inherited |
Definition at line 102 of file octree_pointcloud.h.
|
inherited |
Definition at line 96 of file octree_pointcloud.h.
|
inherited |
Definition at line 99 of file octree_pointcloud.h.
|
inherited |
Definition at line 129 of file octree_pointcloud.h.
|
inherited |
Definition at line 101 of file octree_pointcloud.h.
|
inherited |
Definition at line 125 of file octree_pointcloud.h.
|
inherited |
Definition at line 117 of file octree_pointcloud.h.
|
inherited |
Definition at line 116 of file octree_pointcloud.h.
|
inherited |
Definition at line 95 of file octree_pointcloud.h.
| typedef OctreeT::LeafNode pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::LeafNode |
Definition at line 80 of file octree_pointcloud_compression.h.
|
inherited |
Definition at line 98 of file octree_pointcloud.h.
| typedef OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloud pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloud |
Definition at line 76 of file octree_pointcloud_compression.h.
| typedef OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloudConstPtr pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloudConstPtr |
Definition at line 78 of file octree_pointcloud_compression.h.
| typedef OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloudPtr pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloudPtr |
Definition at line 77 of file octree_pointcloud_compression.h.
|
inherited |
Definition at line 128 of file octree_pointcloud.h.
| typedef PointCloudCompression<PointT, LeafT, BranchT, Octree2BufBase<int, LeafT, BranchT> > pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::RealTimeStreamCompression |
Definition at line 83 of file octree_pointcloud_compression.h.
|
inherited |
Definition at line 124 of file octree_pointcloud.h.
| typedef PointCloudCompression<PointT, LeafT, BranchT, OctreeBase<int, LeafT, BranchT> > pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::SinglePointCloudCompressionLowMemory |
Definition at line 84 of file octree_pointcloud_compression.h.
|
inline |
Constructor.
| compressionProfile_arg,: | define compression profile |
| octreeResolution_arg,: | octree resolution at lowest octree level |
| pointResolution_arg,: | precision of point coordinates |
| doVoxelGridDownDownSampling_arg,: | voxel grid filtering |
| iFrameRate_arg,: | i-frame encoding rate |
| doColorEncoding_arg,: | enable/disable color coding |
| colorBitResolution_arg,: | color bit depth |
| showStatistics_arg,: | output compression statistics |
Definition at line 97 of file octree_pointcloud_compression.h.
|
inlinevirtual |
Empty deconstructor.
Definition at line 126 of file octree_pointcloud_compression.h.
|
inherited |
Add point at given index from input point cloud to octree.
Index will be also added to indices vector.
| [in] | pointIdx_arg | index of point to be added |
| [in] | indices_arg | pointer to indices vector of the dataset (given by setInputCloud) |
Definition at line 98 of file octree_pointcloud.hpp.
|
inherited |
Add points from input point cloud to octree.
Definition at line 65 of file octree_pointcloud.hpp.
|
inherited |
Add point simultaneously to octree and input point cloud.
| [in] | point_arg | point to be added |
| [in] | cloud_arg | pointer to input point cloud dataset (given by setInputCloud) |
Definition at line 107 of file octree_pointcloud.hpp.
|
inherited |
Add point simultaneously to octree and input point cloud.
A corresponding index will be added to the indices vector.
| [in] | point_arg | point to be added |
| [in] | cloud_arg | pointer to input point cloud dataset (given by setInputCloud) |
| [in] | indices_arg | pointer to indices vector of the dataset (given by setInputCloud) |
Definition at line 118 of file octree_pointcloud.hpp.
| void pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::decodePointCloud | ( | std::istream & | compressedTreeDataIn_arg, |
| PointCloudPtr & | cloud_arg | ||
| ) |
Decode point cloud from input stream.
| compressedTreeDataIn_arg,: | binary input stream containing compressed data |
| cloud_arg,: | reference to decoded point cloud |
Definition at line 174 of file octree_pointcloud_compression.hpp.
|
inherited |
Investigate dimensions of pointcloud data set and define corresponding bounding box for octree.
Definition at line 266 of file octree_pointcloud.hpp.
|
inherited |
Define bounding box for octree.
| [in] | minX_arg | X coordinate of lower bounding box corner |
| [in] | minY_arg | Y coordinate of lower bounding box corner |
| [in] | minZ_arg | Z coordinate of lower bounding box corner |
| [in] | maxX_arg | X coordinate of upper bounding box corner |
| [in] | maxY_arg | Y coordinate of upper bounding box corner |
| [in] | maxZ_arg | Z coordinate of upper bounding box corner |
Definition at line 295 of file octree_pointcloud.hpp.
|
inherited |
Define bounding box for octree.
| [in] | maxX_arg | X coordinate of upper bounding box corner |
| [in] | maxY_arg | Y coordinate of upper bounding box corner |
| [in] | maxZ_arg | Z coordinate of upper bounding box corner |
Definition at line 334 of file octree_pointcloud.hpp.
|
inherited |
Define bounding box cube for octree.
| [in] | cubeLen_arg | side length of bounding box cube. |
Definition at line 369 of file octree_pointcloud.hpp.
|
inlineinherited |
Delete the octree structure and its leaf nodes.
| freeMemory_arg,: | if "true", allocated octree nodes are deleted, otherwise they are pushed to the octree node pool |
Definition at line 243 of file octree_pointcloud.h.
|
inherited |
Delete leaf node / voxel at given point.
| [in] | point_arg | point addressing the voxel to be deleted. |
Definition at line 168 of file octree_pointcloud.hpp.
|
inherited |
Delete leaf node / voxel at given point from input cloud.
| [in] | pointIdx_arg | index of point addressing the voxel to be deleted. |
Definition at line 180 of file octree_pointcloud.hpp.
| void pcl::octree::PointCloudCompression< PointT, LeafT, BranchT, OctreeT >::encodePointCloud | ( | const PointCloudConstPtr & | cloud_arg, |
| std::ostream & | compressedTreeDataOut_arg | ||
| ) |
Encode point cloud to output stream.
| cloud_arg,: | point cloud to be compressed |
| compressedTreeDataOut_arg,: | binary output stream containing compressed data |
Definition at line 58 of file octree_pointcloud_compression.hpp.
|
inherited |
Get a PointT vector of centers of voxels intersected by a line segment.
This returns a approximation of the actual intersected voxels by walking along the line with small steps. Voxels are ordered, from closest to furthest w.r.t. the origin.
| [in] | origin | origin of the line segment |
| [in] | end | end of the line segment |
| [out] | voxel_center_list | results are written to this vector of PointT elements |
| [in] | precision | determines the size of the steps: step_size = octree_resolution x precision |
Definition at line 205 of file octree_pointcloud.hpp.
|
inherited |
Get bounding box for octree.
| [in] | minX_arg | X coordinate of lower bounding box corner |
| [in] | minY_arg | Y coordinate of lower bounding box corner |
| [in] | minZ_arg | Z coordinate of lower bounding box corner |
| [in] | maxX_arg | X coordinate of upper bounding box corner |
| [in] | maxY_arg | Y coordinate of upper bounding box corner |
| [in] | maxZ_arg | Z coordinate of upper bounding box corner |
Definition at line 401 of file octree_pointcloud.hpp.
|
inlineinherited |
Get the search epsilon precision (error bound) for nearest neighbors searches.
Definition at line 172 of file octree_pointcloud.h.
|
inlineinherited |
Get a pointer to the vector of indices used.
Definition at line 150 of file octree_pointcloud.h.
|
inlineinherited |
Get a pointer to the input point cloud dataset.
Definition at line 158 of file octree_pointcloud.h.
|
inherited |
Get a PointT vector of centers of all occupied voxels.
| [out] | voxelCenterList_arg | results are written to this vector of PointT elements |
Definition at line 191 of file octree_pointcloud.hpp.
|
inline |
Get a pointer to the output point cloud dataset.
Definition at line 177 of file octree_pointcloud_compression.h.
|
inlineinherited |
Get octree voxel resolution.
Definition at line 193 of file octree_pointcloud.h.
|
inlineinherited |
Get the maximum depth of the octree.
Definition at line 201 of file octree_pointcloud.h.
|
inlineinherited |
Generate bounds of the current voxel of an octree iterator.
| [in] | iterator,: | octree iterator |
| [out] | min_pt | lower bound of voxel |
| [out] | max_pt | upper bound of voxel |
Definition at line 393 of file octree_pointcloud.h.
|
inherited |
Calculates the squared diameter of a voxel at given tree depth.
| [in] | treeDepth_arg | depth/level in octree |
Definition at line 705 of file octree_pointcloud.hpp.
|
inlineinherited |
Calculates the squared diameter of a voxel at leaf depth.
Definition at line 368 of file octree_pointcloud.h.
|
inherited |
Calculates the squared voxel cube side length at given tree depth.
| [in] | treeDepth_arg | depth/level in octree |
Definition at line 690 of file octree_pointcloud.hpp.
|
inlineinherited |
Calculates the squared voxel cube side length at leaf level.
Definition at line 383 of file octree_pointcloud.h.
|
inline |
Initialize globals.
Definition at line 131 of file octree_pointcloud_compression.h.
|
inherited |
Check if voxel at given point exist.
| [in] | point_arg | point to be checked |
Definition at line 131 of file octree_pointcloud.hpp.
|
inherited |
Check if voxel at given point coordinates exist.
| [in] | pointX_arg | X coordinate of point to be checked |
| [in] | pointY_arg | Y coordinate of point to be checked |
| [in] | pointZ_arg | Z coordinate of point to be checked |
Definition at line 155 of file octree_pointcloud.hpp.
|
inherited |
Check if voxel at given point from input cloud exist.
| [in] | pointIdx_arg | point to be checked |
Definition at line 144 of file octree_pointcloud.hpp.
|
inlineinherited |
Set the search epsilon precision (error bound) for nearest neighbors searches.
| [in] | eps | precision (error bound) for nearest neighbors searches |
Definition at line 166 of file octree_pointcloud.h.
|
inlineinherited |
Provide a pointer to the input data set.
| [in] | cloud_arg | the const boost shared pointer to a PointCloud message |
| [in] | indices_arg | the point indices subset that is to be used from cloud - if 0 the whole point cloud is used |
Definition at line 138 of file octree_pointcloud.h.
|
inline |
Provide a pointer to the output data set.
| cloud_arg,: | the boost shared pointer to a PointCloud message |
Definition at line 165 of file octree_pointcloud_compression.h.
|
inlineinherited |
Set/change the octree voxel resolution.
| [in] | resolution_arg | side length of voxels at lowest tree level |
Definition at line 180 of file octree_pointcloud.h.
1.8.3.1