pcl::TSDFVolume< VoxelT, WeightT > Class Template Reference

`#include </build/pcl-rK6aXX/pcl-1.12.1+dfsg/gpu/kinfu/tools/tsdf_volume.h>`

## Classes

struct | Header
| Structure storing voxel grid resolution, volume size (in mm) and element_size of stored data. More...
struct | Intr
| Camera intrinsics structure. More...

## Public Types

using | Ptr = shared_ptr< TSDFVolume< VoxelT, WeightT > >
using | ConstPtr = shared_ptr< const TSDFVolume< VoxelT, WeightT > >
using | VoxelTVec = Eigen::VectorXf

## Public Member Functions

| TSDFVolume ()
| Default constructor. More...
| TSDFVolume (const std::string &filename)
| Constructor loading data from file. More...
void | setHeader (const Eigen::Vector3i &resolution, const Eigen::Vector3f &volume_size)
| Set the header directly. More...
void | resize (Eigen::Vector3i &grid_resolution, const Eigen::Vector3f &volume_size=Eigen::Vector3f(DEFAULT_VOLUME_SIZE_X, DEFAULT_VOLUME_SIZE_Y, DEFAULT_VOLUME_SIZE_Z))
| Resizes the internal storage and updates the header accordingly. More...
void | resizeDefaultSize ()
| Resize internal storage and header to default sizes defined in tsdf_volume.h. More...
bool | load (const std::string &filename, bool binary=true)
| Loads volume from file. More...
bool | save (const std::string &filename="tsdf_volume.dat", bool binary=true) const
| Saves volume to file. More...
std::size_t | size () const
| Returns overall number of voxels in grid. More...
const Eigen::Vector3f & | volumeSize () const
| Returns the volume size in mm. More...
Eigen::Vector3f | voxelSize () const
| Returns the size of one voxel in mm. More...
const Eigen::Vector3i & | gridResolution () const
| Returns the voxel grid resolution. More...
const Header & | header () const
| Returns constant reference to header. More...
const std::vector< VoxelT > & | volume () const
| Returns constant reference to the volume std::vector. More...
std::vector< VoxelT > & | volumeWriteable () const
| Returns writebale(!) reference to volume. More...
const std::vector< WeightT > & | weights () const
| Returns constant reference to the weights std::vector. More...
std::vector< WeightT > & | weightsWriteable () const
| Returns writebale(!) reference to volume. More...
void | convertToTsdfCloud (pcl::PointCloud< pcl::PointXYZI >::Ptr &cloud, const unsigned step=2) const
| Converts volume to cloud of TSDF values. More...
template<typename PointT >
void | getVoxelCoord (const PointT &point, Eigen::Vector3i &voxel_coord) const
| Converts the volume to a surface representation via a point cloud. More...
template<typename PointT >
void | getVoxelCoordAndOffset (const PointT &point, Eigen::Vector3i &voxel_coord, Eigen::Vector3f &offset) const
| Returns the 3D voxel coordinate and point offset wrt. More...
bool | extractNeighborhood (const Eigen::Vector3i &voxel_coord, int neighborhood_size, VoxelTVec &neighborhood) const
| extracts voxels in neighborhood of given voxel More...
bool | addNeighborhood (const Eigen::Vector3i &voxel_coord, int neighborhood_size, const VoxelTVec &neighborhood, WeightT voxel_weight)
| adds voxel values in local neighborhood More...
void | averageValues ()
| averages voxel values by the weight value More...
int | getLinearVoxelIndex (const Eigen::Array3i &indices) const
| Returns and index for linear access of the volume and weights. More...
Eigen::VectorXi | getLinearVoxelIndinces (const Eigen::Matrix< int, 3, Eigen::Dynamic > &indices_matrix) const
| Returns a vector of linear indices for voxel coordinates given in 3xn matrix. More...

## Detailed Description

### template<typename VoxelT, typename WeightT>
class pcl::TSDFVolume< VoxelT, WeightT >

Definition at line 58 of file tsdf_volume.h.

## Member Typedef Documentation

## ConstPtr

template<typename VoxelT , typename WeightT >

using pcl::TSDFVolume< VoxelT, WeightT >::ConstPtr = shared_ptr<const TSDFVolume<VoxelT, WeightT> >

Definition at line 63 of file tsdf_volume.h.

## Ptr

template<typename VoxelT , typename WeightT >

using pcl::TSDFVolume< VoxelT, WeightT >::Ptr = shared_ptr<TSDFVolume<VoxelT, WeightT> >

Definition at line 62 of file tsdf_volume.h.

## VoxelTVec

template<typename VoxelT , typename WeightT >

using pcl::TSDFVolume< VoxelT, WeightT >::VoxelTVec = Eigen::VectorXf

Definition at line 66 of file tsdf_volume.h.

## Constructor & Destructor Documentation

## TSDFVolume() [1/2]

