Point Cloud Library (PCL) 1.12.0
Loading...
Searching...
No Matches
pcl::device Namespace Reference

Namespaces

namespace  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  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

using PointType = float4
 
using NormalType = float4
 
using PointXYZRGB = float4
 
using PointCloud = DeviceArray<PointType>
 
using Normals = DeviceArray<NormalType>
 
using Indices = DeviceArray<int>
 
using PointXYZRGBCloud = DeviceArray<PointType>
 
using PFHSignature125 = Histogram<125>
 
using PFHRGBSignature250 = Histogram<250>
 
using FPFHSignature33 = Histogram<33>
 
using VFHSignature308 = Histogram<308>
 
using ushort = unsigned short
 
using MapArr = DeviceArray2D<float>
 
using DepthMap = DeviceArray2D<ushort>
 
using LabelProbability = DeviceArray2D<prob_histogram>
 
using Cloud = DeviceArray2D<float4>
 
using Image = DeviceArray2D<uchar4>
 
using Depth = DeviceArray2D<unsigned short>
 
using Labels = DeviceArray2D<unsigned char>
 
using HueImage = DeviceArray2D<float>
 
using Mask = DeviceArray2D<unsigned char>
 
using MultiLabels = DeviceArray2D<char4>
 
using FacetsDists = DeviceArray<std::uint64_t>
 
using Perm = DeviceArray<int>
 
using StateType = float8
 
using PixelRGB = uchar4
 

Enumerations

enum  ScanKind { exclusive , inclusive , exclusive , inclusive }
 
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 (std::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.
 
void pyrDown (const DepthMap &src, DepthMap &dst)
 Computes depth pyramid.
 
void createVMap (const Intr &intr, const DepthMap &depth, MapArr &vmap)
 Computes vertex map.
 
void createNMap (const MapArr &vmap, MapArr &nmap)
 Computes normal map using cross product.
 
void computeNormalsEigen (const MapArr &vmap, MapArr &nmap)
 Computes normal map using Eigen/PCA approach.
 
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.
 
void truncateDepth (DepthMap &depth, float max_distance)
 Performs depth truncation.
 
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
 
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
 
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.
 
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.
 
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)
 
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.
 
void initColorVolume (PtrStep< uchar4 > color_volume)
 Initialzied color volume.
 
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.
 
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.
 
void generateImage (const MapArr &vmap, const MapArr &nmap, const LightSource &light, PtrStepSz< uchar3 > dst)
 Renders 3D image of the scene.
 
void generateDepth (const Mat33 &R_inv, const float3 &t, const MapArr &vmap, DepthMap &dst)
 Renders depth image from give pose.
 
void paint3DView (const PtrStep< uchar3 > &colors, PtrStepSz< uchar3 > dst, float colors_weight=0.5f)
 Paints 3D view with color map.
 
void resizeVMap (const MapArr &input, MapArr &output)
 Performs resize of vertex map to next pyramid level by averaging each four points.
 
void resizeNMap (const MapArr &input, MapArr &output)
 Performs resize of vertex map to next pyramid level by averaging each four normals.
 
PCL_EXPORTS std::size_t extractCloud (const PtrStep< short2 > &volume, const float3 &volume_size, PtrSz< PointType > output)
 Perform point cloud extraction from tsdf volume.
 
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.
 
void exctractColors (const PtrStep< uchar4 > &color_volume, const float3 &volume_size, const PtrSz< PointType > &points, uchar4 *colors)
 Performs colors exctraction from color volume.
 
template<typename T >
void convert (const MapArr &vmap, DeviceArray2D< T > &output)
 Conversion from SOA to AOS.
 
void mergePointNormal (const DeviceArray< float4 > &cloud, const DeviceArray< float8 > &normals, const DeviceArray< float12 > &output)
 Merges pcl::PointXYZ and pcl::Normal to PointNormal.
 
bool valid_host (float value)
 Check for qnan (unused now)
 
void sync ()
 synchronizes CUDA execution
 
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.
 
void unbindTextures ()
 Unbinds.
 
int getOccupiedVoxels (const PtrStep< short2 > &volume, DeviceArray2D< int > &occupied_voxels)
 Scans tsdf volume and retrieves occupied voxels.
 
int computeOffsetsAndTotalVertexes (DeviceArray2D< int > &occupied_voxels)
 Computes total number of vertexes for all voxels and offsets of vertexes in final triangle array.
 
void generateTriangles (const PtrStep< short2 > &volume, const DeviceArray2D< int > &occupied_voxels, const float3 &volume_size, DeviceArray< PointType > &output)
 Generates final triangle array.
 
void bruteForceRadiusSearch (const OctreeImpl::PointCloud &cloud, const OctreeImpl::PointType &query, float radius, DeviceArray< int > &result, DeviceArray< int > &buffer)
 
__device__ __host__ __forceinline__ unsigned getBitsNum (const unsigned integer)
 
__host__ __device__ __forceinline__ std::pair< uint3, std::uint8_t > nearestVoxel (const float3 query, const unsigned &level, const std::uint8_t &mask, const float3 &minp, const float3 &maxp, const uint3 &index)
 
template<typename T >
__device__ __host__ int findNode (const float3 minp, const float3 maxp, const float3 query, const T nodes)
 
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.
 
__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)
 
std::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

constexpr int DIVISOR = std::numeric_limits<short>::max()
 
constexpr int VOLUME_X = 512
 
constexpr int VOLUME_Y = 512
 
constexpr int VOLUME_Z = 512
 
constexpr float VOLUME_SIZE = 3.0f
 

Typedef Documentation

◆ Cloud

Definition at line 52 of file internal.h.

◆ Depth

using pcl::device::Depth = DeviceArray2D<unsigned short>

Definition at line 55 of file internal.h.

◆ DepthMap

Definition at line 52 of file internal.h.

◆ FacetsDists

using pcl::device::FacetsDists = DeviceArray<std::uint64_t>

Definition at line 52 of file internal.h.

◆ FPFHSignature33

Definition at line 75 of file internal.hpp.

◆ HueImage

Definition at line 57 of file internal.h.

◆ Image

Definition at line 53 of file internal.h.

◆ Indices

Definition at line 64 of file internal.hpp.

◆ LabelProbability

◆ Labels

using pcl::device::Labels = DeviceArray2D<unsigned char>

Definition at line 56 of file internal.h.

◆ MapArr

Definition at line 51 of file internal.h.

◆ Mask

using pcl::device::Mask = DeviceArray2D<unsigned char>

Definition at line 58 of file internal.h.

◆ MultiLabels

Definition at line 60 of file internal.h.

◆ Normals

Definition at line 63 of file internal.hpp.

◆ NormalType

typedef float4 pcl::device::NormalType = float4

Definition at line 59 of file internal.hpp.

◆ Perm

Definition at line 53 of file internal.h.

◆ PFHRGBSignature250

Definition at line 74 of file internal.hpp.

◆ PFHSignature125

Definition at line 73 of file internal.hpp.

◆ PixelRGB

using pcl::device::PixelRGB = uchar4

Definition at line 18 of file internal.h.

◆ PointCloud

Definition at line 62 of file internal.hpp.

◆ PointType

typedef float4 pcl::device::PointType = float4

Definition at line 58 of file internal.hpp.

◆ PointXYZRGB

using pcl::device::PointXYZRGB = float4

Definition at line 60 of file internal.hpp.

◆ PointXYZRGBCloud

Definition at line 66 of file internal.hpp.

◆ StateType

Definition at line 15 of file internal.h.

◆ ushort

using pcl::device::ushort = unsigned short

Definition at line 50 of file internal.h.

◆ VFHSignature308

Definition at line 76 of file internal.hpp.

Enumeration Type Documentation

◆ ScanKind [1/2]

Enumerator
exclusive 
inclusive 
exclusive 
inclusive 

Definition at line 83 of file device.hpp.

◆ ScanKind [2/2]

Enumerator
exclusive 
inclusive 
exclusive 
inclusive 

Definition at line 45 of file scan_block.hpp.

Function Documentation

◆ AngleAxisf()

__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().

◆ bilateralFilter()

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

Performs bilateral filtering of disparity map.

Parameters
[in]srcsource map
[out]dstoutput map

◆ bindTextures()

void pcl::device::bindTextures ( const int * edgeBuf,
const int * triBuf,
const int * numVertsBuf )

Binds marching cubes tables to texture references.

◆ bitonicSortWarp()

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().

◆ bruteForceRadiusSearch()

void pcl::device::bruteForceRadiusSearch ( const OctreeImpl::PointCloud & cloud,
const OctreeImpl::PointType & query,
float radius,
DeviceArray< int > & result,
DeviceArray< int > & buffer )

◆ calcBoundingBox()

__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().

◆ checkIfNodeInsideSphere()

__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.

◆ checkIfNodeOutsideSphere()

__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.

◆ colorLMap()

void pcl::device::colorLMap ( const Labels & labels,
const DeviceArray< uchar4 > & cmap,
Image & rgb )

◆ compue_inv_normal_norm()

__device__ __host__ __forceinline__ float pcl::device::compue_inv_normal_norm ( const float4 & p)

Definition at line 81 of file device.h.

◆ compute3DCentroid() [1/2]

template<typename PointT >
void pcl::device::compute3DCentroid ( const DeviceArray< PointT > & cloud,
const Indices & indices,
float3 & centroid )

◆ compute3DCentroid() [2/2]

template<typename PointT >
void pcl::device::compute3DCentroid ( const DeviceArray< PointT > & cloud,
float3 & centroid )

◆ compute_plane()

__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 55 of file device.h.

References cross(), and dot().

◆ computeAlfaM()

__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().

◆ computeCloud()

void pcl::device::computeCloud ( const Depth & depth,
const Intr & intr,
Cloud & cloud )

◆ computeFPFH() [1/2]

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 )

◆ computeFPFH() [2/2]

void pcl::device::computeFPFH ( const PointCloud & cloud,
const NeighborIndices & neighbours,
const DeviceArray2D< FPFHSignature33 > & spfh,
DeviceArray2D< FPFHSignature33 > & features )

◆ computeHue()

float pcl::device::computeHue ( int rgba)

◆ computeHueWithNans()

void pcl::device::computeHueWithNans ( const Image & image,
const Depth & depth,
HueImage & hue )

◆ computeMask()

void pcl::device::computeMask ( const NeighborIndices & neighbours,
int min_neighb,
DeviceArray< unsigned char > & mask )

◆ computeNormals()

void pcl::device::computeNormals ( const PointCloud & cloud,
const NeighborIndices & nn_indices,
Normals & normals )

◆ computeNormalsEigen()

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

Computes normal map using Eigen/PCA approach.

Parameters
[in]vmapvertex map
[out]nmapnormal map

◆ computeOffsetsAndTotalVertexes()

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

◆ computePairFeatures()

__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().

◆ computePfh125()

void pcl::device::computePfh125 ( const DeviceArray2D< float > & data_rpk,
int max_elems_rpk,
const NeighborIndices & neighbours,
DeviceArray2D< PFHSignature125 > & features )

◆ computePfhRgb250()

void pcl::device::computePfhRgb250 ( const DeviceArray2D< float > & data_rpk,
int max_elems_rpk,
const NeighborIndices & neighbours,
DeviceArray2D< PFHRGBSignature250 > & features )

◆ computePoint()

__device__ __forceinline__ float3 pcl::device::computePoint ( unsigned short depth,
int x,
int y,
const Intr & intr )

◆ computePointPrincipalCurvatures()

void pcl::device::computePointPrincipalCurvatures ( const Normals & normals,
const Indices & indices,
const NeighborIndices & neighbours,
DeviceArray< PrincipalCurvatures > & output,
DeviceArray2D< float > & proj_normals_buf )

◆ computePPF()

void pcl::device::computePPF ( const PointCloud & input,
const Normals & normals,
const Indices & indices,
DeviceArray< PPFSignature > & output )

◆ computePPFPairFeature()

__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().

◆ computePPFRGB()

void pcl::device::computePPFRGB ( const PointXYZRGBCloud & input,
const Normals & normals,
const Indices & indices,
DeviceArray< PPFRGBSignature > & output )

◆ computePPFRGBRegion()

void pcl::device::computePPFRGBRegion ( const PointXYZRGBCloud & cloud,
const Normals & normals,
const Indices & indices,
const NeighborIndices & nn_indices,
DeviceArray< PPFRGBSignature > & output )

◆ computeRGBPairFeatures()

__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().

◆ computeRGBPairFeatures_RGBOnly()

__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.

◆ computeRoots2()

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

Definition at line 102 of file eigen.hpp.

Referenced by computeRoots3().

◆ computeRoots3()

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

Definition at line 115 of file eigen.hpp.

References computeRoots2(), and swap().

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

◆ computeSPFH()

void pcl::device::computeSPFH ( const PointCloud & surface,
const Normals & normals,
const Indices & indices,
const NeighborIndices & neighbours,
DeviceArray2D< FPFHSignature33 > & spfh33 )

◆ computeSpinImagesCustomAxes()

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 )

◆ computeSpinImagesCustomAxesCloud()

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 )

◆ computeSpinImagesOrigigNormal()

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 )

◆ computeTracking()

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 )

◆ computeUniqueIndices()

int pcl::device::computeUniqueIndices ( std::size_t surface_size,
const NeighborIndices & neighbours,
DeviceArray< int > & unique_indices,
DeviceArray< int > & lookup )

◆ convert()

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.

◆ copyFields()

void pcl::device::copyFields ( int in_size,
int out_size,
int info[4],
int size,
const void * input,
void * output )

◆ CopyKernel()

template<typename T >
__device__ void pcl::device::CopyKernel ( const T * in,
T * out,
int length )

Definition at line 48 of file copygen.hpp.

◆ createNMap()

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

Computes normal map using cross product.

Parameters
[in]vmapvertex map
[out]nmapnormal map

◆ createVMap()

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

◆ cross()

__device__ __host__ __forceinline__ float3 pcl::device::cross ( const float3 & v1,
const float3 & v2 )

◆ device_cast()

template<class D , class Matx >
D & pcl::device::device_cast ( Matx & matx)

Definition at line 401 of file internal.h.

◆ dot() [1/2]

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

◆ dot() [2/2]

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

Definition at line 82 of file vector_math.hpp.

◆ estimateCombined() [1/2]

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 )

◆ estimateCombined() [2/2]

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

◆ estimateTransform()

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

◆ exctractColors()

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.

◆ extractCloud()

PCL_EXPORTS std::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

◆ extractNormals()

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.

◆ findCoresp()

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

◆ findNode()

template<typename T >
__device__ __host__ int pcl::device::findNode ( const float3 minp,
const float3 maxp,
const float3 query,
const T nodes )

◆ flipNormalTowardsViewpoint() [1/2]

void pcl::device::flipNormalTowardsViewpoint ( const PointCloud & cloud,
const float3 & vp,
Normals & normals )

◆ flipNormalTowardsViewpoint() [2/2]

void pcl::device::flipNormalTowardsViewpoint ( const PointCloud & cloud,
const Indices & indices,
const float3 & vp,
Normals & normals )

◆ generateDepth()

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

◆ generateImage()

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

◆ GenerateKernel()

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

Definition at line 58 of file copygen.hpp.

◆ GenerateTasksKernel()

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

Definition at line 71 of file copygen.hpp.

◆ generateTriangles()

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

◆ getBitsNum()

__device__ __host__ __forceinline__ unsigned pcl::device::getBitsNum ( const unsigned integer)

Definition at line 23 of file approx_nearest_utils.hpp.

Referenced by findNode().

◆ getMaxDistance() [1/2]

template<typename PointT >
float3 pcl::device::getMaxDistance ( const DeviceArray< PointT > & cloud,
const float3 & pivot )

◆ getMaxDistance() [2/2]

template<typename PointT >
float3 pcl::device::getMaxDistance ( const DeviceArray< PointT > & cloud,
const Indices & indices,
const float3 & pivot )

◆ getOccupiedVoxels()

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

◆ getSampleNormal()

__device__ __forceinline__ float pcl::device::getSampleNormal ( const float mean,
const float cov,
curandState * rng_state )

Definition at line 11 of file device.hpp.

◆ initColorVolume()

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

Initialzied color volume.

Parameters
[out]color_volumecolor volume for initialization

◆ initParticles()

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 )

◆ initVolume()

PCL_EXPORTS void pcl::device::initVolume ( PtrStep< short2 > array)

Perform tsdf volume initialization.

Parameters
[out]arrayvolume to be initialized

◆ integrateTsdfVolume() [1/2]

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

◆ integrateTsdfVolume() [2/2]

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

◆ inverse_norm()

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().

◆ isFinite()

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

Definition at line 71 of file device.h.

◆ lower_bound()

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.

◆ mergePointNormal()

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.

◆ mixedColorMap()

void pcl::device::mixedColorMap ( const Labels & labels,
const DeviceArray< uchar4 > & map,
const Image & rgba,
Image & output )

◆ nearestVoxel()

__host__ __device__ __forceinline__ std::pair< uint3, std::uint8_t > pcl::device::nearestVoxel ( const float3 query,
const unsigned & level,
const std::uint8_t & mask,
const float3 & minp,
const float3 & maxp,
const uint3 & index )

Definition at line 33 of file approx_nearest_utils.hpp.

Referenced by findNode().

◆ norm() [1/3]

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

Definition at line 95 of file utils.hpp.

References dot().

◆ norm() [2/3]

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

◆ norm() [3/3]

template<typename T >
__device__ __host__ __forceinline__ float pcl::device::norm ( const T & val)

Definition at line 108 of file vector_math.hpp.

References dot().

◆ normalize()

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

Definition at line 73 of file vector_operations.hpp.

References inverse_norm().

◆ normalized() [1/2]

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

Definition at line 101 of file utils.hpp.

References dot().

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

◆ normalized() [2/2]

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().

◆ normalized_safe()

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().

◆ operator*() [1/2]

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

Definition at line 89 of file utils.hpp.

◆ operator*() [2/2]

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

