pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT > Class Template Reference

Octree pointcloud compression class More...

`#include <pcl/compression/octree_pointcloud_compression.h>`

Inheritance diagram for pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >:

## 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 boost::shared_ptr< OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT > > | Ptr
typedef boost::shared_ptr< const OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT > > | ConstPtr
typedef OctreeT::LeafNode | LeafNode
typedef OctreeT::BranchNode | BranchNode
typedef OctreePointCloudCompression< PointT, LeafT, BranchT, Octree2BufBase< LeafT, BranchT > > | RealTimeStreamCompression
typedef OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeBase< LeafT, BranchT > > | SinglePointCloudCompressionLowMemory
Public Types inherited from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >
typedef OctreeT | Base
typedef OctreeT::LeafNode | LeafNode
typedef OctreeT::BranchNode | BranchNode
typedef OctreeDepthFirstIterator< OctreeT > | Iterator
typedef const OctreeDepthFirstIterator< OctreeT > | ConstIterator
typedef OctreeLeafNodeIterator< OctreeT > | LeafNodeIterator
typedef const OctreeLeafNodeIterator< OctreeT > | ConstLeafNodeIterator
typedef OctreeDepthFirstIterator< OctreeT > | DepthFirstIterator
typedef const OctreeDepthFirstIterator< OctreeT > | ConstDepthFirstIterator
typedef OctreeBreadthFirstIterator< OctreeT > | BreadthFirstIterator
typedef const OctreeBreadthFirstIterator< OctreeT > | ConstBreadthFirstIterator
typedef boost::shared_ptr< std::vector< int > > | IndicesPtr
typedef boost::shared_ptr< const std::vector< int > > | IndicesConstPtr
typedef pcl::PointCloud< PointT > | PointCloud
typedef boost::shared_ptr< PointCloud > | PointCloudPtr
typedef boost::shared_ptr< const PointCloud > | PointCloudConstPtr
typedef OctreePointCloud< PointT, LeafT, BranchT, OctreeBase< LeafT > > | SingleBuffer
typedef boost::shared_ptr< OctreePointCloud< PointT, LeafT, BranchT, OctreeT > > | Ptr
typedef boost::shared_ptr< const OctreePointCloud< PointT, LeafT, BranchT, OctreeT > > | ConstPtr
typedef std::vector< PointT, Eigen::aligned_allocator< PointT > > | AlignedPointTVector
typedef std::vector< PointXYZ, Eigen::aligned_allocator< PointXYZ > > | AlignedPointXYZVector

## 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...
virtual | ~OctreePointCloudCompression ()
| Empty deconstructor. More...
void | initialization ()
| Initialize globals. More...
virtual void | addPointIdx (const int pointIdx_arg)
| 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...
Public Member Functions inherited from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >
| OctreePointCloud (const double resolution_arg)
| Octree pointcloud constructor. More...
virtual | ~OctreePointCloud ()
| Empty deconstructor. 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 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 int &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...
int | getOccupiedVoxelCenters (AlignedPointTVector &voxel_center_list_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 &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 (unsigned int 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 (unsigned int 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 (OctreeIteratorBase< OctreeT > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt)
| Generate bounds of the current voxel of an octree iterator. More...
void | enableDynamicDepth (size_t maxObjsPerLeaf)
| Enable dynamic 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...
virtual void | serializeTreeCallback (LeafT &leaf_arg, const OctreeKey &key_arg)
| Encode leaf node information during serialization. More...
virtual void | deserializeTreeCallback (LeafT &, const OctreeKey &key_arg)
| Decode leaf nodes information during deserialization. More...
Protected Member Functions inherited from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >
void | expandLeafNode (LeafNode *leaf_node, BranchNode *parent_branch, unsigned char child_idx, unsigned int depth_mask)
| Add point at index from input pointcloud dataset to octree. More...
const PointT & | getPointByIndex (const unsigned int index_arg) const
| Get point at index from input pointcloud dataset. More...
LeafT * | 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 int &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, unsigned int 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, unsigned int 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...
int | 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...

## 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< char > | binary_color_tree_vector_
| Interator on binary tree structure vector. 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_
| Interator 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_
uint32_t | i_frame_rate_
uint32_t | i_frame_counter_
uint32_t | frame_ID_
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_
uint64_t | compressed_point_data_len_
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_
Protected Attributes inherited from pcl::octree::OctreePointCloud< PointT, LeafT, BranchT, OctreeT >
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...

## 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

Author
  Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 74 of file octree_pointcloud_compression.h.

## Member Typedef Documentation

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef OctreeT::BranchNode pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::BranchNode

Definition at line 88 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef boost::shared_ptr<const OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeT> > pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::ConstPtr

Definition at line 85 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef OctreeT::LeafNode pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::LeafNode

Definition at line 87 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloud pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloud

Definition at line 79 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloudConstPtr pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloudConstPtr

Definition at line 81 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef OctreePointCloud<PointT, LeafT, BranchT, OctreeT>::PointCloudPtr pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::PointCloudPtr

Definition at line 80 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef boost::shared_ptr<OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeT> > pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::Ptr

Definition at line 84 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef OctreePointCloudCompression<PointT, LeafT, BranchT, Octree2BufBase<LeafT, BranchT> > pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::RealTimeStreamCompression

Definition at line 90 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

typedef OctreePointCloudCompression<PointT, LeafT, BranchT, OctreeBase<LeafT, BranchT> > pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::SinglePointCloudCompressionLowMemory

Definition at line 91 of file octree_pointcloud_compression.h.

## Constructor & Destructor Documentation

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::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`
| ) |  |

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 104 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

virtual pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::~OctreePointCloudCompression | ( |  | ) |

inline virtual

Empty deconstructor.

Definition at line 135 of file octree_pointcloud_compression.h.

## Member Function Documentation

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

virtual void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::addPointIdx | ( | const int | pointIdx_arg | ) |

inline virtual

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, LeafT, BranchT, OctreeT >.

Definition at line 174 of file octree_pointcloud_compression.h.

References pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::addPointIdx().

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

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

Definition at line 179 of file octree_pointcloud_compression.hpp.

References pcl::getFieldIndex().

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::deserializeTreeCallback | ( | LeafT & | ,
|  | const OctreeKey & | key_arg
| ) |  |

protected virtual

Decode leaf nodes information during deserialization.

Parameters

  key_arg | octree key of new leaf node

Definition at line 511 of file octree_pointcloud_compression.hpp.

References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

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 59 of file octree_pointcloud_compression.hpp.

References pcl::getFieldIndex().

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::entropyDecoding | ( | std::istream & | compressed_tree_data_in_arg | ) |

protected

Entropy decoding of input binary stream and output to information vectors.

Parameters

  compressed_tree_data_in_arg | binary input stream

Definition at line 316 of file octree_pointcloud_compression.hpp.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::entropyEncoding | ( | std::ostream & | compressed_tree_data_out_arg | ) |

protected

Apply entropy encoding to encoded information and output to binary stream.

Parameters

  compressed_tree_data_out_arg | binary output stream

Definition at line 256 of file octree_pointcloud_compression.hpp.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

PointCloudPtr pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::getOutputCloud | ( |  | ) | const

inline

Get a pointer to the output point cloud dataset.

Returns
  pointer to pointcloud output class.

Definition at line 196 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::initialization | ( |  | ) |

inline

Initialize globals.

Definition at line 140 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.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::readFrameHeader | ( | std::istream & | compressed_tree_data_in_arg | ) |

protected

Read frame information to output stream.

Parameters

  compressed_tree_data_in_arg | binary input stream

Definition at line 435 of file octree_pointcloud_compression.hpp.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::serializeTreeCallback | ( | LeafT & | leaf_arg,
|  | const OctreeKey & | key_arg
| ) |  |

protected virtual

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 476 of file octree_pointcloud_compression.hpp.

References pcl::octree::OctreeKey::x, pcl::octree::OctreeKey::y, and pcl::octree::OctreeKey::z.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::setOutputCloud | ( | const PointCloudPtr & | cloud_arg | ) |

inline

Provide a pointer to the output data set.

Parameters

  cloud_arg | the boost shared pointer to a PointCloud message

Definition at line 184 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::syncToHeader | ( | std::istream & | compressed_tree_data_in_arg | ) |

protected

Synchronize to frame header.

Parameters

  compressed_tree_data_in_arg | binary input stream

Definition at line 420 of file octree_pointcloud_compression.hpp.

template<typename PointT , typename LeafT , typename BranchT , typename OctreeT >

void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::writeFrameHeader | ( | std::ostream & | compressed_tree_data_out_arg | ) |

protected

Write frame information to output stream.

Parameters

  compressed_tree_data_out_arg | binary output stream

Definition at line 373 of file octree_pointcloud_compression.hpp.

## Member Data Documentation

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::b_show_statistics_

protected

Definition at line 299 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

std::vector<char> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::binary_color_tree_vector_

protected

Interator on binary tree structure vector.

Definition at line 269 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

std::vector<char> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::binary_tree_data_vector_

protected

Vector for storing binary tree structure.

Definition at line 266 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::cloud_with_color_

protected

Definition at line 294 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

const unsigned char pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::color_bit_resolution_

protected

Definition at line 309 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

ColorCoding<PointT> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::color_coder_

protected

Color coding instance.

Definition at line 278 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

uint64_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::compressed_color_data_len_

protected

Definition at line 301 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

uint64_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::compressed_point_data_len_

protected

Definition at line 300 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::data_with_color_

protected

Definition at line 295 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::do_color_encoding_

protected

Definition at line 293 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::do_voxel_grid_enDecoding_

protected

Definition at line 286 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

StaticRangeCoder pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::entropy_coder_

protected

Static range coder instance.

Definition at line 284 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

const char * pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::frame_header_identifier_ = "<PCL-OCT-COMPRESSED>"

static protected

Definition at line 304 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

uint32_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::frame_ID_

protected

Definition at line 289 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

bool pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::i_frame_

protected

Definition at line 291 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

uint32_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::i_frame_counter_

protected

Definition at line 288 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

uint32_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::i_frame_rate_

protected

Definition at line 287 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

std::size_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::object_count_

protected

Definition at line 311 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

const double pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::octree_resolution_

protected

Definition at line 308 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

PointCloudPtr pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::output_

protected

Pointer to output point cloud dataset.

Definition at line 263 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

PointCoding<PointT> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_coder_

protected

Point coding instance.

Definition at line 281 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

unsigned char pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_color_offset_

protected

Definition at line 296 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

uint64_t pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_count_

protected

Definition at line 290 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

std::vector<unsigned int> pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_count_data_vector_

protected

Vector for storing points per voxel information.

Definition at line 272 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

std::vector<unsigned int>::const_iterator pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_count_data_vector_iterator_

protected

Interator on points per voxel vector.

Definition at line 275 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

const double pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::point_resolution_

protected

Definition at line 307 of file octree_pointcloud_compression.h.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>

const compression_Profiles_e pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::selected_profile_

protected

Definition at line 306 of file octree_pointcloud_compression.h.

The documentation for this class was generated from the following files:

- /build/pcl-6_P28C/pcl-1.7.2/io/include/pcl/compression/octree_pointcloud_compression.h
- /build/pcl-6_P28C/pcl-1.7.2/io/include/pcl/compression/impl/octree_pointcloud_compression.hpp