template<typename VoxelT , typename WeightT >

pcl::TSDFVolume< VoxelT, WeightT >::TSDFVolume | ( |  | ) |

inline

Default constructor.

Definition at line 135 of file tsdf_volume.h.

## TSDFVolume() [2/2]

template<typename VoxelT , typename WeightT >

pcl::TSDFVolume< VoxelT, WeightT >::TSDFVolume | ( | const std::string & | filename | ) |

inline

Constructor loading data from file.

Definition at line 141 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::load(), and pcl::TSDFVolume< VoxelT, WeightT >::size().

## Member Function Documentation

## addNeighborhood()

template<typename VoxelT , typename WeightT >

bool pcl::TSDFVolume< VoxelT, WeightT >::addNeighborhood | ( | const Eigen::Vector3i & | voxel_coord,
|  | int | neighborhood_size,
|  | const VoxelTVec & | neighborhood,
|  | WeightT | voxel_weight
| ) |  |

adds voxel values in local neighborhood

Definition at line 280 of file tsdf_volume.hpp.

References pcl::console::print_info().

## averageValues()

template<typename VoxelT , typename WeightT >

void pcl::TSDFVolume< VoxelT, WeightT >::averageValues

averages voxel values by the weight value

Definition at line 331 of file tsdf_volume.hpp.

## convertToTsdfCloud()

template<typename VoxelT , typename WeightT >

void pcl::TSDFVolume< VoxelT, WeightT >::convertToTsdfCloud | ( | pcl::PointCloud< pcl::PointXYZI >::Ptr & | cloud,
|  | const unsigned | step = `2`
| ) |  | const

Converts volume to cloud of TSDF values.

Parameters

  [out] | cloud | - the output point cloud
  [in] | step | - the decimation step to use

Definition at line 158 of file tsdf_volume.hpp.

References pcl::PointCloud< PointT >::clear(), pcl::_PointXYZI::intensity, pcl::PointCloud< PointT >::push_back(), and pcl::PointCloud< PointT >::reserve().

## extractNeighborhood()

template<typename VoxelT , typename WeightT >

bool pcl::TSDFVolume< VoxelT, WeightT >::extractNeighborhood | ( | const Eigen::Vector3i & | voxel_coord,
|  | int | neighborhood_size,
|  | VoxelTVec & | neighborhood
| ) |  | const

extracts voxels in neighborhood of given voxel

Definition at line 226 of file tsdf_volume.hpp.

References pcl::console::print_info().

## getLinearVoxelIndex()

template<typename VoxelT , typename WeightT >

int pcl::TSDFVolume< VoxelT, WeightT >::getLinearVoxelIndex | ( | const Eigen::Array3i & | indices | ) | const

inline

Returns and index for linear access of the volume and weights.

Definition at line 266 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::Header::resolution.

## getLinearVoxelIndinces()

template<typename VoxelT , typename WeightT >

Eigen::VectorXi pcl::TSDFVolume< VoxelT, WeightT >::getLinearVoxelIndinces | ( | const Eigen::Matrix< int, 3, Eigen::Dynamic > & | indices_matrix | ) | const

inline

Returns a vector of linear indices for voxel coordinates given in 3xn matrix.

Definition at line 272 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::Header::resolution.

## getVoxelCoord()

template<typename VoxelT , typename WeightT >
template<typename PointT >

void pcl::TSDFVolume< VoxelT, WeightT >::getVoxelCoord | ( | const PointT & | point,
|  | Eigen::Vector3i & | voxel_coord
| ) |  | const

Converts the volume to a surface representation via a point cloud.

Crate Volume from Point Cloud

Returns the 3D voxel coordinate

Definition at line 193 of file tsdf_volume.hpp.

## getVoxelCoordAndOffset()

template<typename VoxelT , typename WeightT >
template<typename PointT >

void pcl::TSDFVolume< VoxelT, WeightT >::getVoxelCoordAndOffset | ( | const PointT & | point,
|  | Eigen::Vector3i & | coord,
|  | Eigen::Vector3f & | offset
| ) |  | const

Returns the 3D voxel coordinate and point offset wrt.

to the voxel center (in mm)

Definition at line 208 of file tsdf_volume.hpp.

## gridResolution()

template<typename VoxelT , typename WeightT >

const Eigen::Vector3i& pcl::TSDFVolume< VoxelT, WeightT >::gridResolution | ( |  | ) | const

inline

Returns the voxel grid resolution.

Definition at line 203 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::Header::resolution.

## header()

template<typename VoxelT , typename WeightT >

const Header& pcl::TSDFVolume< VoxelT, WeightT >::header | ( |  | ) | const

inline

Returns constant reference to header.

Definition at line 207 of file tsdf_volume.h.

## load()

template<typename VoxelT , typename WeightT >

bool pcl::TSDFVolume< VoxelT, WeightT >::load | ( | const std::string & | filename,
|  | bool | binary = `true`
| ) |  |