Definition at line 74 of file device.hpp.

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

◆ operator*=() [1/2]

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

Definition at line 77 of file utils.hpp.

◆ operator*=() [2/2]

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

Definition at line 84 of file device.h.

◆ operator+()

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

Definition at line 71 of file utils.hpp.

◆ operator+=()

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

Definition at line 65 of file utils.hpp.

◆ operator-()

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

Definition at line 83 of file utils.hpp.

◆ operator/()

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

Definition at line 47 of file vector_operations.hpp.

◆ operator/=()

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

Definition at line 52 of file vector_operations.hpp.

◆ pack_hull()

void pcl::device::pack_hull ( const DeviceArray< PointType > & points,
const DeviceArray< int > & indeces,
DeviceArray< PointType > & output )

◆ pack_tsdf()

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

Definition at line 52 of file device.hpp.

References DIVISOR.

◆ paint3DView()

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

◆ prepareForeGroundDepth()

void pcl::device::prepareForeGroundDepth ( const Depth & depth1,
Mask & inverse_mask,
Depth & depth2 )

◆ printFuncAttrib()

template<class Func >
void pcl::device::printFuncAttrib ( Func & func)

Definition at line 47 of file funcattrib.hpp.

◆ pyrDown()

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

Computes depth pyramid.

Parameters
[in]srcsource
[out]dstdestination

◆ raycast()

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

◆ reduce_block()

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.

◆ remove_duplicates()

std::size_t pcl::device::remove_duplicates ( DeviceArray< int > & indeces)

◆ repackToAosForPfh()

void pcl::device::repackToAosForPfh ( const PointCloud & cloud,
const Normals & normals,
const NeighborIndices & neighbours,
DeviceArray2D< float > & data_rpk,
int & max_elems_rpk )

◆ repackToAosForPfhRgb()

void pcl::device::repackToAosForPfhRgb ( const PointCloud & cloud,
const Normals & normals,
const NeighborIndices & neighbours,
DeviceArray2D< float > & data_rpk,
int & max_elems_rpk )

◆ resizeNMap()

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

◆ resizeVMap()

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

◆ Rodrigues()

__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().

◆ scan_block()

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.

References scan_warp().

◆ scan_warp()

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

Definition at line 87 of file device.hpp.

References inclusive.

Referenced by scan_block().

◆ setZero()

void pcl::device::setZero ( Mask & mask)

◆ smoothLabelImage()

void pcl::device::smoothLabelImage ( const Labels & src,
const Depth & depth,
Labels & dst,
int num_parts,
int patch_size,
int depthThres )

◆ sqnorm()

template<typename Point >
__device__ __forceinline__ float pcl::device::sqnorm ( const Point & p1,
const Point & p2 )

Definition at line 50 of file device.h.

◆ swap() [1/2]

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

Definition at line 53 of file utils.hpp.

Referenced by bitonicSortWarp(), and computeRoots3().

◆ swap() [2/2]

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

Definition at line 45 of file bitonic_sort.hpp.

◆ sync()

void pcl::device::sync ( )
inline

synchronizes CUDA execution

Definition at line 397 of file internal.h.

◆ tr() [1/2]

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

Definition at line 69 of file device.h.

◆ tr() [2/2]

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

Definition at line 68 of file vector_operations.hpp.

◆ tranformMaps()

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

◆ truncateDepth()

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)

◆ unbindTextures()

void pcl::device::unbindTextures ( )

Unbinds.

◆ unpack_tsdf() [1/2]

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

Definition at line 67 of file device.hpp.

References DIVISOR.

◆ unpack_tsdf() [2/2]

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

Definition at line 60 of file device.hpp.

References DIVISOR.

◆ updateColorVolume()

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.

◆ valid_host()

bool pcl::device::valid_host ( float value)
inline

Check for qnan (unused now)

Parameters
[in]value

Definition at line 389 of file internal.h.

◆ warp_reduce()

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

◆ DIVISOR

int pcl::device::DIVISOR = std::numeric_limits<short>::max()
constexpr

Definition at line 56 of file internal.h.

Referenced by pack_tsdf(), unpack_tsdf(), and unpack_tsdf().

◆ VOLUME_SIZE

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

Definition at line 64 of file internal.h.

◆ VOLUME_X

int pcl::device::VOLUME_X = 512
constexpr

Definition at line 59 of file internal.h.

◆ VOLUME_Y

int pcl::device::VOLUME_Y = 512
constexpr

Definition at line 60 of file internal.h.

◆ VOLUME_Z

int pcl::device::VOLUME_Z = 512
constexpr

Definition at line 61 of file internal.h.