On this page
Octree pointcloud compression class More...
#include <pcl/compression/octree_pointcloud_compression.h>
Public Member Functions |
|
OctreePointCloudCompression (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... |
|
~OctreePointCloudCompression () override=default | |
Empty deconstructor. More... |
|
void | initialization () |
Initialize globals. More... |
|
void | addPointIdx (const uindex_t pointIdx_arg) override |
Add point at index from input pointcloud dataset to octree. 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 &compressed_tree_data_out_arg) |
Encode point cloud to output stream. More... |
|
void | decodePointCloud (std::istream &compressed_tree_data_in_arg, PointCloudPtr &cloud_arg) |
Decode point cloud from input stream. More... |
|
OctreePointCloud (const double resolution_arg) | |
Octree pointcloud constructor. 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... |
|
uindex_t | getTreeDepth () const |
Get the maximum depth of the octree. More... |
|
void | addPointsFromInputCloud () |
Add points from input point cloud to octree. More... |
|
void | addPointFromCloud (uindex_t point_idx_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 point_x_arg, const double point_y_arg, const double point_z_arg) const |
Check if voxel at given point coordinates exist. More... |
|
bool | isVoxelOccupiedAtPoint (const index_t &point_idx_arg) const |
Check if voxel at given point from input cloud exist. More... |
|
void | deleteTree () |
Delete the octree structure and its leaf nodes. More... |
|
uindex_t | getOccupiedVoxelCenters (AlignedPointTVector &voxel_center_list_arg) const |
Get a PointT vector of centers of all occupied voxels. More... |
|
uindex_t | 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 index_t &point_idx_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 min_x_arg, const double min_y_arg, const double min_z_arg, const double max_x_arg, const double max_y_arg, const double max_z_arg) |
Define bounding box for octree. More... |
|
void | defineBoundingBox (const double max_x_arg, const double max_y_arg, const double max_z_arg) |
Define bounding box for octree. More... |
|
void | defineBoundingBox (const double cubeLen_arg) |
Define bounding box cube for octree. More... |
|
void | getBoundingBox (double &min_x_arg, double &min_y_arg, double &min_z_arg, double &max_x_arg, double &max_y_arg, double &max_z_arg) const |
Get bounding box for octree. More... |
|
double | getVoxelSquaredDiameter (uindex_t tree_depth_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 (uindex_t tree_depth_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 (const OctreeIteratorBase< Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const |
Generate bounds of the current voxel of an octree iterator. More... |
|
void | enableDynamicDepth (std::size_t maxObjsPerLeaf) |
Enable dynamic octree structure. More... |
|
Iterator | begin (uindex_t max_depth_arg=0) |
const Iterator | end () |
LeafNodeDepthFirstIterator | leaf_depth_begin (uindex_t max_depth_arg=0) |
const LeafNodeDepthFirstIterator | leaf_depth_end () |
DepthFirstIterator | depth_begin (uindex_t maxDepth_arg=0) |
const DepthFirstIterator | depth_end () |
BreadthFirstIterator | breadth_begin (uindex_t max_depth_arg=0) |
const BreadthFirstIterator | breadth_end () |
LeafNodeBreadthIterator | leaf_breadth_begin (uindex_t max_depth_arg=0u) |
const LeafNodeBreadthIterator | leaf_breadth_end () |
Octree2BufBase () | |
Empty constructor. More... |
|
virtual | ~Octree2BufBase () |
Empty deconstructor. More... |
|
Octree2BufBase (const Octree2BufBase &source) | |
Copy constructor. More... |
|
Octree2BufBase & | operator= (const Octree2BufBase &source) |
Copy constructor. More... |
|
void | setMaxVoxelIndex (uindex_t max_voxel_index_arg) |
Set the maximum amount of voxels per dimension. More... |
|
void | setTreeDepth (uindex_t depth_arg) |
Set the maximum depth of the octree. More... |
|
uindex_t | getTreeDepth () const |
Get the maximum depth of the octree. More... |
|
LeafContainerT * | createLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) |
Create new leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More... |
|
LeafContainerT * | findLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) |
Find leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More... |
|
bool | existLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) const |
Check for the existence of leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More... |
|
void | removeLeaf (uindex_t idx_x_arg, uindex_t idx_y_arg, uindex_t idx_z_arg) |
Remove leaf node at (idx_x_arg, idx_y_arg, idx_z_arg). More... |
|
std::size_t | getLeafCount () const |
Return the amount of existing leafs in the octree. More... |
|
std::size_t | getBranchCount () const |
Return the amount of existing branches in the octree. More... |
|
void | deleteTree () |
Delete the octree structure and its leaf nodes. More... |
|
void | deletePreviousBuffer () |
Delete octree structure of previous buffer. More... |
|
void | deleteCurrentBuffer () |
Delete the octree structure in the current buffer. More... |
|
void | switchBuffers () |
Switch buffers and reset current octree structure. More... |
|
void | serializeTree (std::vector< char > &binary_tree_out_arg, bool do_XOR_encoding_arg=false) |
Serialize octree into a binary output vector describing its branch node structure. More... |
|
void | serializeTree (std::vector< char > &binary_tree_out_arg, std::vector< LeafContainerT * > &leaf_container_vector_arg, bool do_XOR_encoding_arg=false) |
Serialize octree into a binary output vector describing its branch node structure and and push all DataT elements stored in the octree to a vector. More... |
|
void | serializeLeafs (std::vector< LeafContainerT * > &leaf_container_vector_arg) |
Outputs a vector of all DataT elements that are stored within the octree leaf nodes. More... |
|
void | serializeNewLeafs (std::vector< LeafContainerT * > &leaf_container_vector_arg) |
Outputs a vector of all DataT elements from leaf nodes, that do not exist in the previous octree buffer. More... |
|
void | deserializeTree (std::vector< char > &binary_tree_in_arg, bool do_XOR_decoding_arg=false) |
Deserialize a binary octree description vector and create a corresponding octree structure. More... |
|
void | deserializeTree (std::vector< char > &binary_tree_in_arg, std::vector< LeafContainerT * > &leaf_container_vector_arg, bool do_XOR_decoding_arg=false) |
Deserialize a binary octree description and create a corresponding octree structure. More... |
|
Protected Member Functions |
|
void | writeFrameHeader (std::ostream &compressed_tree_data_out_arg) |
Write frame information to output stream. More... |
|
void | readFrameHeader (std::istream &compressed_tree_data_in_arg) |
Read frame information to output stream. More... |
|
void | syncToHeader (std::istream &compressed_tree_data_in_arg) |
Synchronize to frame header. More... |
|
void | entropyEncoding (std::ostream &compressed_tree_data_out_arg) |
Apply entropy encoding to encoded information and output to binary stream. More... |
|
void | entropyDecoding (std::istream &compressed_tree_data_in_arg) |
Entropy decoding of input binary stream and output to information vectors. More... |
|
void | serializeTreeCallback (LeafT &leaf_arg, const OctreeKey &key_arg) override |
Encode leaf node information during serialization. More... |
|
void | deserializeTreeCallback (LeafT &, const OctreeKey &key_arg) override |
Decode leaf nodes information during deserialization. More... |
|
void | expandLeafNode (LeafNode *leaf_node, BranchNode *parent_branch, unsigned char child_idx, uindex_t depth_mask) |
Add point at index from input pointcloud dataset to octree. More... |
|
const PointT & | getPointByIndex (uindex_t index_arg) const |
Get point at index from input pointcloud dataset. More... |
|
OctreeContainerPointIndices * | findLeafAtPoint (const PointT &point_arg) const |
Find octree leaf node at a given point. More... |
|
void | getKeyBitSize () |
Define octree key setting and octree depth based on defined bounding box. More... |
|
void | adoptBoundingBoxToPoint (const PointT &point_idx_arg) |
Grow the bounding box/octree until point fits. More... |
|
bool | isPointWithinBoundingBox (const PointT &point_idx_arg) const |
Checks if given point is within the bounding box of the octree. More... |
|
void | genOctreeKeyforPoint (const PointT &point_arg, OctreeKey &key_arg) const |
Generate octree key for voxel at a given point. More... |
|
void | genOctreeKeyforPoint (const double point_x_arg, const double point_y_arg, const double point_z_arg, OctreeKey &key_arg) const |
Generate octree key for voxel at a given point. More... |
|
virtual bool | genOctreeKeyForDataT (const index_t &data_arg, OctreeKey &key_arg) const |
Virtual method for generating octree key for a given point index. More... |
|
void | genLeafNodeCenterFromOctreeKey (const OctreeKey &key_arg, PointT &point_arg) const |
Generate a point at center of leaf node voxel. More... |
|
void | genVoxelCenterFromOctreeKey (const OctreeKey &key_arg, uindex_t tree_depth_arg, PointT &point_arg) const |
Generate a point at center of octree voxel at given tree level. More... |
|
void | genVoxelBoundsFromOctreeKey (const OctreeKey &key_arg, uindex_t tree_depth_arg, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const |
Generate bounds of an octree voxel using octree key and tree depth arguments. More... |
|
uindex_t | getOccupiedVoxelCentersRecursive (const BranchNode *node_arg, const OctreeKey &key_arg, AlignedPointTVector &voxel_center_list_arg) const |
Recursively search the tree for all leaf nodes and return a vector of voxel centers. More... |
|
OctreeNode * | getRootNode () const |
Retrieve root node. More... |
|
LeafContainerT * | findLeaf (const OctreeKey &key_arg) const |
Find leaf node. More... |
|
LeafContainerT * | createLeaf (const OctreeKey &key_arg) |
Create a leaf node. More... |
|
bool | existLeaf (const OctreeKey &key_arg) const |
Check if leaf doesn't exist in the octree. More... |
|
void | removeLeaf (const OctreeKey &key_arg) |
Remove leaf node from octree. More... |
|
bool | branchHasChild (const BranchNode &branch_arg, unsigned char child_idx_arg) const |
Check if branch is pointing to a particular child node. More... |
|
OctreeNode * | getBranchChildPtr (const BranchNode &branch_arg, unsigned char child_idx_arg) const |
Retrieve a child node pointer for child node at child_idx. More... |
|
void | setBranchChildPtr (BranchNode &branch_arg, unsigned char child_idx_arg, OctreeNode *new_child_arg) |
Assign new child node to branch. More... |
|
char | getBranchBitPattern (const BranchNode &branch_arg) const |
Generate bit pattern reflecting the existence of child node pointers for current buffer. More... |
|
char | getBranchBitPattern (const BranchNode &branch_arg, unsigned char bufferSelector_arg) const |
Generate bit pattern reflecting the existence of child node pointers in specific buffer. More... |
|
char | getBranchXORBitPattern (const BranchNode &branch_arg) const |
Generate XOR bit pattern reflecting differences between the two octree buffers. More... |
|
bool | hasBranchChanges (const BranchNode &branch_arg) const |
Test if branch changed between previous and current buffer. More... |
|
void | deleteBranchChild (BranchNode &branch_arg, unsigned char buffer_selector_arg, unsigned char child_idx_arg) |
Delete child node and all its subchilds from octree in specific buffer. More... |
|
void | deleteBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg) |
Delete child node and all its subchilds from octree in current buffer. More... |
|
void | deleteBranch (BranchNode &branch_arg) |
Delete branch and all its subchilds from octree (both buffers) More... |
|
BranchNode * | createBranchChild (BranchNode &branch_arg, unsigned char child_idx_arg) |
Fetch and add a new branch child to a branch class in current buffer. More... |
|
LeafNode * | createLeafChild (BranchNode &branch_arg, unsigned char child_idx_arg) |
Fetch and add a new leaf child to a branch class. More... |
|
uindex_t | createLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafNode *&return_leaf_arg, BranchNode *&parent_of_leaf_arg, bool branch_reset_arg=false) |
Create a leaf node at octree key. More... |
|
void | findLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg, LeafContainerT *&result_arg) const |
Recursively search for a given leaf node and return a pointer. More... |
|
bool | deleteLeafRecursive (const OctreeKey &key_arg, uindex_t depth_mask_arg, BranchNode *branch_arg) |
Recursively search and delete leaf node. More... |
|
void | serializeTreeRecursive (BranchNode *branch_arg, OctreeKey &key_arg, std::vector< char > *binary_tree_out_arg, typename std::vector< LeafContainerT * > *leaf_container_vector_arg, bool do_XOR_encoding_arg=false, bool new_leafs_filter_arg=false) |
Recursively explore the octree and output binary octree description together with a vector of leaf node DataT content. More... |
|
void | deserializeTreeRecursive (BranchNode *branch_arg, uindex_t depth_mask_arg, OctreeKey &key_arg, typename std::vector< char >::const_iterator &binary_tree_in_it_arg, typename std::vector< char >::const_iterator &binary_tree_in_it_end_arg, typename std::vector< LeafContainerT * >::const_iterator *leaf_container_vector_it_arg, typename std::vector< LeafContainerT * >::const_iterator *leaf_container_vector_it_end_arg, bool branch_reset_arg=false, bool do_XOR_decoding_arg=false) |
Rebuild an octree based on binary XOR octree description and DataT objects for leaf node initialization. More... |
|
virtual void | serializeTreeCallback (LeafContainerT &, const OctreeKey &) |
Callback executed for every leaf node data during serialization. More... |
|
virtual void | deserializeTreeCallback (LeafContainerT &, const OctreeKey &) |
Callback executed for every leaf node data during deserialization. More... |
|
void | treeCleanUpRecursive (BranchNode *branch_arg) |
Recursively explore the octree and remove unused branch and leaf nodes. More... |
|
bool | octreeCanResize () |
Test if octree is able to dynamically change its depth. More... |
|
void | printBinary (char data_arg) |
Prints binary representation of a byte - used for debugging. More... |
|
Protected Attributes |
|
PointCloudPtr | output_ |
Pointer to output point cloud dataset. More... |
|
std::vector< char > | binary_tree_data_vector_ |
Vector for storing binary tree structure. More... |
|
std::vector< unsigned int > | point_count_data_vector_ |
Vector for storing points per voxel information More... |
|
std::vector< unsigned int >::const_iterator | point_count_data_vector_iterator_ |
Iterator on points per voxel vector. More... |
|
ColorCoding< PointT > | color_coder_ |
Color coding instance. More... |
|
PointCoding< PointT > | point_coder_ |
Point coding instance. More... |
|
StaticRangeCoder | entropy_coder_ |
Static range coder instance. More... |
|
bool | do_voxel_grid_enDecoding_ |
std::uint32_t | i_frame_rate_ |
std::uint32_t | i_frame_counter_ |
std::uint32_t | frame_ID_ |
std::uint64_t | point_count_ |
bool | i_frame_ |
bool | do_color_encoding_ |
bool | cloud_with_color_ |
bool | data_with_color_ |
unsigned char | point_color_offset_ |
bool | b_show_statistics_ |
std::uint64_t | compressed_point_data_len_ |
std::uint64_t | compressed_color_data_len_ |
const compression_Profiles_e | selected_profile_ |
const double | point_resolution_ |
const double | octree_resolution_ |
const unsigned char | color_bit_resolution_ |
std::size_t | object_count_ |
PointCloudConstPtr | input_ |
Pointer to input point cloud dataset. More... |
|
IndicesConstPtr | indices_ |
A pointer to the vector of point indices to use. More... |
|
double | epsilon_ |
Epsilon precision (error bound) for nearest neighbors searches. More... |
|
double | resolution_ |
Octree resolution. More... |
|
double | min_x_ |
double | max_x_ |
double | min_y_ |
double | max_y_ |
double | min_z_ |
double | max_z_ |
bool | bounding_box_defined_ |
Flag indicating if octree has defined bounding box. More... |
|
std::size_t | max_objs_per_leaf_ |
Amount of DataT objects per leafNode before expanding branch. More... |
|
std::size_t | leaf_count_ |
Amount of leaf nodes More... |
|
std::size_t | branch_count_ |
Amount of branch nodes More... |
|
BranchNode * | root_node_ |
Pointer to root branch node of octree More... |
|
uindex_t | depth_mask_ |
Depth mask based on octree depth More... |
|
OctreeKey | max_key_ |
key range More... |
|
unsigned char | buffer_selector_ |
Currently active octree buffer More... |
|
bool | tree_dirty_flag_ |
flags indicating if unused branches and leafs might exist in previous buffer More... |
|
uindex_t | octree_depth_ |
Octree depth. More... |
|
bool | dynamic_depth_enabled_ |
Enable dynamic_depth. More... |
|
Static Protected Attributes |
|
static const char * | frame_header_identifier_ = "<PCL-OCT-COMPRESSED>" |
Detailed Description
template<typename PointT, typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
class pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >
Octree pointcloud compression class
- Note
- This class enables compression and decompression of point cloud data based on octree data structures.
- typename: PointT: type of point used in pointcloud
Definition at line 66 of file octree_pointcloud_compression.h.
Member Typedef Documentation
BranchNode
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::BranchNode = typename OctreeT::BranchNode |
Definition at line 80 of file octree_pointcloud_compression.h.
ConstPtr
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::ConstPtr = shared_ptr<const OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeT> > |
Definition at line 77 of file octree_pointcloud_compression.h.
LeafNode
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::LeafNode = typename OctreeT::LeafNode |
Definition at line 79 of file octree_pointcloud_compression.h.
PointCloud
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloud = typename OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloud |
Definition at line 71 of file octree_pointcloud_compression.h.
PointCloudConstPtr
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloudConstPtr = typename OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloudConstPtr |
Definition at line 73 of file octree_pointcloud_compression.h.
PointCloudPtr
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloudPtr = typename OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloudPtr |
Definition at line 72 of file octree_pointcloud_compression.h.
Ptr
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::Ptr = shared_ptr<OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeT> > |
Definition at line 76 of file octree_pointcloud_compression.h.
RealTimeStreamCompression
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::RealTimeStreamCompression = OctreePointCloudCompression<PointT, LeafT, BranchT, Octree2BufBase<LeafT, BranchT> > |
Definition at line 82 of file octree_pointcloud_compression.h.
SinglePointCloudCompressionLowMemory
using pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::SinglePointCloudCompressionLowMemory = OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeBase<LeafT, BranchT> > |
Definition at line 83 of file octree_pointcloud_compression.h.
Constructor & Destructor Documentation
OctreePointCloudCompression()
|
inline |
Constructor.
- Parameters
-
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 96 of file octree_pointcloud_compression.h.
~OctreePointCloudCompression()
|
overridedefault |
Empty deconstructor.
Member Function Documentation
addPointIdx()
|
inlineoverridevirtual |
Add point at index from input pointcloud dataset to octree.
- Parameters
-
[in] pointIdx_arg the index representing the point in the dataset given by setInputCloud to be added
Reimplemented from pcl::octree::OctreePointCloud< PointT, OctreeContainerPointIndices, OctreeContainerEmpty, Octree2BufBase< OctreeContainerPointIndices, OctreeContainerEmpty > >.
Definition at line 159 of file octree_pointcloud_compression.h.
References pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointIdx().
decodePointCloud()
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::decodePointCloud | ( | std::istream & | compressed_tree_data_in_arg, |
PointCloudPtr & | cloud_arg | ||
) |
Decode point cloud from input stream.
- Parameters
-
compressed_tree_data_in_arg binary input stream containing compressed data cloud_arg reference to decoded point cloud
- Warning
- This function is blocking until there is data available from the input stream. If the stream never contains any data, this will hang forever!
Definition at line 175 of file octree_pointcloud_compression.hpp.
deserializeTreeCallback()
|
overrideprotected |
Decode leaf nodes information during deserialization.
- Parameters
-
key_arg octree key of new leaf node
Definition at line 507 of file octree_pointcloud_compression.hpp.
encodePointCloud()
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::encodePointCloud | ( | const PointCloudConstPtr & | cloud_arg, |
std::ostream & | compressed_tree_data_out_arg | ||
) |
Encode point cloud to output stream.
- Parameters
-
cloud_arg point cloud to be compressed compressed_tree_data_out_arg binary output stream containing compressed data
Definition at line 54 of file octree_pointcloud_compression.hpp.
entropyDecoding()
|
protected |
Entropy decoding of input binary stream and output to information vectors.
- Parameters
-
compressed_tree_data_in_arg binary input stream
Definition at line 312 of file octree_pointcloud_compression.hpp.
entropyEncoding()
|
protected |
Apply entropy encoding to encoded information and output to binary stream.
- Parameters
-
compressed_tree_data_out_arg binary output stream
Definition at line 252 of file octree_pointcloud_compression.hpp.
getOutputCloud()
|
inline |
Get a pointer to the output point cloud dataset.
- Returns
- pointer to pointcloud output class.
Definition at line 181 of file octree_pointcloud_compression.h.
initialization()
|
inline |
Initialize globals.
Definition at line 125 of file octree_pointcloud_compression.h.
References pcl::io::configurationProfile_t::colorBitResolution, pcl::io::compressionProfiles_, pcl::io::configurationProfile_t::doColorEncoding, pcl::io::configurationProfile_t::doVoxelGridDownSampling, pcl::io::configurationProfile_t::iFrameRate, pcl::io::MANUAL_CONFIGURATION, pcl::io::configurationProfile_t::octreeResolution, and pcl::io::configurationProfile_t::pointResolution.
readFrameHeader()
|
protected |
Read frame information to output stream.
- Parameters
-
compressed_tree_data_in_arg binary input stream
Definition at line 431 of file octree_pointcloud_compression.hpp.
serializeTreeCallback()
|
overrideprotected |
Encode leaf node information during serialization.
- Parameters
-
leaf_arg reference to new leaf node key_arg octree key of new leaf node
Definition at line 472 of file octree_pointcloud_compression.hpp.
setOutputCloud()
|
inline |
Provide a pointer to the output data set.
- Parameters
-
cloud_arg the boost shared pointer to a PointCloud message
Definition at line 169 of file octree_pointcloud_compression.h.
syncToHeader()
|
protected |
Synchronize to frame header.
- Parameters
-
compressed_tree_data_in_arg binary input stream
Definition at line 416 of file octree_pointcloud_compression.hpp.
writeFrameHeader()
|
protected |
Write frame information to output stream.
- Parameters
-
compressed_tree_data_out_arg binary output stream
Definition at line 369 of file octree_pointcloud_compression.hpp.
Member Data Documentation
b_show_statistics_
|
protected |
Definition at line 282 of file octree_pointcloud_compression.h.
binary_tree_data_vector_
|
protected |
Vector for storing binary tree structure.
Definition at line 252 of file octree_pointcloud_compression.h.
cloud_with_color_
|
protected |
Definition at line 277 of file octree_pointcloud_compression.h.
color_bit_resolution_
|
protected |
Definition at line 292 of file octree_pointcloud_compression.h.
color_coder_
|
protected |
Color coding instance.
Definition at line 261 of file octree_pointcloud_compression.h.
compressed_color_data_len_
|
protected |
Definition at line 284 of file octree_pointcloud_compression.h.
compressed_point_data_len_
|
protected |
Definition at line 283 of file octree_pointcloud_compression.h.
data_with_color_
|
protected |
Definition at line 278 of file octree_pointcloud_compression.h.
do_color_encoding_
|
protected |
Definition at line 276 of file octree_pointcloud_compression.h.
do_voxel_grid_enDecoding_
|
protected |
Definition at line 269 of file octree_pointcloud_compression.h.
entropy_coder_
|
protected |
Static range coder instance.
Definition at line 267 of file octree_pointcloud_compression.h.
frame_header_identifier_
|
staticprotected |
Definition at line 287 of file octree_pointcloud_compression.h.
frame_ID_
|
protected |
Definition at line 272 of file octree_pointcloud_compression.h.
i_frame_
|
protected |
Definition at line 274 of file octree_pointcloud_compression.h.
i_frame_counter_
|
protected |
Definition at line 271 of file octree_pointcloud_compression.h.
i_frame_rate_
|
protected |
Definition at line 270 of file octree_pointcloud_compression.h.
object_count_
|
protected |
Definition at line 294 of file octree_pointcloud_compression.h.
octree_resolution_
|
protected |
Definition at line 291 of file octree_pointcloud_compression.h.
output_
|
protected |
Pointer to output point cloud dataset.
Definition at line 249 of file octree_pointcloud_compression.h.
point_coder_
|
protected |
Point coding instance.
Definition at line 264 of file octree_pointcloud_compression.h.
point_color_offset_
|
protected |
Definition at line 279 of file octree_pointcloud_compression.h.
point_count_
|
protected |
Definition at line 273 of file octree_pointcloud_compression.h.
point_count_data_vector_
|
protected |
Vector for storing points per voxel information
Definition at line 255 of file octree_pointcloud_compression.h.
point_count_data_vector_iterator_
|
protected |
Iterator on points per voxel vector.
Definition at line 258 of file octree_pointcloud_compression.h.
point_resolution_
|
protected |
Definition at line 290 of file octree_pointcloud_compression.h.
selected_profile_
|
protected |
Definition at line 289 of file octree_pointcloud_compression.h.
The documentation for this class was generated from the following files:
- pcl/compression/octree_pointcloud_compression.h
- pcl/compression/impl/octree_pointcloud_compression.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1io_1_1_octree_point_cloud_compression.html