Loading...
Searching...
No Matches
pcl::gpu Namespace Reference

## Namespaces

namespace | kinfuLS
namespace | people

## Classes

class | AsyncCopy
class | CaptureOpenNI
class | ColorVolume
| ColorVolume class. More...
struct | DataSource
class | DeviceArray
| DeviceArray class More...
class | DeviceArray2D
| DeviceArray2D class More...
class | DeviceMemory
| DeviceMemory class More...
class | DeviceMemory2D
| DeviceMemory2D class More...
struct | DevPtr
class | EuclideanClusterExtraction
| EuclideanClusterExtraction represents a segmentation class for cluster extraction in an Euclidean sense, depending on pcl::gpu::octree More...
class | EuclideanLabeledClusterExtraction
| EuclideanLabeledClusterExtraction represents a segmentation class for cluster extraction in an Euclidean sense, depending on pcl::gpu::octree More...
struct | Feature
| Feature represents the base feature class. More...
struct | FeatureFromNormals
| Feature represents the base feature class that takes normals as input also. More...
class | FPFHEstimation
| Class for FPFH estimation. More...
class | KinfuTracker
| KinfuTracker class encapsulates implementation of Microsoft Kinect Fusion algorithm. More...
class | MarchingCubes
| MarchingCubes implements MarchingCubes functionality for TSDF volume on GPU. More...
struct | NeighborIndices
class | NormalEstimation
| Class for normal estimation. More...
class | Octree
| Octree implementation on GPU. More...
class | ParticleFilterGPUTracker
class | PFHEstimation
| Class for PFH estimation. More...
class | PFHRGBEstimation
| Class for PFHRGB estimation. More...
struct | PixelRGB
| Input/output pixel format for KinfuTracker. More...
class | PPFEstimation
| ** More...
class | PPFRGBEstimation
| ** More...
class | PPFRGBRegionEstimation
| ** More...
class | PrincipalCurvaturesEstimation
| ‍** More...
class | PseudoConvexHull3D
struct | PtrStep
struct | PtrStepSz
struct | PtrSz
struct | RayCaster
| Class that performs raycasting for TSDF volume. More...
struct | ScopeTimer
class | SeededHueSegmentation
class | SpinImageEstimation
| ‍** More...
class | TextureBinder
struct | Timer
class | TsdfVolume
| TsdfVolume class. More...
class | VFHEstimation
| ** More...

## Functions

int | cp (int from, int to)
| Returns field copy operation code.
int | rule (int cp1, int cp2=NoCP, int cp3=NoCP, int cp4=NoCP)
void | copyFieldsImpl (int in_size, int out_size, int rules[4], int size, const void *input, void *output)
template<typename PointIn , typename PointOut >
void | copyFieldsEx (const DeviceArray< PointIn > &src, DeviceArray< PointOut > &dst, int rule1, int rule2=NoCP, int rule3=NoCP, int rule4=NoCP)
void | copyFields (const DeviceArray< PointXYZ > &src, DeviceArray< PointNormal > &dst)
void | copyFields (const DeviceArray< Normal > &src, DeviceArray< PointNormal > &dst)
void | copyFields (const DeviceArray< PointXYZRGBL > &src, DeviceArray< PointXYZ > &dst)
void | copyFields (const DeviceArray< PointXYZRGB > &src, DeviceArray< PointXYZ > &dst)
void | copyFields (const DeviceArray< PointXYZRGBA > &src, DeviceArray< PointXYZ > &dst)
void | copyFieldsZ (const DeviceArray< PointXYZ > &src, DeviceArray< float > &dst)
void | copyFieldsZ (const DeviceArray< PointXYZRGB > &src, DeviceArray< float > &dst)
PCL_EXPORTS int | getCudaEnabledDeviceCount ()
| Returns number of Cuda device.
PCL_EXPORTS void | setDevice (int device)
| Sets active device to work with.
PCL_EXPORTS std::string | getDeviceName (int device)
| Return device name for given device.
void PCL_EXPORTS | printCudaDeviceInfo (int device=-1)
| Prints information about given cuda device or about all devices.
void PCL_EXPORTS | printShortCudaDeviceInfo (int device=-1)
| Prints information about given cuda device or about all devices.
bool PCL_EXPORTS | checkIfPreFermiGPU (int device=-1)
| Returns true if pre-Fermi generator GPU.
void PCL_EXPORTS | error (const char *error_string, const char *file, const int line, const char *func="")
| Error handler.
template<typename PointType >
void | convertMapToOranizedCloud (const RayCaster::MapArr &map, DeviceArray2D< PointType > &cloud)
| Converts from map representation to organized not-dence point cloud.
static void | ___cudaSafeCall (cudaError_t err, const char *file, const int line, const char *func="")
static int | divUp (int total, int grain)
PCL_EXPORTS void | bruteForceRadiusSearchGPU (const Octree::PointCloud &cloud, const Octree::PointType &query, float radius, DeviceArray< int > &result, DeviceArray< int > &buffer)
| Performs brute force radius search on GPU.
template<typename PointT >
void | extractEuclideanClusters (const typename pcl::PointCloud< PointT >::Ptr &host_cloud_, const pcl::gpu::Octree::Ptr &tree, float tolerance, std::vector< PointIndices > &clusters, unsigned int min_pts_per_cluster, unsigned int max_pts_per_cluster)
bool | comparePointClusters (const pcl::PointIndices &a, const pcl::PointIndices &b)
| Sort clusters method (for std::sort).
template<typename PointT >
void | extractLabeledEuclideanClusters (const typename pcl::PointCloud< PointT >::Ptr &host_cloud_, const pcl::gpu::Octree::Ptr &tree, float tolerance, std::vector< PointIndices > &clusters, unsigned int min_pts_per_cluster, unsigned int max_pts_per_cluster)
bool | compareLabeledPointClusters (const pcl::PointIndices &a, const pcl::PointIndices &b)
| Sort clusters method (for std::sort).
void | seededHueSegmentation (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &host_cloud_, const pcl::gpu::Octree::Ptr &tree, float tolerance, PointIndices &clusters_in, PointIndices &clusters_out, float delta_hue=0.0)
static void | ___cudaSafeCall (cudaError_t err, const char *file, const int line, const char *func="")
static int | divUp (int total, int grain)

## Variables

const int | NoCP = 0xFFFFFFFF
| This is an experimental code ///.

## Function Documentation

## ___cudaSafeCall() [1/2]

static void pcl::gpu::___cudaSafeCall | ( | cudaError_t | err,
|  | const char * | file,
|  | const int | line,
|  | const char * | func = `""`
| ) |  |

inline static

Definition at line 53 of file safe_call.hpp.

References error().

## ___cudaSafeCall() [2/2]

static void pcl::gpu::___cudaSafeCall | ( | cudaError_t | err,
|  | const char * | file,
|  | const int | line,
|  | const char * | func = `""`
| ) |  |

inline static

Definition at line 54 of file safe_call.hpp.

## bruteForceRadiusSearchGPU()

PCL_EXPORTS void pcl::gpu::bruteForceRadiusSearchGPU | ( | const Octree::PointCloud & | cloud,
|  | const Octree::PointType & | query,
|  | float | radius,
|  | DeviceArray< int > & | result,
|  | DeviceArray< int > & | buffer
| ) |  |

Performs brute force radius search on GPU.

Parameters

  [in] | cloud | cloud where to search
  [in] | query | query point
  [in] | radius | radius
  [out] | result | indeces of points within give sphere
  [in] | buffer | buffer for intermediate results. Keep reference to it between calls to eliminate internal allocations

## checkIfPreFermiGPU()

bool PCL_EXPORTS pcl::gpu::checkIfPreFermiGPU | ( | int | device = `-1` | ) |

Returns true if pre-Fermi generator GPU.

Parameters

  device | device id to check, if < 0 checks current device.

## convertMapToOranizedCloud()

template<typename PointType >

void pcl::gpu::convertMapToOranizedCloud | ( | const RayCaster::MapArr & | map,
|  | DeviceArray2D< PointType > & | cloud
| ) |  |

Converts from map representation to organized not-dence point cloud.

## copyFields() [1/5]

void pcl::gpu::copyFields | ( | const DeviceArray< Normal > & | src,
|  | DeviceArray< PointNormal > & | dst
| ) |  |

