Point Cloud Library (PCL)  1.8.1-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
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 boost::shared_ptr
< std::vector< int > > 
IndicesPtr
 
typedef boost::shared_ptr
< const std::vector< int > > 
IndicesConstPtr
 
typedef pcl::PointCloud< PointTPointCloud
 
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 (const OctreeIteratorBase< OctreeT > &iterator, Eigen::Vector3f &min_pt, Eigen::Vector3f &max_pt) const
 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 PointTgetPointByIndex (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_
 Iterator 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_
 Iterator on points per voxel vector. More...
 
ColorCoding< PointTcolor_coder_
 Color coding instance. More...
 
PointCoding< PointTpoint_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_argdefine compression profile
octreeResolution_argoctree resolution at lowest octree level
pointResolution_argprecision of point coordinates
doVoxelGridDownDownSampling_argvoxel grid filtering
iFrameRate_argi-frame encoding rate
doColorEncoding_argenable/disable color coding
colorBitResolution_argcolor bit depth
showStatistics_argoutput 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 ( )
inlinevirtual

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)
inlinevirtual

Add point at index from input pointcloud dataset to octree.

Parameters
[in]pointIdx_argthe 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_argbinary input stream containing compressed data
cloud_argreference to decoded point cloud

Definition at line 177 of file octree_pointcloud_compression.hpp.

References pcl::getFieldIndex().

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::deserializeTreeCallback ( LeafT &  ,
const OctreeKey &  key_arg 
)
protectedvirtual

Decode leaf nodes information during deserialization.

Parameters
key_argoctree key of new leaf node

Definition at line 509 of file octree_pointcloud_compression.hpp.

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_argpoint cloud to be compressed
compressed_tree_data_out_argbinary output stream containing compressed data

Definition at line 56 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_argbinary input stream

Definition at line 314 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_argbinary output stream

Definition at line 254 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
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_argbinary input stream

Definition at line 433 of file octree_pointcloud_compression.hpp.

template<typename PointT , typename LeafT = OctreeContainerPointIndices, typename BranchT = OctreeContainerEmpty, typename OctreeT = Octree2BufBase<LeafT, BranchT>>
void pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::serializeTreeCallback ( LeafT &  leaf_arg,
const OctreeKey &  key_arg 
)
protectedvirtual

Encode leaf node information during serialization.

Parameters
leaf_argreference to new leaf node
key_argoctree key of new leaf node

Definition at line 474 of file octree_pointcloud_compression.hpp.

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_argthe 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_argbinary input stream

Definition at line 418 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_argbinary output stream

Definition at line 371 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

Iterator 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>"
staticprotected

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

Iterator 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: