Point Cloud Library (PCL)  1.14.0-dev
Namespaces | Classes | Functions | Variables
pcl::gpu Namespace Reference

Namespaces

 kinfuLS
 
 people
 

Classes

class  DeviceArray
 DeviceArray class More...
 
class  DeviceArray2D
 DeviceArray2D class More...
 
class  DeviceMemory
 DeviceMemory class More...
 
class  DeviceMemory2D
 DeviceMemory2D class More...
 
struct  DevPtr
 
struct  PtrSz
 
struct  PtrStep
 
struct  PtrStepSz
 
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  NormalEstimation
 Class for normal estimation. More...
 
class  PFHEstimation
 Class for PFH estimation. More...
 
class  PFHRGBEstimation
 Class for PFHRGB estimation. More...
 
class  FPFHEstimation
 Class for FPFH estimation. More...
 
class  PPFEstimation
 ** More...
 
class  PPFRGBEstimation
 ** More...
 
class  PPFRGBRegionEstimation
 ** More...
 
class  PrincipalCurvaturesEstimation
 ‍** More...
 
class  VFHEstimation
 ** More...
 
class  SpinImageEstimation
 ‍** More...
 
struct  DataSource
 
class  ColorVolume
 ColorVolume class. 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  PixelRGB
 Input/output pixel format for KinfuTracker. More...
 
struct  RayCaster
 Class that performs raycasting for TSDF volume. More...
 
class  TsdfVolume
 TsdfVolume class. More...
 
class  CaptureOpenNI
 
struct  NeighborIndices
 
class  Octree
 Octree implementation on GPU. More...
 
class  AsyncCopy
 
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...
 
class  SeededHueSegmentation
 
class  PseudoConvexHull3D
 
class  ParticleFilterGPUTracker
 
class  TextureBinder
 
struct  Timer
 
struct  ScopeTimer
 

Functions

PCL_EXPORTS int getCudaEnabledDeviceCount ()
 Returns number of Cuda device. More...
 
PCL_EXPORTS void setDevice (int device)
 Sets active device to work with. More...
 
PCL_EXPORTS std::string getDeviceName (int device)
 Return device name for given device. More...
 
void PCL_EXPORTS printCudaDeviceInfo (int device=-1)
 Prints information about given cuda device or about all devices. More...
 
void PCL_EXPORTS printShortCudaDeviceInfo (int device=-1)
 Prints information about given cuda device or about all devices. More...
 
bool PCL_EXPORTS checkIfPreFermiGPU (int device=-1)
 Returns true if pre-Fermi generator GPU. More...
 
void PCL_EXPORTS error (const char *error_string, const char *file, const int line, const char *func="")
 Error handler. More...
 
template<typename PointType >
void convertMapToOranizedCloud (const RayCaster::MapArr &map, DeviceArray2D< PointType > &cloud)
 Converts from map representation to organized not-dence point cloud. More...
 
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. More...
 
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). More...
 
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). More...
 
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)
 
int cp (int from, int to)
 Returns field copy operation code. More...
 
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)
 
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 ///. More...
 

Function Documentation

◆ ___cudaSafeCall() [1/2]

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

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 = "" 
)
inlinestatic

Definition at line 53 of file safe_call.hpp.

References error().

◆ 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]cloudcloud where to search
[in]queryquery point
[in]radiusradius
[out]resultindeces of points within give sphere
[in]bufferbuffer 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
devicedevice 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 86 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 78 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 103 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 111 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 95 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 
)

◆ 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 119 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 125 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 56 of file repacks.hpp.

Referenced by copyFields(), and copyFieldsZ().

◆ divUp() [1/2]

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

Definition at line 59 of file safe_call.hpp.

◆ divUp() [2/2]

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

Definition at line 59 of file safe_call.hpp.

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

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

◆ 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
deviceif < 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
deviceif < 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 62 of file repacks.hpp.

Referenced by copyFields(), 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 
)

◆ 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 53 of file repacks.hpp.