Definition at line 102 of file repacks.hpp.

References copyFieldsEx(), cp(), and rule().

## copyFields() [2/5]

void pcl::gpu::copyFields | ( | const DeviceArray< PointXYZ > & | src,
|  | DeviceArray< PointNormal > & | dst
| ) |  |

Definition at line 93 of file repacks.hpp.

References copyFieldsEx(), cp(), and rule().

## copyFields() [3/5]

void pcl::gpu::copyFields | ( | const DeviceArray< PointXYZRGB > & | src,
|  | DeviceArray< PointXYZ > & | dst
| ) |  |

Definition at line 121 of file repacks.hpp.

References copyFieldsEx(), cp(), and rule().

## copyFields() [4/5]

void pcl::gpu::copyFields | ( | const DeviceArray< PointXYZRGBA > & | src,
|  | DeviceArray< PointXYZ > & | dst
| ) |  |

Definition at line 130 of file repacks.hpp.

References copyFieldsEx(), cp(), and rule().

## copyFields() [5/5]

void pcl::gpu::copyFields | ( | const DeviceArray< PointXYZRGBL > & | src,
|  | DeviceArray< PointXYZ > & | dst
| ) |  |

Definition at line 112 of file repacks.hpp.

References copyFieldsEx(), cp(), and rule().

## copyFieldsEx()

template<typename PointIn , typename PointOut >

void pcl::gpu::copyFieldsEx | ( | const DeviceArray< PointIn > & | src,
|  | DeviceArray< PointOut > & | dst,
|  | int | rule1,
|  | int | rule2 = `NoCP`,
|  | int | rule3 = `NoCP`,
|  | int | rule4 = `NoCP`
| ) |  |

Definition at line 75 of file repacks.hpp.

References copyFieldsImpl(), pcl::gpu::DeviceArray< T >::create(), pcl::gpu::DeviceArray< T >::ptr(), and pcl::gpu::DeviceArray< T >::size().

Referenced by copyFields(), copyFields(), copyFields(), copyFields(), copyFields(), copyFieldsZ(), and copyFieldsZ().

## copyFieldsImpl()

void pcl::gpu::copyFieldsImpl | ( | int | in_size,
|  | int | out_size,
|  | int | rules[4],
|  | int | size,
|  | const void * | input,
|  | void * | output
| ) |  |

Referenced by copyFieldsEx().

## copyFieldsZ() [1/2]

void pcl::gpu::copyFieldsZ | ( | const DeviceArray< PointXYZ > & | src,
|  | DeviceArray< float > & | dst
| ) |  |

Definition at line 139 of file repacks.hpp.

References copyFieldsEx(), cp(), and rule().

## copyFieldsZ() [2/2]

void pcl::gpu::copyFieldsZ | ( | const DeviceArray< PointXYZRGB > & | src,
|  | DeviceArray< float > & | dst
| ) |  |

Definition at line 146 of file repacks.hpp.

References copyFieldsEx(), cp(), and rule().

## cp()

int pcl::gpu::cp | ( | int | from,
|  | int | to
| ) |  |

inline

Returns field copy operation code.

Definition at line 54 of file repacks.hpp.

Referenced by copyFields(), copyFields(), copyFields(), copyFields(), copyFields(), copyFieldsZ(), and copyFieldsZ().

## divUp() [1/2]

static int pcl::gpu::divUp | ( | int | total,
|  | int | grain
| ) |  |

inline static

Definition at line 59 of file safe_call.hpp.

References divUp().

Referenced by divUp().

## divUp() [2/2]

static int pcl::gpu::divUp | ( | int | total,
|  | int | grain
| ) |  |

inline static

Definition at line 67 of file safe_call.hpp.

References divUp().

Referenced by divUp().

## error()

void PCL_EXPORTS pcl::gpu::error | ( | const char * | error_string,
|  | const char * | file,
|  | const int | line,
|  | const char * | func = `""`
| ) |  |

Error handler.

All GPU functions call this to report an error. For internal use only

Referenced by ___cudaSafeCall().

## extractEuclideanClusters()

template<typename PointT >

