|
__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 ¢roid) |
|
template<typename PointT > |
void | compute3DCentroid (const DeviceArray< PointT > &cloud, const Indices &indices, float3 ¢roid) |
|
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) |
|