Point Cloud Library (PCL)  1.9.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
pcl::device Namespace Reference

Namespaces

 kinfuLS
 

Classes

struct  bit_not
 
struct  Block
 
struct  CalcMorton
 
struct  CompareByLevelCode
 
struct  ConnectedComponents
 
struct  CUDATree
 Struct that holds a single RDF tree in GPU. More...
 
struct  Dilatation
 
struct  Eigen33
 
struct  Emulation
 
struct  FacetStream
 
struct  float12
 
struct  float8
 
struct  Histogram
 
struct  InitalSimplex
 
struct  Intr
 Camera intrinsics structure. More...
 
struct  LessThanByFacet
 
struct  LightSource
 Light source collection. More...
 
struct  Mat33
 3x3 Matrix for device code More...
 
struct  Morton
 
class  MultiTreeLiveProc
 Processor using multiple trees. More...
 
struct  NonCachedLoad
 
struct  numeric_limits
 
struct  numeric_limits< bool >
 
struct  numeric_limits< char >
 
struct  numeric_limits< double >
 
struct  numeric_limits< float >
 
struct  numeric_limits< int >
 
struct  numeric_limits< long >
 
struct  numeric_limits< short >
 
struct  numeric_limits< signed char >
 
struct  numeric_limits< unsigned char >
 
struct  numeric_limits< unsigned int >
 
struct  numeric_limits< unsigned long >
 
struct  numeric_limits< unsigned short >
 
struct  OctreeGlobal
 
struct  OctreeGlobalWithBox
 
class  OctreeImpl
 
struct  OctreeIteratorDevice
 
struct  OctreeIteratorDeviceNS
 
struct  OctreePriorityIteratorDevice
 
struct  plusWeighted
 
struct  PointStream
 
struct  PPFRGBSignature
 
struct  PPFSignature
 
struct  PrincipalCurvatures
 
struct  prob_histogram
 
class  ProbabilityProc
 Implementation Class to process probability histograms on GPU. More...
 
struct  Static
 
struct  Static< true >
 
struct  VFHEstimationImpl
 
struct  Warp
 

Typedefs

typedef float4 PointType
 
typedef float4 NormalType
 
typedef float4 PointXYZRGB
 
typedef DeviceArray< PointTypePointCloud
 
typedef DeviceArray< NormalTypeNormals
 
typedef DeviceArray< int > Indices
 
typedef DeviceArray< PointTypePointXYZRGBCloud
 
typedef Histogram< 125 > PFHSignature125
 
typedef Histogram< 250 > PFHRGBSignature250
 
typedef Histogram< 33 > FPFHSignature33
 
typedef Histogram< 308 > VFHSignature308
 
typedef unsigned short ushort
 
typedef DeviceArray2D< float > MapArr
 
typedef DeviceArray2D< ushortDepthMap
 
typedef DeviceArray2D
< prob_histogram
LabelProbability
 
typedef DeviceArray2D< float4 > Cloud
 
typedef DeviceArray2D< uchar4 > Image
 
typedef DeviceArray2D
< unsigned short > 
Depth
 
typedef DeviceArray2D
< unsigned char > 
Labels
 
typedef DeviceArray2D< float > HueImage
 
typedef DeviceArray2D
< unsigned char > 
Mask
 
typedef DeviceArray2D< char4 > MultiLabels
 
typedef unsigned long long uint64_type
 
typedef DeviceArray< uint64_typeFacetsDists
 
typedef DeviceArray< int > Perm
 
typedef float8 StateType
 
typedef uchar4 PixelRGB
 

Enumerations

enum  ScanKind { exclusive, inclusive, exclusive, inclusive }
 
enum  { VOLUME_X = 512, VOLUME_Y = 512, VOLUME_Z = 512 }
 
enum  ScanKind { exclusive, inclusive, exclusive, inclusive }
 

Functions

__device__ __forceinline__ void computeRoots2 (const float &b, const float &c, float3 &roots)
 
__device__ __forceinline__ void computeRoots3 (float c0, float c1, float c2, float3 &roots)
 
__device__ __host__
__forceinline__ bool 
computePairFeatures (const float3 &p1, const float3 &n1, const float3 &p2, const float3 &n2, float &f1, float &f2, float &f3, float &f4)
 
__device__ __host__
__forceinline__ bool 
computeRGBPairFeatures (const float3 &p1, const float3 &n1, const int &colors1, const float3 &p2, const float3 &n2, const int &colors2, float &f1, float &f2, float &f3, float &f4, float &f5, float &f6, float &f7)
 
__device__ __host__
__forceinline__ void 
computeRGBPairFeatures_RGBOnly (const int &colors1, const int &colors2, float &f5, float &f6, float &f7)
 
__device__ __host__
__forceinline__ bool 
computePPFPairFeature (const float3 &p1, const float3 &n1, const float3 &p2, const float3 &n2, float &f1, float &f2, float &f3, float &f4)
 
__device__ __host__
__forceinline__ void 
computeAlfaM (const float3 &model_reference_point, const float3 &model_reference_normal, const float3 &model_point, float &alpha_m)
 
__device__ __host__
__forceinline__ void 
AngleAxisf (float angle, const float3 &r, float3 &row1, float3 &row2, float3 &row3)
 
__device__ __host__
__forceinline__ void 
Rodrigues (const float3 &rvec, float3 &row1, float3 &row2, float3 &row3)
 
void computeNormals (const PointCloud &cloud, const NeighborIndices &nn_indices, Normals &normals)
 
void flipNormalTowardsViewpoint (const PointCloud &cloud, const float3 &vp, Normals &normals)
 
void flipNormalTowardsViewpoint (const PointCloud &cloud, const Indices &indices, const float3 &vp, Normals &normals)
 
void repackToAosForPfh (const PointCloud &cloud, const Normals &normals, const NeighborIndices &neighbours, DeviceArray2D< float > &data_rpk, int &max_elems_rpk)
 
void computePfh125 (const DeviceArray2D< float > &data_rpk, int max_elems_rpk, const NeighborIndices &neighbours, DeviceArray2D< PFHSignature125 > &features)
 
void repackToAosForPfhRgb (const PointCloud &cloud, const Normals &normals, const NeighborIndices &neighbours, DeviceArray2D< float > &data_rpk, int &max_elems_rpk)
 
void computePfhRgb250 (const DeviceArray2D< float > &data_rpk, int max_elems_rpk, const NeighborIndices &neighbours, DeviceArray2D< PFHRGBSignature250 > &features)
 
void computeSPFH (const PointCloud &surface, const Normals &normals, const Indices &indices, const NeighborIndices &neighbours, DeviceArray2D< FPFHSignature33 > &spfh33)
 
void computeFPFH (const PointCloud &cloud, const NeighborIndices &neighbours, const DeviceArray2D< FPFHSignature33 > &spfh, DeviceArray2D< FPFHSignature33 > &features)
 
void computeFPFH (const PointCloud &cloud, const Indices &indices, const PointCloud &surface, const NeighborIndices &neighbours, DeviceArray< int > &lookup, const DeviceArray2D< FPFHSignature33 > &spfh, DeviceArray2D< FPFHSignature33 > &features)
 
int computeUniqueIndices (size_t surface_size, const NeighborIndices &neighbours, DeviceArray< int > &unique_indices, DeviceArray< int > &lookup)
 
void computePPF (const PointCloud &input, const Normals &normals, const Indices &indices, DeviceArray< PPFSignature > &output)
 
void computePPFRGB (const PointXYZRGBCloud &input, const Normals &normals, const Indices &indices, DeviceArray< PPFRGBSignature > &output)
 
void computePPFRGBRegion (const PointXYZRGBCloud &cloud, const Normals &normals, const Indices &indices, const NeighborIndices &nn_indices, DeviceArray< PPFRGBSignature > &output)
 
void computePointPrincipalCurvatures (const Normals &normals, const Indices &indices, const NeighborIndices &neighbours, DeviceArray< PrincipalCurvatures > &output, DeviceArray2D< float > &proj_normals_buf)
 
template<typename PointT >
void compute3DCentroid (const DeviceArray< PointT > &cloud, float3 &centroid)
 
template<typename PointT >
void compute3DCentroid (const DeviceArray< PointT > &cloud, const Indices &indices, float3 &centroid)
 
template<typename PointT >
float3 getMaxDistance (const DeviceArray< PointT > &cloud, const float3 &pivot)
 
template<typename PointT >
float3 getMaxDistance (const DeviceArray< PointT > &cloud, const Indices &indices, const float3 &pivot)
 
void computeSpinImagesOrigigNormal (bool radial, bool angular, float support_angle_cos, const Indices &indices, const PointCloud &input_cloud, const Normals &input_normals, const PointCloud &surface, const Normals &normals, const NeighborIndices &neighbours, int min_neighb, int image_width, float bin_size, PtrStep< float > output)
 
void computeSpinImagesCustomAxes (bool radial, bool angular, float support_angle_cos, const Indices &indices, const PointCloud &input_cloud, const Normals &input_normals, const PointCloud &surface, const Normals &normals, const NeighborIndices &neighbours, int min_neighb, int image_width, float bin_size, const float3 &rotation_axis, PtrStep< float > output)
 
void computeSpinImagesCustomAxesCloud (bool radial, bool angular, float support_angle_cos, const Indices &indices, const PointCloud &input_cloud, const Normals &input_normals, const PointCloud &surface, const Normals &normals, const NeighborIndices &neighbours, int min_neighb, int image_width, float bin_size, const Normals &rotation_axes_cloud, PtrStep< float > output)
 
void computeMask (const NeighborIndices &neighbours, int min_neighb, DeviceArray< unsigned char > &mask)
 
__forceinline__ __device__
__host__ float3 
operator/ (const float3 &vec, float val)
 
__device__ __host__
__forceinline__ float3 & 
operator/= (float3 &v, const float &value)
 
__device__ __host__
__forceinline__ float 
norm (const float3 &v1, const float3 &v2)
 
template<typename T >
__device__ __forceinline__ float3 tr (const T &v)
 
__host__ __device__ float3 normalize (const float3 &v)
 
__device__ __forceinline__ void pack_tsdf (float tsdf, int weight, short2 &value)
 
__device__ __forceinline__ void unpack_tsdf (short2 value, float &tsdf, int &weight)
 
__device__ __forceinline__ float unpack_tsdf (short2 value)
 
__device__ __forceinline__ float3 operator* (const Mat33 &m, const float3 &vec)
 
template<ScanKind Kind, class T >
__device__ __forceinline__ T scan_warp (volatile T *ptr, const unsigned int idx=threadIdx.x)
 
template<class T >
__device__ __host__
__forceinline__ void 
swap (T &a, T &b)
 
__device__ __forceinline__ float dot (const float3 &v1, const float3 &v2)
 
__device__ __forceinline__ float3 & operator+= (float3 &vec, const float &v)
 
__device__ __forceinline__ float3 operator+ (const float3 &v1, const float3 &v2)
 
__device__ __forceinline__ float3 & operator*= (float3 &vec, const float &v)
 
__device__ __forceinline__ float3 operator- (const float3 &v1, const float3 &v2)
 
__device__ __forceinline__ float3 operator* (const float3 &v1, const float &v)
 
__device__ __forceinline__ float norm (const float3 &v)
 
__device__ __forceinline__ float3 normalized (const float3 &v)
 
__device__ __host__
__forceinline__ float3 
cross (const float3 &v1, const float3 &v2)
 
void bilateralFilter (const DepthMap &src, DepthMap &dst)
 Performs bilateral filtering of disparity map. More...
 
void pyrDown (const DepthMap &src, DepthMap &dst)
 Computes depth pyramid. More...
 
void createVMap (const Intr &intr, const DepthMap &depth, MapArr &vmap)
 Computes vertex map. More...
 
void createNMap (const MapArr &vmap, MapArr &nmap)
 Computes normal map using cross product. More...
 
void computeNormalsEigen (const MapArr &vmap, MapArr &nmap)
 Computes normal map using Eigen/PCA approach. More...
 
void tranformMaps (const MapArr &vmap_src, const MapArr &nmap_src, const Mat33 &Rmat, const float3 &tvec, MapArr &vmap_dst, MapArr &nmap_dst)
 Performs affine transform of vertex and normal maps. More...
 
void truncateDepth (DepthMap &depth, float max_distance)
 Performs depth truncation. More...
 
void findCoresp (const MapArr &vmap_g_curr, const MapArr &nmap_g_curr, const Mat33 &Rprev_inv, const float3 &tprev, const Intr &intr, const MapArr &vmap_g_prev, const MapArr &nmap_g_prev, float distThres, float angleThres, PtrStepSz< short2 > coresp)
 (now it's extra code) Computes corespondances map More...
 
void estimateTransform (const MapArr &v_dst, const MapArr &n_dst, const MapArr &v_src, const PtrStepSz< short2 > &coresp, DeviceArray2D< float > &gbuf, DeviceArray< float > &mbuf, float *matrixA_host, float *vectorB_host)
 (now it's extra code) Computation Ax=b for ICP iteration More...
 
void estimateCombined (const Mat33 &Rcurr, const float3 &tcurr, const MapArr &vmap_curr, const MapArr &nmap_curr, const Mat33 &Rprev_inv, const float3 &tprev, const Intr &intr, const MapArr &vmap_g_prev, const MapArr &nmap_g_prev, float distThres, float angleThres, DeviceArray2D< float > &gbuf, DeviceArray< float > &mbuf, float *matrixA_host, float *vectorB_host)
 Computation Ax=b for ICP iteration. More...
 
void estimateCombined (const Mat33 &Rcurr, const float3 &tcurr, const MapArr &vmap_curr, const MapArr &nmap_curr, const Mat33 &Rprev_inv, const float3 &tprev, const Intr &intr, const MapArr &vmap_g_prev, const MapArr &nmap_g_prev, float distThres, float angleThres, DeviceArray2D< double > &gbuf, DeviceArray< double > &mbuf, double *matrixA_host, double *vectorB_host)
 
PCL_EXPORTS void initVolume (PtrStep< short2 > array)
 Perform tsdf volume initialization. More...
 
void integrateTsdfVolume (const PtrStepSz< ushort > &depth_raw, const Intr &intr, const float3 &volume_size, const Mat33 &Rcurr_inv, const float3 &tcurr, float tranc_dist, PtrStep< short2 > volume)
 Performs Tsfg volume uptation (extra obsolete now) More...
 
PCL_EXPORTS void integrateTsdfVolume (const PtrStepSz< ushort > &depth_raw, const Intr &intr, const float3 &volume_size, const Mat33 &Rcurr_inv, const float3 &tcurr, float tranc_dist, PtrStep< short2 > volume, DeviceArray2D< float > &depthRawScaled)
 Function that integrates volume if volume element contains: 2 bytes for round(tsdf*SHORT_MAX) and 2 bytes for integer weight. More...
 
void initColorVolume (PtrStep< uchar4 > color_volume)
 Initialzied color volume. More...
 
void updateColorVolume (const Intr &intr, float tranc_dist, const Mat33 &R_inv, const float3 &t, const MapArr &vmap, const PtrStepSz< uchar3 > &colors, const float3 &volume_size, PtrStep< uchar4 > color_volume, int max_weight=1)
 Performs integration in color volume. More...
 
void raycast (const Intr &intr, const Mat33 &Rcurr, const float3 &tcurr, float tranc_dist, const float3 &volume_size, const PtrStep< short2 > &volume, MapArr &vmap, MapArr &nmap)
 Generation vertex and normal maps from volume for current camera pose. More...
 
void generateImage (const MapArr &vmap, const MapArr &nmap, const LightSource &light, PtrStepSz< uchar3 > dst)
 Renders 3D image of the scene. More...
 
void generateDepth (const Mat33 &R_inv, const float3 &t, const MapArr &vmap, DepthMap &dst)
 Renders depth image from give pose. More...
 
void paint3DView (const PtrStep< uchar3 > &colors, PtrStepSz< uchar3 > dst, float colors_weight=0.5f)
 Paints 3D view with color map. More...
 
void resizeVMap (const MapArr &input, MapArr &output)
 Performs resize of vertex map to next pyramid level by averaging each four points. More...
 
void resizeNMap (const MapArr &input, MapArr &output)
 Performs resize of vertex map to next pyramid level by averaging each four normals. More...
 
PCL_EXPORTS size_t extractCloud (const PtrStep< short2 > &volume, const float3 &volume_size, PtrSz< PointType > output)
 Perform point cloud extraction from tsdf volume. More...
 
template<typename NormalType >
void extractNormals (const PtrStep< short2 > &volume, const float3 &volume_size, const PtrSz< PointType > &input, NormalType *output)
 Performs normals computation for given points using tsdf volume. More...
 
void exctractColors (const PtrStep< uchar4 > &color_volume, const float3 &volume_size, const PtrSz< PointType > &points, uchar4 *colors)
 Performs colors exctraction from color volume. More...
 
template<typename T >
void convert (const MapArr &vmap, DeviceArray2D< T > &output)
 Conversion from SOA to AOS. More...
 
void mergePointNormal (const DeviceArray< float4 > &cloud, const DeviceArray< float8 > &normals, const DeviceArray< float12 > &output)
 Merges pcl::PointXYZ and pcl::Normal to PointNormal. More...
 
bool valid_host (float value)
 Check for qnan (unused now) More...
 
void sync ()
 synchronizes CUDA execution More...
 
template<class D , class Matx >
D & device_cast (Matx &matx)
 
void bindTextures (const int *edgeBuf, const int *triBuf, const int *numVertsBuf)
 Binds marching cubes tables to texture references. More...
 
void unbindTextures ()
 Unbinds. More...
 
int getOccupiedVoxels (const PtrStep< short2 > &volume, DeviceArray2D< int > &occupied_voxels)
 Scans tsdf volume and retrieves occupied voxels. More...
 
int computeOffsetsAndTotalVertexes (DeviceArray2D< int > &occupied_voxels)
 Computes total number of vertexes for all voxels and offsets of vertexes in final triangle array. More...
 
void generateTriangles (const PtrStep< short2 > &volume, const DeviceArray2D< int > &occupied_voxels, const float3 &volume_size, DeviceArray< PointType > &output)
 Generates final triangle array. More...
 
void bruteForceRadiusSearch (const OctreeImpl::PointCloud &cloud, const OctreeImpl::PointType &query, float radius, DeviceArray< int > &result, DeviceArray< int > &buffer)
 
template<typename T >
__device__ __forceinline__ void swap (T &a, T &b)
 
template<typename V , typename K >
__device__ __forceinline__ void bitonicSortWarp (volatile K *keys, volatile V *vals, unsigned int dir=1)
 
__device__ __host__ static
__forceinline__ bool 
checkIfNodeInsideSphere (const float3 &minp, const float3 &maxp, const float3 &c, float r)
 
__device__ __host__ static
__forceinline__ bool 
checkIfNodeOutsideSphere (const float3 &minp, const float3 &maxp, const float3 &c, float r)
 
__device__ __host__ static
__forceinline__ void 
calcBoundingBox (int level, int code, float3 &res_minp, float3 &res_maxp)
 
template<typename T >
__device__ void CopyKernel (const T *in, T *out, int length)
 
template<typename T >
__device__ void GenerateKernel (T *out, int beg, int end)
 
template<typename T >
__device__ void GenerateTasksKernel (T *out, int beg, int end, int level)
 
template<ScanKind Kind, class T >
__device__ __forceinline__ T scan_block (volatile T *ptr, const unsigned int idx=threadIdx.x)
 
template<class T >
__device__ __forceinline__ T warp_reduce (volatile T *ptr, const unsigned int tid=threadIdx.x)
 
template<typename Point >
__device__ __forceinline__ float sqnorm (const Point &p1, const Point &p2)
 
__device__ __forceinline__ float3 computePoint (unsigned short depth, int x, int y, const Intr &intr)
 
__device__ __forceinline__ bool isFinite (const float3 &p)
 
void smoothLabelImage (const Labels &src, const Depth &depth, Labels &dst, int num_parts, int patch_size, int depthThres)
 
void colorLMap (const Labels &labels, const DeviceArray< uchar4 > &cmap, Image &rgb)
 
void mixedColorMap (const Labels &labels, const DeviceArray< uchar4 > &map, const Image &rgba, Image &output)
 
void computeCloud (const Depth &depth, const Intr &intr, Cloud &cloud)
 
void setZero (Mask &mask)
 
void prepareForeGroundDepth (const Depth &depth1, Mask &inverse_mask, Depth &depth2)
 
float computeHue (int rgba)
 
void computeHueWithNans (const Image &image, const Depth &depth, HueImage &hue)
 
__device__ __host__
__forceinline__ float4 
compute_plane (const float3 &v, const float3 &v1, const float3 &v2, const float3 &p)
 Computers plane from 3 points (v, v1, v2), ensures that point P lies positive subspace. More...
 
__device__ __host__
__forceinline__ float3 
tr (const PointType &p)
 
__device__ __host__
__forceinline__ float 
compue_inv_normal_norm (const float4 &p)
 
__device__ __host__
__forceinline__ float4 & 
operator*= (float4 &p, float v)
 
size_t remove_duplicates (DeviceArray< int > &indeces)
 
void pack_hull (const DeviceArray< PointType > &points, const DeviceArray< int > &indeces, DeviceArray< PointType > &output)
 
__device__ __forceinline__ float getSampleNormal (const float mean, const float cov, curandState *rng_state)
 
void initParticles (PtrSz< curandState > rng_states, DeviceArray< float > &initial_noise_mean, DeviceArray< float > &initial_noise_covariance, const StateType &representative_state, DeviceArray< StateType > &particles)
 
void computeTracking (const DeviceArray2D< PointType > &ref, const DeviceArray2D< PixelRGB > &ref_color, const DeviceArray2D< PointType > &input, const DeviceArray2D< PixelRGB > &input_color, PtrSz< curandState > rng_states, const DeviceArray< float > &step_noise_covariance, DeviceArray< StateType > &particles, StateType &representative_state, StateType &motion, float motion_ratio)
 
template<typename Iterator , typename T , typename BinaryPredicate >
__host__ __device__ Iterator lower_bound (Iterator first, Iterator last, const T &val, BinaryPredicate comp)
 
template<class Func >
void printFuncAttrib (Func &func)
 
template<unsigned int CTA_SIZE, typename T , typename BinaryFunction >
__device__ __forceinline__ void reduce_block (volatile T *data, BinaryFunction op, unsigned int tid=threadIdx.x)
 
__device__ __host__
__forceinline__ float 
dot (const float4 &v1, const float4 &v2)
 
template<typename T >
__device__ __host__
__forceinline__ float 
norm (const T &val)
 
template<typename T >
__host__ __device__
__forceinline__ float 
inverse_norm (const T &v)
 
template<typename T >
__host__ __device__
__forceinline__ T 
normalized (const T &v)
 
template<typename T >
__host__ __device__
__forceinline__ T 
normalized_safe (const T &v)
 
void copyFields (int in_size, int out_size, int info[4], int size, const void *input, void *output)
 

Variables

const int DIVISOR = 32767
 
const float VOLUME_SIZE = 3.0f
 

Typedef Documentation

Definition at line 53 of file internal.h.

typedef DeviceArray2D<unsigned short> pcl::device::Depth

Definition at line 56 of file internal.h.

Definition at line 53 of file internal.h.

Definition at line 53 of file internal.h.

Definition at line 75 of file internal.hpp.

Definition at line 58 of file internal.h.

Definition at line 54 of file internal.h.

Definition at line 64 of file internal.hpp.

Definition at line 265 of file label_common.h.

typedef DeviceArray2D<unsigned char> pcl::device::Labels

Definition at line 57 of file internal.h.

Definition at line 52 of file internal.h.

typedef DeviceArray2D<unsigned char> pcl::device::Mask

Definition at line 59 of file internal.h.

Definition at line 61 of file internal.h.

Definition at line 63 of file internal.hpp.

typedef float4 pcl::device::NormalType

Definition at line 59 of file internal.hpp.

Definition at line 54 of file internal.h.

Definition at line 74 of file internal.hpp.

Definition at line 73 of file internal.hpp.

typedef uchar4 pcl::device::PixelRGB

Definition at line 19 of file internal.h.

Definition at line 62 of file internal.hpp.

typedef float4 pcl::device::PointType

Definition at line 58 of file internal.hpp.

typedef float4 pcl::device::PointXYZRGB

Definition at line 60 of file internal.hpp.

Definition at line 66 of file internal.hpp.

Definition at line 16 of file internal.h.

typedef unsigned long long pcl::device::uint64_type

Definition at line 48 of file internal.h.

typedef unsigned short pcl::device::ushort

Definition at line 51 of file internal.h.

Definition at line 76 of file internal.hpp.

Enumeration Type Documentation

anonymous enum
Enumerator
VOLUME_X 
VOLUME_Y 
VOLUME_Z 

Definition at line 60 of file internal.h.

Enumerator
exclusive 
inclusive 
exclusive 
inclusive 

Definition at line 45 of file scan_block.hpp.

Enumerator
exclusive 
inclusive 
exclusive 
inclusive 

Definition at line 85 of file device.hpp.

Function Documentation

__device__ __host__ __forceinline__ void pcl::device::AngleAxisf ( float  angle,
const float3 &  r,
float3 &  row1,
float3 &  row2,
float3 &  row3 
)

Definition at line 47 of file rodrigues.hpp.

Referenced by computeAlfaM(), and Rodrigues().

void pcl::device::bilateralFilter ( const DepthMap &  src,
DepthMap &  dst 
)

Performs bilateral filtering of disparity map.

Parameters
[in]srcsource map
[out]dstoutput map
void pcl::device::bindTextures ( const int *  edgeBuf,
const int *  triBuf,
const int *  numVertsBuf 
)

Binds marching cubes tables to texture references.

template<typename V , typename K >
__device__ __forceinline__ void pcl::device::bitonicSortWarp ( volatile K *  keys,
volatile V *  vals,
unsigned int  dir = 1 
)

Definition at line 48 of file bitonic_sort.hpp.

References swap().

void pcl::device::bruteForceRadiusSearch ( const OctreeImpl::PointCloud &  cloud,
const OctreeImpl::PointType &  query,
float  radius,
DeviceArray< int > &  result,
DeviceArray< int > &  buffer 
)
__device__ __host__ static __forceinline__ void pcl::device::calcBoundingBox ( int  level,
int  code,
float3 &  res_minp,
float3 &  res_maxp 
)
static

Definition at line 101 of file boxutils.hpp.

References pcl::device::Morton::decomposeCode().

__device__ __host__ static __forceinline__ bool pcl::device::checkIfNodeInsideSphere ( const float3 &  minp,
const float3 &  maxp,
const float3 &  c,
float  r 
)
static

Definition at line 47 of file boxutils.hpp.

__device__ __host__ static __forceinline__ bool pcl::device::checkIfNodeOutsideSphere ( const float3 &  minp,
const float3 &  maxp,
const float3 &  c,
float  r 
)
static

Definition at line 89 of file boxutils.hpp.

void pcl::device::colorLMap ( const Labels &  labels,
const DeviceArray< uchar4 > &  cmap,
Image &  rgb 
)
__device__ __host__ __forceinline__ float pcl::device::compue_inv_normal_norm ( const float4 &  p)

Definition at line 82 of file device.h.

template<typename PointT >
void pcl::device::compute3DCentroid ( const DeviceArray< PointT > &  cloud,
float3 &  centroid 
)
template<typename PointT >
void pcl::device::compute3DCentroid ( const DeviceArray< PointT > &  cloud,
const Indices &  indices,
float3 &  centroid 
)
__device__ __host__ __forceinline__ float4 pcl::device::compute_plane ( const float3 &  v,
const float3 &  v1,
const float3 &  v2,
const float3 &  p 
)

Computers plane from 3 points (v, v1, v2), ensures that point P lies positive subspace.

Parameters
[in]v3D point volume tsdf volume container
[in]v13D point volume tsdf volume container
[in]v23D point volume tsdf volume container
[in]ppoint for sign check of plane coefs (should lie in positive subspace)
Returns
a,b,c,d coefs vector

Definition at line 56 of file device.h.

References cross(), and dot().

__device__ __host__ __forceinline__ void pcl::device::computeAlfaM ( const float3 &  model_reference_point,
const float3 &  model_reference_normal,
const float3 &  model_point,
float &  alpha_m 
)

Definition at line 179 of file pair_features.hpp.

References AngleAxisf(), and normalized().

void pcl::device::computeCloud ( const Depth &  depth,
const Intr &  intr,
Cloud &  cloud 
)
void pcl::device::computeFPFH ( const PointCloud cloud,
const NeighborIndices &  neighbours,
const DeviceArray2D< FPFHSignature33 > &  spfh,
DeviceArray2D< FPFHSignature33 > &  features 
)
void pcl::device::computeFPFH ( const PointCloud cloud,
const Indices &  indices,
const PointCloud surface,
const NeighborIndices &  neighbours,
DeviceArray< int > &  lookup,
const DeviceArray2D< FPFHSignature33 > &  spfh,
DeviceArray2D< FPFHSignature33 > &  features 
)
float pcl::device::computeHue ( int  rgba)
void pcl::device::computeHueWithNans ( const Image &  image,
const Depth &  depth,
HueImage &  hue 
)
void pcl::device::computeMask ( const NeighborIndices &  neighbours,
int  min_neighb,
DeviceArray< unsigned char > &  mask 
)
void pcl::device::computeNormals ( const PointCloud cloud,
const NeighborIndices &  nn_indices,
Normals &  normals 
)
void pcl::device::computeNormalsEigen ( const MapArr &  vmap,
MapArr &  nmap 
)

Computes normal map using Eigen/PCA approach.

Parameters
[in]vmapvertex map
[out]nmapnormal map
int pcl::device::computeOffsetsAndTotalVertexes ( DeviceArray2D< int > &  occupied_voxels)

Computes total number of vertexes for all voxels and offsets of vertexes in final triangle array.

Parameters
[out]occupied_voxelsbuffer with occupied voxels. The function fulfills 3nd only with offsets
Returns
total number of vertexes
__device__ __host__ __forceinline__ bool pcl::device::computePairFeatures ( const float3 &  p1,
const float3 &  n1,
const float3 &  p2,
const float3 &  n2,
float &  f1,
float &  f2,
float &  f3,
float &  f4 
)

Definition at line 48 of file pair_features.hpp.

References cross(), dot(), and norm().

void pcl::device::computePfh125 ( const DeviceArray2D< float > &  data_rpk,
int  max_elems_rpk,
const NeighborIndices &  neighbours,
DeviceArray2D< PFHSignature125 > &  features 
)
void pcl::device::computePfhRgb250 ( const DeviceArray2D< float > &  data_rpk,
int  max_elems_rpk,
const NeighborIndices &  neighbours,
DeviceArray2D< PFHRGBSignature250 > &  features 
)
__device__ __forceinline__ float3 pcl::device::computePoint ( unsigned short  depth,
int  x,
int  y,
const Intr &  intr 
)
void pcl::device::computePointPrincipalCurvatures ( const Normals &  normals,
const Indices &  indices,
const NeighborIndices &  neighbours,
DeviceArray< PrincipalCurvatures > &  output,
DeviceArray2D< float > &  proj_normals_buf 
)
void pcl::device::computePPF ( const PointCloud input,
const Normals &  normals,
const Indices &  indices,
DeviceArray< PPFSignature > &  output 
)
__device__ __host__ __forceinline__ bool pcl::device::computePPFPairFeature ( const float3 &  p1,
const float3 &  n1,
const float3 &  p2,
const float3 &  n2,
float &  f1,
float &  f2,
float &  f3,
float &  f4 
)

Definition at line 160 of file pair_features.hpp.

References dot(), and norm().

void pcl::device::computePPFRGB ( const PointXYZRGBCloud &  input,
const Normals &  normals,
const Indices &  indices,
DeviceArray< PPFRGBSignature > &  output 
)
void pcl::device::computePPFRGBRegion ( const PointXYZRGBCloud &  cloud,
const Normals &  normals,
const Indices &  indices,
const NeighborIndices &  nn_indices,
DeviceArray< PPFRGBSignature > &  output 
)
__device__ __host__ __forceinline__ bool pcl::device::computeRGBPairFeatures ( const float3 &  p1,
const float3 &  n1,
const int &  colors1,
const float3 &  p2,
const float3 &  n2,
const int &  colors2,
float &  f1,
float &  f2,
float &  f3,
float &  f4,
float &  f5,
float &  f6,
float &  f7 
)

Definition at line 95 of file pair_features.hpp.

References cross(), dot(), and norm().

__device__ __host__ __forceinline__ void pcl::device::computeRGBPairFeatures_RGBOnly ( const int &  colors1,
const int &  colors2,
float &  f5,
float &  f6,
float &  f7 
)

Definition at line 148 of file pair_features.hpp.

__device__ __forceinline__ void pcl::device::computeRoots2 ( const float &  b,
const float &  c,
float3 &  roots 
)

Definition at line 101 of file eigen.hpp.

Referenced by computeRoots3().

__device__ __forceinline__ void pcl::device::computeRoots3 ( float  c0,
float  c1,
float  c2,
float3 &  roots 
)

Definition at line 114 of file eigen.hpp.

References computeRoots2(), and swap().

Referenced by pcl::device::Eigen33::compute().

void pcl::device::computeSPFH ( const PointCloud surface,
const Normals &  normals,
const Indices &  indices,
const NeighborIndices &  neighbours,
DeviceArray2D< FPFHSignature33 > &  spfh33 
)
void pcl::device::computeSpinImagesCustomAxes ( bool  radial,
bool  angular,
float  support_angle_cos,
const Indices &  indices,
const PointCloud input_cloud,
const Normals &  input_normals,
const PointCloud surface,
const Normals &  normals,
const NeighborIndices &  neighbours,
int  min_neighb,
int  image_width,
float  bin_size,
const float3 &  rotation_axis,
PtrStep< float >  output 
)
void pcl::device::computeSpinImagesCustomAxesCloud ( bool  radial,
bool  angular,
float  support_angle_cos,
const Indices &  indices,
const PointCloud input_cloud,
const Normals &  input_normals,
const PointCloud surface,
const Normals &  normals,
const NeighborIndices &  neighbours,
int  min_neighb,
int  image_width,
float  bin_size,
const Normals &  rotation_axes_cloud,
PtrStep< float >  output 
)
void pcl::device::computeSpinImagesOrigigNormal ( bool  radial,
bool  angular,
float  support_angle_cos,
const Indices &  indices,
const PointCloud input_cloud,
const Normals &  input_normals,
const PointCloud surface,
const Normals &  normals,
const NeighborIndices &  neighbours,
int  min_neighb,
int  image_width,
float  bin_size,
PtrStep< float >  output 
)
void pcl::device::computeTracking ( const DeviceArray2D< PointType > &  ref,
const DeviceArray2D< PixelRGB > &  ref_color,
const DeviceArray2D< PointType > &  input,
const DeviceArray2D< PixelRGB > &  input_color,
PtrSz< curandState >  rng_states,
const DeviceArray< float > &  step_noise_covariance,
DeviceArray< StateType > &  particles,
StateType &  representative_state,
StateType &  motion,
float  motion_ratio 
)
int pcl::device::computeUniqueIndices ( size_t  surface_size,
const NeighborIndices &  neighbours,
DeviceArray< int > &  unique_indices,
DeviceArray< int > &  lookup 
)
template<typename T >
void pcl::device::convert ( const MapArr &  vmap,
DeviceArray2D< T > &  output 
)

Conversion from SOA to AOS.

Parameters
[in]vmapSOA map
[out]outputArray of 3D points. Can be float4 or float8.
void pcl::device::copyFields ( int  in_size,
int  out_size,
int  info[4],
int  size,
const void *  input,
void *  output 
)
template<typename T >
__device__ void pcl::device::CopyKernel ( const T *  in,
T *  out,
int  length 
)

Definition at line 48 of file copygen.hpp.

void pcl::device::createNMap ( const MapArr &  vmap,
MapArr &  nmap 
)

Computes normal map using cross product.

Parameters
[in]vmapvertex map
[out]nmapnormal map
void pcl::device::createVMap ( const Intr &  intr,
const DepthMap &  depth,
MapArr &  vmap 
)

Computes vertex map.

Parameters
[in]intrdepth camera intrinsics
[in]depthdepth
[out]vmapvertex map
__device__ __host__ __forceinline__ float3 pcl::device::cross ( const float3 &  v1,
const float3 &  v2 
)
template<class D , class Matx >
D& pcl::device::device_cast ( Matx &  matx)

Definition at line 400 of file internal.h.

__device__ __host__ __forceinline__ float pcl::device::dot ( const float3 &  v1,
const float3 &  v2 
)
__device__ __host__ __forceinline__ float pcl::device::dot ( const float4 &  v1,
const float4 &  v2 
)

Definition at line 82 of file vector_math.hpp.

void pcl::device::estimateCombined ( const Mat33 &  Rcurr,
const float3 &  tcurr,
const MapArr &  vmap_curr,
const MapArr &  nmap_curr,
const Mat33 &  Rprev_inv,
const float3 &  tprev,
const Intr &  intr,
const MapArr &  vmap_g_prev,
const MapArr &  nmap_g_prev,
float  distThres,
float  angleThres,
DeviceArray2D< float > &  gbuf,
DeviceArray< float > &  mbuf,
float *  matrixA_host,
float *  vectorB_host 
)

Computation Ax=b for ICP iteration.

Parameters
[in]RcurrRotation of current camera pose guess
[in]tcurrtranslation of current camera pose guess
[in]vmap_currcurrent vertex map in camera coo space
[in]nmap_currcurrent vertex map in camera coo space
[in]Rprev_invinverse camera rotation at previous pose
[in]tprevcamera translation at previous pose
[in]intrcamera intrinsics
[in]vmap_g_prevprevious vertex map in global coo space
[in]nmap_g_prevprevious vertex map in global coo space
[in]distThresdistance filtering threshold
[in]angleThresangle filtering threshold. Represents sine of angle between normals
[out]gbuftemp buffer for GPU reduction
[out]mbufoutput GPU buffer for matrix computed
[out]matrixA_hostA
[out]vectorB_hostb
void pcl::device::estimateCombined ( const Mat33 &  Rcurr,
const float3 &  tcurr,
const MapArr &  vmap_curr,
const MapArr &  nmap_curr,
const Mat33 &  Rprev_inv,
const float3 &  tprev,
const Intr &  intr,
const MapArr &  vmap_g_prev,
const MapArr &  nmap_g_prev,
float  distThres,
float  angleThres,
DeviceArray2D< double > &  gbuf,
DeviceArray< double > &  mbuf,
double *  matrixA_host,
double *  vectorB_host 
)
void pcl::device::estimateTransform ( const MapArr &  v_dst,
const MapArr &  n_dst,
const MapArr &  v_src,
const PtrStepSz< short2 > &  coresp,
DeviceArray2D< float > &  gbuf,
DeviceArray< float > &  mbuf,
float *  matrixA_host,
float *  vectorB_host 
)

(now it's extra code) Computation Ax=b for ICP iteration

Parameters
[in]v_dstdestination vertex map (previous frame cloud)
[in]n_dstdestination normal map (previous frame normals)
[in]v_srcsource normal map (current frame cloud)
[in]corespCorespondances
[out]gbuftemp buffer for GPU reduction
[out]mbufoutput GPU buffer for matrix computed
[out]matrixA_hostA
[out]vectorB_hostb
void pcl::device::exctractColors ( const PtrStep< uchar4 > &  color_volume,
const float3 &  volume_size,
const PtrSz< PointType > &  points,
uchar4 *  colors 
)

Performs colors exctraction from color volume.

Parameters
[in]color_volumecolor volume
[in]volume_sizevolume size
[in]pointspoints for which color are computed
[out]colorsoutput array with colors.
PCL_EXPORTS size_t pcl::device::extractCloud ( const PtrStep< short2 > &  volume,
const float3 &  volume_size,
PtrSz< PointType >  output 
)

Perform point cloud extraction from tsdf volume.

Parameters
[in]volumetsdf volume
[in]volume_sizesize of the volume
[out]outputbuffer large enough to store point cloud
Returns
number of point stored to passed buffer
template<typename NormalType >
void pcl::device::extractNormals ( const PtrStep< short2 > &  volume,
const float3 &  volume_size,
const PtrSz< PointType > &  input,
NormalType *  output 
)

Performs normals computation for given points using tsdf volume.

Parameters
[in]volumetsdf volume
[in]volume_sizevolume size
[in]inputpoints where normals are computed
[out]outputnormals. Could be float4 or float8. If for a point normal can't be computed, such normal is marked as nan.
void pcl::device::findCoresp ( const MapArr &  vmap_g_curr,
const MapArr &  nmap_g_curr,
const Mat33 &  Rprev_inv,
const float3 &  tprev,
const Intr &  intr,
const MapArr &  vmap_g_prev,
const MapArr &  nmap_g_prev,
float  distThres,
float  angleThres,
PtrStepSz< short2 >  coresp 
)

(now it's extra code) Computes corespondances map

Parameters
[in]vmap_g_currcurrent vertex map in global coo space
[in]nmap_g_currcurrent normals map in global coo space
[in]Rprev_invinverse camera rotation at previous pose
[in]tprevcamera translation at previous pose
[in]intrcamera intrinsics
[in]vmap_g_prevprevious vertex map in global coo space
[in]nmap_g_prevprevious vertex map in global coo space
[in]distThresdistance filtering threshold
[in]angleThresangle filtering threshold. Represents sine of angle between normals
[out]coresp
void pcl::device::flipNormalTowardsViewpoint ( const PointCloud cloud,
const float3 &  vp,
Normals &  normals 
)
void pcl::device::flipNormalTowardsViewpoint ( const PointCloud cloud,
const Indices &  indices,
const float3 &  vp,
Normals &  normals 
)
void pcl::device::generateDepth ( const Mat33 &  R_inv,
const float3 &  t,
const MapArr &  vmap,
DepthMap &  dst 
)

Renders depth image from give pose.

Parameters
[in]R_invinverse camera rotation
[in]tcamera translation
[in]vmapvertex map
[out]dstbuffer where depth is generated
void pcl::device::generateImage ( const MapArr &  vmap,
const MapArr &  nmap,
const LightSource &  light,
PtrStepSz< uchar3 >  dst 
)

Renders 3D image of the scene.

Parameters
[in]vmapvertex map
[in]nmapnormals map
[in]lightpoase of light source
[out]dstbuffer where image is generated
template<typename T >
__device__ void pcl::device::GenerateKernel ( T *  out,
int  beg,
int  end 
)

Definition at line 58 of file copygen.hpp.

template<typename T >
__device__ void pcl::device::GenerateTasksKernel ( T *  out,
int  beg,
int  end,
int  level 
)

Definition at line 71 of file copygen.hpp.

void pcl::device::generateTriangles ( const PtrStep< short2 > &  volume,
const DeviceArray2D< int > &  occupied_voxels,
const float3 &  volume_size,
DeviceArray< PointType > &  output 
)

Generates final triangle array.

Parameters
[in]volumetsdf volume
[in]occupied_voxelsoccupied voxel ids (first row), number of vertexes(second row), offsets(third row).
[in]volume_sizevolume size in meters
[out]outputtriangle array
template<typename PointT >
float3 pcl::device::getMaxDistance ( const DeviceArray< PointT > &  cloud,
const float3 &  pivot 
)
template<typename PointT >
float3 pcl::device::getMaxDistance ( const DeviceArray< PointT > &  cloud,
const Indices &  indices,
const float3 &  pivot 
)
int pcl::device::getOccupiedVoxels ( const PtrStep< short2 > &  volume,
DeviceArray2D< int > &  occupied_voxels 
)

Scans tsdf volume and retrieves occupied voxels.

Parameters
[in]volumetsdf volume
[out]occupied_voxelsbuffer for occupied voxels. The function fulfills first row with voxel ids and second row with number of vertices.
Returns
number of voxels in the buffer
__device__ __forceinline__ float pcl::device::getSampleNormal ( const float  mean,
const float  cov,
curandState *  rng_state 
)

Definition at line 11 of file device.hpp.

void pcl::device::initColorVolume ( PtrStep< uchar4 >  color_volume)

Initialzied color volume.

Parameters
[out]color_volumecolor volume for initialization
void pcl::device::initParticles ( PtrSz< curandState >  rng_states,
DeviceArray< float > &  initial_noise_mean,
DeviceArray< float > &  initial_noise_covariance,
const StateType &  representative_state,
DeviceArray< StateType > &  particles 
)
PCL_EXPORTS void pcl::device::initVolume ( PtrStep< short2 >  array)

Perform tsdf volume initialization.

Parameters
[out]arrayvolume to be initialized
void pcl::device::integrateTsdfVolume ( const PtrStepSz< ushort > &  depth_raw,
const Intr &  intr,
const float3 &  volume_size,
const Mat33 &  Rcurr_inv,
const float3 &  tcurr,
float  tranc_dist,
PtrStep< short2 >  volume 
)

Performs Tsfg volume uptation (extra obsolete now)

Parameters
[in]depth_rawKinect depth image
[in]intrcamera intrinsics
[in]volume_sizesize of volume in mm
[in]Rcurr_invinverse rotation for current camera pose
[in]tcurrtranslation for current camera pose
[in]tranc_disttsdf truncation distance
[in]volumetsdf volume to be updated
PCL_EXPORTS void pcl::device::integrateTsdfVolume ( const PtrStepSz< ushort > &  depth_raw,
const Intr &  intr,
const float3 &  volume_size,
const Mat33 &  Rcurr_inv,
const float3 &  tcurr,
float  tranc_dist,
PtrStep< short2 >  volume,
DeviceArray2D< float > &  depthRawScaled 
)

Function that integrates volume if volume element contains: 2 bytes for round(tsdf*SHORT_MAX) and 2 bytes for integer weight.

Parameters
[in]depth_rawKinect depth image
[in]intrcamera intrinsics
[in]volume_sizesize of volume in mm
[in]Rcurr_invinverse rotation for current camera pose
[in]tcurrtranslation for current camera pose
[in]tranc_disttsdf truncation distance
[in]volumetsdf volume to be updated
[out]depthRawScaledBuffer for scaled depth along ray
template<typename T >
__host__ __device__ __forceinline__ float pcl::device::inverse_norm ( const T &  v)

Definition at line 113 of file vector_math.hpp.

References dot().

Referenced by normalize(), and normalized().

__device__ __forceinline__ bool pcl::device::isFinite ( const float3 &  p)

Definition at line 72 of file device.h.

template<typename Iterator , typename T , typename BinaryPredicate >
__host__ __device__ Iterator pcl::device::lower_bound ( Iterator  first,
Iterator  last,
const T &  val,
BinaryPredicate  comp 
)

Definition at line 51 of file algorithm.hpp.

void pcl::device::mergePointNormal ( const DeviceArray< float4 > &  cloud,
const DeviceArray< float8 > &  normals,
const DeviceArray< float12 > &  output 
)

Merges pcl::PointXYZ and pcl::Normal to PointNormal.

Parameters
[in]cloudpoints cloud
[in]normalsnormals cloud
[out]outputarray of PointNomals.
void pcl::device::mixedColorMap ( const Labels &  labels,
const DeviceArray< uchar4 > &  map,
const Image &  rgba,
Image &  output 
)
__device__ __host__ __forceinline__ float pcl::device::norm ( const float3 &  v1,
const float3 &  v2 
)
template<typename T >
__device__ __host__ __forceinline__ float pcl::device::norm ( const T &  val)

Definition at line 108 of file vector_math.hpp.

References dot().

__device__ __forceinline__ float pcl::device::norm ( const float3 &  v)

Definition at line 112 of file utils.hpp.

References dot().

__host__ __device__ float3 pcl::device::normalize ( const float3 &  v)
inline

Definition at line 73 of file vector_operations.hpp.

References inverse_norm().

__device__ __forceinline__ float3 pcl::device::normalized ( const float3 &  v)

Definition at line 118 of file utils.hpp.

References dot().

Referenced by pcl::device::Eigen33::compute(), and computeAlfaM().

template<typename T >
__host__ __device__ __forceinline__ T pcl::device::normalized ( const T &  v)

Definition at line 118 of file vector_math.hpp.

References inverse_norm().

template<typename T >
__host__ __device__ __forceinline__ T pcl::device::normalized_safe ( const T &  v)

Definition at line 123 of file vector_math.hpp.

References dot().

__device__ __forceinline__ float3 pcl::device::operator* ( const Mat33 &  m,
const float3 &  vec 
)

Definition at line 76 of file device.hpp.

References pcl::device::Mat33::data, and dot().

__device__ __forceinline__ float3 pcl::device::operator* ( const float3 &  v1,
const float &  v 
)

Definition at line 106 of file utils.hpp.

__device__ __host__ __forceinline__ float4& pcl::device::operator*= ( float4 &  p,
float  v 
)

Definition at line 85 of file device.h.

__device__ __forceinline__ float3& pcl::device::operator*= ( float3 &  vec,
const float &  v 
)

Definition at line 94 of file utils.hpp.

__device__ __forceinline__ float3 pcl::device::operator+ ( const float3 &  v1,
const float3 &  v2 
)

Definition at line 88 of file utils.hpp.

__device__ __forceinline__ float3& pcl::device::operator+= ( float3 &  vec,
const float &  v 
)

Definition at line 82 of file utils.hpp.

__device__ __forceinline__ float3 pcl::device::operator- ( const float3 &  v1,
const float3 &  v2 
)

Definition at line 100 of file utils.hpp.

__forceinline__ __device__ __host__ float3 pcl::device::operator/ ( const float3 &  vec,
float  val 
)

Definition at line 47 of file vector_operations.hpp.

__device__ __host__ __forceinline__ float3& pcl::device::operator/= ( float3 &  v,
const float &  value 
)

Definition at line 52 of file vector_operations.hpp.

void pcl::device::pack_hull ( const DeviceArray< PointType > &  points,
const DeviceArray< int > &  indeces,
DeviceArray< PointType > &  output 
)
__device__ __forceinline__ void pcl::device::pack_tsdf ( float  tsdf,
int  weight,
short2 &  value 
)

Definition at line 54 of file device.hpp.

References DIVISOR.

void pcl::device::paint3DView ( const PtrStep< uchar3 > &  colors,
PtrStepSz< uchar3 >  dst,
float  colors_weight = 0.5f 
)

Paints 3D view with color map.

Parameters
[in]colorsrgb color frame from OpenNI
[out]dstoutput 3D view
[in]colors_weightweight for colors
void pcl::device::prepareForeGroundDepth ( const Depth &  depth1,
Mask &  inverse_mask,
Depth &  depth2 
)
template<class Func >
void pcl::device::printFuncAttrib ( Func &  func)

Definition at line 47 of file funcattrib.hpp.

void pcl::device::pyrDown ( const DepthMap &  src,
DepthMap &  dst 
)

Computes depth pyramid.

Parameters
[in]srcsource
[out]dstdestination
void pcl::device::raycast ( const Intr &  intr,
const Mat33 &  Rcurr,
const float3 &  tcurr,
float  tranc_dist,
const float3 &  volume_size,
const PtrStep< short2 > &  volume,
MapArr &  vmap,
MapArr &  nmap 
)

Generation vertex and normal maps from volume for current camera pose.

Parameters
[in]intrcamera intrinsices
[in]Rcurrcurrent rotation
[in]tcurrcurrent translation
[in]tranc_distvolume truncation distance
[in]volume_sizevolume size in mm
[in]volumetsdf volume
[out]vmapoutput vertex map
[out]nmapoutput normals map
template<unsigned int CTA_SIZE, typename T , typename BinaryFunction >
__device__ __forceinline__ void pcl::device::reduce_block ( volatile T *  data,
BinaryFunction  op,
unsigned int  tid = threadIdx.x 
)

Definition at line 45 of file reduce.hpp.

size_t pcl::device::remove_duplicates ( DeviceArray< int > &  indeces)
void pcl::device::repackToAosForPfh ( const PointCloud cloud,
const Normals &  normals,
const NeighborIndices &  neighbours,
DeviceArray2D< float > &  data_rpk,
int &  max_elems_rpk 
)
void pcl::device::repackToAosForPfhRgb ( const PointCloud cloud,
const Normals &  normals,
const NeighborIndices &  neighbours,
DeviceArray2D< float > &  data_rpk,
int &  max_elems_rpk 
)
void pcl::device::resizeNMap ( const MapArr &  input,
MapArr &  output 
)

Performs resize of vertex map to next pyramid level by averaging each four normals.

Parameters
[in]inputnormal map
[out]outputvertex map
void pcl::device::resizeVMap ( const MapArr &  input,
MapArr &  output 
)

Performs resize of vertex map to next pyramid level by averaging each four points.

Parameters
[in]inputvertext map
[out]outputresized vertex map
__device__ __host__ __forceinline__ void pcl::device::Rodrigues ( const float3 &  rvec,
float3 &  row1,
float3 &  row2,
float3 &  row3 
)

Definition at line 65 of file rodrigues.hpp.

References AngleAxisf(), and norm().

template<ScanKind Kind, class T >
__device__ __forceinline__ T pcl::device::scan_block ( volatile T *  ptr,
const unsigned int  idx = threadIdx.x 
)

Definition at line 65 of file scan_block.hpp.

template<ScanKind Kind, class T >
__device__ __forceinline__ T pcl::device::scan_warp ( volatile T *  ptr,
const unsigned int  idx = threadIdx.x 
)

Definition at line 89 of file device.hpp.

References inclusive.

void pcl::device::setZero ( Mask &  mask)
void pcl::device::smoothLabelImage ( const Labels &  src,
const Depth &  depth,
Labels &  dst,
int  num_parts,
int  patch_size,
int  depthThres 
)
template<typename Point >
__device__ __forceinline__ float pcl::device::sqnorm ( const Point &  p1,
const Point &  p2 
)

Definition at line 51 of file device.h.

template<typename T >
__device__ __forceinline__ void pcl::device::swap ( T &  a,
T &  b 
)

Definition at line 45 of file bitonic_sort.hpp.

template<class T >
__device__ __host__ __forceinline__ void pcl::device::swap ( T &  a,
T &  b 
)

Definition at line 49 of file utils.hpp.

Referenced by bitonicSortWarp(), and computeRoots3().

void pcl::device::sync ( )
inline

synchronizes CUDA execution

Definition at line 396 of file internal.h.

template<typename T >
__device__ __forceinline__ float3 pcl::device::tr ( const T &  v)

Definition at line 68 of file vector_operations.hpp.

__device__ __host__ __forceinline__ float3 pcl::device::tr ( const PointType &  p)

Definition at line 70 of file device.h.

void pcl::device::tranformMaps ( const MapArr &  vmap_src,
const MapArr &  nmap_src,
const Mat33 &  Rmat,
const float3 &  tvec,
MapArr &  vmap_dst,
MapArr &  nmap_dst 
)

Performs affine transform of vertex and normal maps.

Parameters
[in]vmap_srcsource vertex map
[in]nmap_srcsource vertex map
[in]RmatRotation mat
[in]tvectranslation
[out]vmap_dstdestination vertex map
[out]nmap_dstdestination vertex map
void pcl::device::truncateDepth ( DepthMap &  depth,
float  max_distance 
)

Performs depth truncation.

Parameters
[out]depthdepth map to truncation
[in]max_distancetruncation threshold, values that are higher than the threshold are reset to zero (means not measurement)
void pcl::device::unbindTextures ( )

Unbinds.

__device__ __forceinline__ void pcl::device::unpack_tsdf ( short2  value,
float &  tsdf,
int &  weight 
)

Definition at line 62 of file device.hpp.

References DIVISOR.

__device__ __forceinline__ float pcl::device::unpack_tsdf ( short2  value)

Definition at line 69 of file device.hpp.

References DIVISOR.

void pcl::device::updateColorVolume ( const Intr &  intr,
float  tranc_dist,
const Mat33 &  R_inv,
const float3 &  t,
const MapArr &  vmap,
const PtrStepSz< uchar3 > &  colors,
const float3 &  volume_size,
PtrStep< uchar4 >  color_volume,
int  max_weight = 1 
)

Performs integration in color volume.

Parameters
[in]intrDepth camera intrionsics structure
[in]tranc_disttsdf truncation distance
[in]R_invInverse camera rotation
[in]tcamera translation
[in]vmapRaycasted vertex map
[in]colorsRGB colors for current frame
[in]volume_sizevolume size in meters
[in]color_volumecolor volume to be integrated
[in]max_weightmax weight for running color average. Zero means not average, one means average with prev value, etc.
bool pcl::device::valid_host ( float  value)
inline

Check for qnan (unused now)

Parameters
[in]value

Definition at line 388 of file internal.h.

template<class T >
__device__ __forceinline__ T pcl::device::warp_reduce ( volatile T *  ptr,
const unsigned int  tid = threadIdx.x 
)

Definition at line 46 of file warp_reduce.hpp.

Variable Documentation

const int pcl::device::DIVISOR = 32767

Definition at line 57 of file internal.h.

Referenced by pack_tsdf(), and unpack_tsdf().

const float pcl::device::VOLUME_SIZE = 3.0f

Definition at line 63 of file internal.h.