void pcl::gpu::extractEuclideanClusters | ( | const typename pcl::PointCloud< PointT >::Ptr & | host_cloud_,
|  | const pcl::gpu::Octree::Ptr & | tree,
|  | float | tolerance,
|  | std::vector< PointIndices > & | clusters,
|  | unsigned int | min_pts_per_cluster,
|  | unsigned int | max_pts_per_cluster
| ) |  |

Todo:
  : adjust this to a variable number settable with method

Definition at line 58 of file gpu_extract_clusters.hpp.

References pcl::PointCloud< PointT >::clear(), pcl::copyPoint(), pcl::gpu::DeviceArray< T >::create(), pcl::gpu::DeviceArray< T >::download(), pcl::detail::economical_download(), pcl::PointCloud< PointT >::header, pcl::PointIndices::header, pcl::PointIndices::indices, pcl::gpu::DeviceArray< T >::ptr(), pcl::PointCloud< PointT >::push_back(), pcl::PointCloud< PointT >::size(), pcl::gpu::NeighborIndices::sizes, and pcl::gpu::DeviceArray< T >::upload().

## extractLabeledEuclideanClusters()

template<typename PointT >

void pcl::gpu::extractLabeledEuclideanClusters | ( | const typename pcl::PointCloud< PointT >::Ptr & | host_cloud_,
|  | const pcl::gpu::Octree::Ptr & | tree,
|  | float | tolerance,
|  | std::vector< PointIndices > & | clusters,
|  | unsigned int | min_pts_per_cluster,
|  | unsigned int | max_pts_per_cluster
| ) |  |

Definition at line 45 of file gpu_extract_labeled_clusters.hpp.

References pcl::gpu::NeighborIndices::data, pcl::gpu::DeviceArray< T >::download(), pcl::PointCloud< PointT >::header, pcl::PointIndices::header, pcl::PointIndices::indices, pcl::PointCloud< PointT >::push_back(), pcl::PointCloud< PointT >::size(), pcl::gpu::NeighborIndices::sizes, and pcl::gpu::DeviceArray< T >::upload().

## getCudaEnabledDeviceCount()

PCL_EXPORTS int pcl::gpu::getCudaEnabledDeviceCount | ( |  | ) |

Returns number of Cuda device.

## getDeviceName()

PCL_EXPORTS std::string pcl::gpu::getDeviceName | ( | int | device | ) |

Return device name for given device.

## printCudaDeviceInfo()

void PCL_EXPORTS pcl::gpu::printCudaDeviceInfo | ( | int | device = `-1` | ) |

Prints information about given cuda device or about all devices.

Parameters

  device | if < 0 prints info for all devices, otherwise the function interprets it as device id.

## printShortCudaDeviceInfo()

void PCL_EXPORTS pcl::gpu::printShortCudaDeviceInfo | ( | int | device = `-1` | ) |

Prints information about given cuda device or about all devices.

Parameters

  device | if < 0 prints info for all devices, otherwise the function interprets it as device id.

## rule()

int pcl::gpu::rule | ( | int | cp1,
|  | int | cp2 = `NoCP`,
|  | int | cp3 = `NoCP`,
|  | int | cp4 = `NoCP`
| ) |  |

inline

Definition at line 61 of file repacks.hpp.

Referenced by copyFields(), copyFields(), copyFields(), copyFields(), copyFields(), copyFieldsZ(), and copyFieldsZ().

## seededHueSegmentation()

void pcl::gpu::seededHueSegmentation | ( | const pcl::PointCloud< pcl::PointXYZRGB >::Ptr & | host_cloud_,
|  | const pcl::gpu::Octree::Ptr & | tree,
|  | float | tolerance,
|  | PointIndices & | clusters_in,
|  | PointIndices & | clusters_out,
|  | float | delta_hue = `0.0`
| ) |  |

Referenced by pcl::gpu::SeededHueSegmentation::segment().

## setDevice()

PCL_EXPORTS void pcl::gpu::setDevice | ( | int | device | ) |

Sets active device to work with.

## Variable Documentation

## NoCP

const int pcl::gpu::NoCP = 0xFFFFFFFF

This is an experimental code ///.

Definition at line 50 of file repacks.hpp.