Point Cloud Library (PCL) 1.15.1
Loading...
Searching...
No Matches
pcl::gpu Namespace Reference

Namespaces

namespace  kinfuLS
namespace  people

Classes

class  DeviceArray
 DeviceArray class More...
class  DeviceArray2D
 DeviceArray2D class More...
class  DeviceMemory
 DeviceMemory class More...
class  DeviceMemory2D
 DeviceMemory2D class More...
class  TextureBinder
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  VFHEstimation
 Class for PPFRGBRegion estimation. 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
struct  Timer
struct  ScopeTimer

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 ///.
bool use_custom_axes_cloud_
 Class for SpinImages estimation.
bool is_radial_
unsigned int image_width_
float support_angle_cos_
unsigned int min_pts_neighb_
bool fake_surface_
NeighborIndices nn_indices_

Function Documentation

◆ ___cudaSafeCall() [1/2]

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]

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

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

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

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

Definition at line 59 of file safe_call.hpp.

◆ divUp() [2/2]

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

Definition at line 67 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 61 of file repacks.hpp.

References NoCP.

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 )

◆ setDevice()

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

Sets active device to work with.

Variable Documentation

◆ fake_surface_

bool pcl::gpu::fake_surface_

Definition at line 296 of file features.hpp.

◆ image_width_

unsigned int pcl::gpu::image_width_

Definition at line 292 of file features.hpp.

◆ is_radial_

bool pcl::gpu::is_radial_

Definition at line 290 of file features.hpp.

◆ min_pts_neighb_

unsigned int pcl::gpu::min_pts_neighb_

Definition at line 294 of file features.hpp.

◆ nn_indices_

NeighborIndices pcl::gpu::nn_indices_

Definition at line 298 of file features.hpp.

◆ NoCP

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

This is an experimental code ///.

Definition at line 50 of file repacks.hpp.

Referenced by copyFieldsEx(), and rule().

◆ support_angle_cos_

float pcl::gpu::support_angle_cos_

Definition at line 293 of file features.hpp.

◆ use_custom_axes_cloud_

bool pcl::gpu::use_custom_axes_cloud_

Class for SpinImages estimation.

*‍/

class PCL_EXPORTS SpinImageEstimation : public FeatureFromNormals { public:
using SpinImage = Histogram<153>;

SpinImageEstimation (unsigned int image_width = 8, double support_angle_cos = 0.0, // when 0, this is bogus, so not applied unsigned int min_pts_neighb = 0);

void setImageWidth (unsigned int bin_count);
void setSupportAngle (float support_angle_cos);
void setMinPointCountInNeighbourhood (unsigned int min_pts_neighb);
void setInputWithNormals (const PointCloud& input, const Normals& normals);
void setSearchSurfaceWithNormals (const PointCloud& surface, const Normals& normals);

void setRotationAxis (const NormalType& axis); void setInputRotationAxes (const Normals& axes);
void useNormalsAsRotationAxis(); void setAngularDomain (bool is_angular = true); void setRadialStructure (bool is_radial = true);

void compute(DeviceArray2D<SpinImage>& features, DeviceArray<unsigned char>& mask);

private:
Normals input_normals_; Normals rotation_axes_cloud_;

bool is_angular_;

NormalType rotation_axis_; bool use_custom_axis_;

/* use input normals as rotation axes

Definition at line 288 of file features.hpp.