Loads volume from file.

Definition at line 46 of file tsdf_volume.hpp.

References pcl::console::print_error(), pcl::console::print_info(), and pcl::console::print_value().

Referenced by pcl::TSDFVolume< VoxelT, WeightT >::TSDFVolume().

## resize()

template<typename VoxelT , typename WeightT >

void pcl::TSDFVolume< VoxelT, WeightT >::resize | ( | Eigen::Vector3i & | grid_resolution,
|  | const Eigen::Vector3f & | volume_size = `Eigen::Vector3f (DEFAULT_VOLUME_SIZE_X, DEFAULT_VOLUME_SIZE_Y, DEFAULT_VOLUME_SIZE_Z)`
| ) |  |

inline

Resizes the internal storage and updates the header accordingly.

Definition at line 161 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::setHeader().

Referenced by pcl::TSDFVolume< VoxelT, WeightT >::resizeDefaultSize().

## resizeDefaultSize()

template<typename VoxelT , typename WeightT >

void pcl::TSDFVolume< VoxelT, WeightT >::resizeDefaultSize | ( |  | ) |

inline

Resize internal storage and header to default sizes defined in tsdf_volume.h.

Definition at line 170 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::resize().

## save()

template<typename VoxelT , typename WeightT >

bool pcl::TSDFVolume< VoxelT, WeightT >::save | ( | const std::string & | filename = `"tsdf_volume.dat"`,
|  | bool | binary = `true`
| ) |  | const

Saves volume to file.

Definition at line 104 of file tsdf_volume.hpp.

References pcl::console::print_error(), pcl::console::print_info(), and pcl::console::print_value().

## setHeader()

template<typename VoxelT , typename WeightT >

void pcl::TSDFVolume< VoxelT, WeightT >::setHeader | ( | const Eigen::Vector3i & | resolution,
|  | const Eigen::Vector3f & | volume_size
| ) |  |

inline

Set the header directly.

Useful if directly writing into volume and weights

Definition at line 153 of file tsdf_volume.h.

References pcl::console::print_warn(), and pcl::TSDFVolume< VoxelT, WeightT >::size().

Referenced by pcl::TSDFVolume< VoxelT, WeightT >::resize().

## size()

template<typename VoxelT , typename WeightT >

std::size_t pcl::TSDFVolume< VoxelT, WeightT >::size | ( |  | ) | const

inline

Returns overall number of voxels in grid.

Definition at line 188 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::Header::getVolumeSize().

Referenced by pcl::TSDFVolume< VoxelT, WeightT >::setHeader(), and pcl::TSDFVolume< VoxelT, WeightT >::TSDFVolume().

## volume()

template<typename VoxelT , typename WeightT >

const std::vector<VoxelT>& pcl::TSDFVolume< VoxelT, WeightT >::volume | ( |  | ) | const

inline

Returns constant reference to the volume std::vector.

Definition at line 211 of file tsdf_volume.h.

## volumeSize()

template<typename VoxelT , typename WeightT >

const Eigen::Vector3f& pcl::TSDFVolume< VoxelT, WeightT >::volumeSize | ( |  | ) | const

inline

Returns the volume size in mm.

Definition at line 192 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::Header::volume_size.

## volumeWriteable()

template<typename VoxelT , typename WeightT >

std::vector<VoxelT>& pcl::TSDFVolume< VoxelT, WeightT >::volumeWriteable | ( |  | ) | const

inline

Returns writebale(!) reference to volume.

Definition at line 215 of file tsdf_volume.h.

## voxelSize()

template<typename VoxelT , typename WeightT >

Eigen::Vector3f pcl::TSDFVolume< VoxelT, WeightT >::voxelSize | ( |  | ) | const

inline

Returns the size of one voxel in mm.

Definition at line 196 of file tsdf_volume.h.

References pcl::TSDFVolume< VoxelT, WeightT >::Header::resolution, and pcl::TSDFVolume< VoxelT, WeightT >::Header::volume_size.

## weights()

template<typename VoxelT , typename WeightT >

const std::vector<WeightT>& pcl::TSDFVolume< VoxelT, WeightT >::weights | ( |  | ) | const

inline

Returns constant reference to the weights std::vector.

Definition at line 219 of file tsdf_volume.h.

## weightsWriteable()

template<typename VoxelT , typename WeightT >

std::vector<WeightT>& pcl::TSDFVolume< VoxelT, WeightT >::weightsWriteable | ( |  | ) | const

inline

Returns writebale(!) reference to volume.

Definition at line 223 of file tsdf_volume.h.

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

- /build/pcl-rK6aXX/pcl-1.12.1+dfsg/gpu/kinfu/tools/tsdf_volume.h
- /build/pcl-rK6aXX/pcl-1.12.1+dfsg/gpu/kinfu/tools/tsdf_volume.hpp