TsdfVolume class.
More...
#include </__w/1/s/gpu/kinfu/include/pcl/gpu/kinfu/tsdf_volume.h>
◆ ConstPtr
◆ NormalType
◆ PointType
◆ Ptr
◆ anonymous enum
Default buffer size for fetching cloud.
It limits max number of points that can be extracted
Enumerator |
---|
DEFAULT_CLOUD_BUFFER_SIZE | |
Definition at line 66 of file tsdf_volume.h.
◆ TsdfVolume()
pcl::gpu::TsdfVolume::TsdfVolume |
( |
const Eigen::Vector3i & |
resolution | ) |
|
Constructor.
- Parameters
-
[in] | resolution | volume resolution |
◆ data()
Returns tsdf volume container that point to data in GPU memory.
◆ downloadTsdf()
void pcl::gpu::TsdfVolume::downloadTsdf |
( |
std::vector< float > & |
tsdf | ) |
const |
Downloads tsdf volume from GPU memory.
- Parameters
-
[out] | tsdf | Array with tsdf values. if volume resolution is 512x512x512, so for voxel (x,y,z) tsdf value can be retrieved as volume[512*512*z + 512*y + x]; |
◆ downloadTsdfAndWeighs()
void pcl::gpu::TsdfVolume::downloadTsdfAndWeighs |
( |
std::vector< float > & |
tsdf, |
|
|
std::vector< short > & |
weights |
|
) |
| const |
Downloads TSDF volume and according voxel weights from GPU memory.
- Parameters
-
[out] | tsdf | Array with tsdf values. if volume resolution is 512x512x512, so for voxel (x,y,z) tsdf value can be retrieved as volume[512*512*z + 512*y + x]; |
[out] | weights | Array with tsdf voxel weights. Same size and access index as for tsdf. A weight of 0 indicates the voxel was never used. |
◆ fetchCloud()
Generates cloud using GPU in connected6 mode only.
- Parameters
-
[out] | cloud_buffer | buffer to store point cloud |
- Returns
- DeviceArray with disabled reference counting that points to filled part of cloud_buffer.
◆ fetchCloudHost()
void pcl::gpu::TsdfVolume::fetchCloudHost |
( |
PointCloud< PointType > & |
cloud, |
|
|
bool |
connected26 = false |
|
) |
| const |
Generates cloud using CPU (downloads volumetric representation to CPU memory)
- Parameters
-
[out] | cloud | output array for cloud |
[in] | connected26 | If false point cloud is extracted using 6 neighbor, otherwise 26. |
◆ fetchNormals() [1/2]
Computes normals as gradient of tsdf for given points.
- Parameters
-
[in] | cloud | Points where normals are computed. |
[out] | normals | array for normals |
◆ fetchNormals() [2/2]
Computes normals as gradient of tsdf for given points.
- Parameters
-
[in] | cloud | Points where normals are computed. |
[out] | normals | array for normals |
◆ getResolution()
const Eigen::Vector3i& pcl::gpu::TsdfVolume::getResolution |
( |
| ) |
const |
Returns volume resolution.
◆ getSize()
const Eigen::Vector3f& pcl::gpu::TsdfVolume::getSize |
( |
| ) |
const |
Returns volume size in meters.
◆ getTsdfTruncDist()
float pcl::gpu::TsdfVolume::getTsdfTruncDist |
( |
| ) |
const |
Returns tsdf truncation distance in meters.
◆ getVoxelSize()
const Eigen::Vector3f pcl::gpu::TsdfVolume::getVoxelSize |
( |
| ) |
const |
Returns volume voxel size in meters.
◆ reset()
void pcl::gpu::TsdfVolume::reset |
( |
| ) |
|
Resets tsdf volume data to uninitialized state.
◆ setSize()
void pcl::gpu::TsdfVolume::setSize |
( |
const Eigen::Vector3f & |
size | ) |
|
Sets Tsdf volume size for each dimension.
- Parameters
-
[in] | size | size of tsdf volume in meters |
◆ setTsdfTruncDist()
void pcl::gpu::TsdfVolume::setTsdfTruncDist |
( |
float |
distance | ) |
|
Sets Tsdf truncation distance.
Must be greater than 2 * volume_voxel_size
- Parameters
-
[in] | distance | TSDF truncation distance |
The documentation for this class was generated from the following file: