ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
PCLModules.cpp File Reference
#include "PclUtils/PCLModules.h"
#include <CVConst.h>
#include <CVTools.h>
#include <pcl/io/pcd_io.h>
#include <pcl/features/fpfh.h>
#include <pcl/features/fpfh_omp.h>
#include <pcl/features/impl/normal_3d_omp.hpp>
#include <pcl/impl/instantiate.hpp>
#include <pcl/kdtree/impl/kdtree_flann.hpp>
#include <pcl/search/impl/search.hpp>
#include <pcl/segmentation/region_growing.h>
#include <pcl/segmentation/region_growing_rgb.h>
#include <pcl/segmentation/sac_segmentation.h>
#include <pcl/recognition/impl/cg/geometric_consistency.hpp>
#include <pcl/surface/gp3.h>
#include <pcl/surface/grid_projection.h>
#include <pcl/surface/poisson.h>
Include dependency graph for PCLModules.cpp:

Go to the source code of this file.

Namespaces

 PCLModules
 

Functions

int PCLModules::GetRegionGrowing (const PointCloudT::ConstPtr cloud, std::vector< pcl::PointIndices > &clusters, PointCloudRGB::Ptr cloud_segmented, int k, int min_cluster_size, int max_cluster_size, unsigned int neighbour_number, float smoothness_theta, float curvature)
 Basic Region Growing. More...
 
int PCLModules::GetRegionGrowingRGB (const PointCloudRGB::ConstPtr cloud, std::vector< pcl::PointIndices > &clusters, PointCloudRGB::Ptr cloud_segmented, int min_cluster_size, float neighbors_distance, float point_color_diff, float region_color_diff)
 Color based Region Growing. More...
 
int PCLModules::GetSACSegmentation (const PointCloudT::ConstPtr cloud, pcl::PointIndices::Ptr inliers, pcl::ModelCoefficients::Ptr coefficients, const int &methodType, const int &modelType, float distanceThreshold, float probability, int maxIterations, float minRadiusLimits, float maxRadiusLimits, float normalDisWeight)
 
int PCLModules::GridProjection (const PointCloudNormal::ConstPtr &cloudWithNormals, PCLMesh &outMesh, float resolution, int paddingSize, int maxSearchLevel)
 
int PCLModules::GetPoissonReconstruction (const PointCloudNormal::ConstPtr &cloudWithNormals, PCLMesh &outMesh, int degree, int treeDepth, int isoDivideDepth, int solverDivideDepth, float scale, float samplesPerNode, bool useConfidence, bool useManifold, bool outputPolygons)
 
int PCLModules::GetGreedyTriangulation (const PointCloudNormal::ConstPtr &cloudWithNormals, PCLMesh &outMesh, int trigulationSearchRadius, float weightingFactor, int maxNearestNeighbors, int maxSurfaceAngle, int minAngle, int maxAngle, bool normalConsistency)
 
int PCLModules::GetProjection (const PointCloudT::ConstPtr &originCloud, PointCloudT::Ptr &projectedCloud, const pcl::ModelCoefficients::ConstPtr coefficients, const int &modelType)
 
int PCLModules::GetProjection (const PointCloudT::ConstPtr &originCloud, PointCloudT::Ptr &projectedCloud, float coefficientA, float coefficientB, float coefficientC, float coefficientD, const int &modelType)
 
template int PCLModules::GetMarchingCubes< PointNT > (const PointCloudNormal::ConstPtr inCloud, const MarchingMethod &marchingMethod, PCLMesh &outMesh, float epsilon, float isoLevel, float gridResolution, float percentageExtendGrid)
 
template int PCLModules::ComputeNormals< PointT, NormalT > (const PointCloudT::ConstPtr inCloud, CloudNormal::Ptr outcloud, const float radius, const bool useKnn, bool normalConsistency, int maxThreadCount)
 
template int PCLModules::ComputeNormals< PointRGB, NormalT > (const PointCloudRGB::ConstPtr inCloud, CloudNormal::Ptr outcloud, const float radius, const bool useKnn, bool normalConsistency, int maxThreadCount)
 
template int PCLModules::ComputeNormals< PointRGBA, NormalT > (const PointCloudRGBA::ConstPtr inCloud, CloudNormal::Ptr outcloud, const float radius, const bool useKnn, bool normalConsistency, int maxThreadCount)
 
template int PCLModules::ComputeNormals< PointT, PointNT > (const PointCloudT::ConstPtr inCloud, PointCloudNormal::Ptr outcloud, const float radius, const bool useKnn, bool normalConsistency, int maxThreadCount)
 
template int PCLModules::ComputeNormals< PointRGB, PointNT > (const PointCloudRGB::ConstPtr inCloud, PointCloudNormal::Ptr outcloud, const float radius, const bool useKnn, bool normalConsistency, int maxThreadCount)
 
template int PCLModules::ComputeNormals< PointRGBA, PointNT > (const PointCloudRGBA::ConstPtr inCloud, PointCloudNormal::Ptr outcloud, const float radius, const bool useKnn, bool normalConsistency, int maxThreadCount)
 
template int PCLModules::RemoveOutliersStatistical< PCLCloud > (const PCLCloud::ConstPtr inCloud, PCLCloud::Ptr outCloud, int knn, double nSigma)
 
template int PCLModules::GetConvexHullReconstruction< PointT > (const PointCloudT::ConstPtr inCloud, PCLMesh &outMesh, int dimension)
 
template int PCLModules::GetConvexHullReconstruction< PointRGB > (const PointCloudRGB::ConstPtr inCloud, PCLMesh &outMesh, int dimension)
 
template int PCLModules::GetConcaveHullReconstruction< PointT > (const PointCloudT::ConstPtr inCloud, PCLMesh &outMesh, int dimension, float alpha)
 
template int PCLModules::GetConcaveHullReconstruction< PointRGB > (const PointCloudRGB::ConstPtr inCloud, PCLMesh &outMesh, int dimension, float alpha)
 
template int PCLModules::CropHullFilter< PointT > (const PointCloudT::ConstPtr inCloud, const PointCloudT::ConstPtr boundingBox, PointCloudT::Ptr outCloud, int dimensions)
 
template int PCLModules::CropHullFilter< PointRGB > (const PointCloudRGB::ConstPtr inCloud, const PointCloudT::ConstPtr boundingBox, PointCloudRGB::Ptr outCloud, int dimensions)
 
template int PCLModules::EuclideanCluster< PointT > (const PointCloudT::ConstPtr inCloud, std::vector< pcl::PointIndices > &cluster_indices, float clusterTolerance, int minClusterSize, int maxClusterSize)
 
template int PCLModules::EuclideanCluster< PointNT > (const PointCloudNormal::ConstPtr inCloud, std::vector< pcl::PointIndices > &cluster_indices, float clusterTolerance, int minClusterSize, int maxClusterSize)
 
template int PCLModules::ProgressiveMpFilter< PointT > (const PointCloudT::ConstPtr inCloud, pcl::PointIndicesPtr groundIndices, int maxWindowSize, float slope, float initialDistance, float maxDistance)
 
template int PCLModules::ProgressiveMpFilter< PointRGB > (const PointCloudRGB::ConstPtr inCloud, pcl::PointIndicesPtr groundIndices, int maxWindowSize, float slope, float initialDistance, float maxDistance)
 
template int PCLModules::ConditionalRemovalFilter< PointNT > (const PointCloudNormal::ConstPtr inCloud, const ConditionParameters &params, PointCloudNormal::Ptr outCloud, bool keepOrganized)
 
template int PCLModules::SmoothMls< PointT, PointNT > (const PointCloudT::ConstPtr &inCloud, const MLSParameters &params, PointCloudNormal::Ptr &outcloud)
 
template int PCLModules::EstimateSIFT< pcl::PointXYZI, PointT > (const pcl::PointCloud< pcl::PointXYZI >::ConstPtr inCloud, PointCloudT::Ptr outcloud, int nr_octaves, float min_scale, int nr_scales_per_octave, float min_contrast)
 
template int PCLModules::EstimateSIFT< PointRGB, PointT > (const PointCloudRGB::ConstPtr inCloud, PointCloudT::Ptr outcloud, int nr_octaves, float min_scale, int nr_scales_per_octave, float min_contrast)
 
template int PCLModules::EstimateSIFT< PointRGBA, PointT > (const PointCloudRGBA::ConstPtr inCloud, PointCloudT::Ptr outcloud, int nr_octaves, float min_scale, int nr_scales_per_octave, float min_contrast)
 
template int PCLModules::EstimateShot< PointT, NormalT, pcl::SHOT352 > (const PointCloudT::ConstPtr inCloud, const PointCloudT::ConstPtr keyPoints, const CloudNormal::ConstPtr normals, pcl::PointCloud< pcl::SHOT352 >::Ptr outDescriptors, float searchRadius, int maxThreadCount)
 
template int PCLModules::EstimateShot< PointRGB, NormalT, pcl::SHOT352 > (const PointCloudRGB::ConstPtr inCloud, const PointCloudRGB::ConstPtr keyPoints, const CloudNormal::ConstPtr normals, pcl::PointCloud< pcl::SHOT352 >::Ptr outDescriptors, float searchRadius, int maxThreadCount)
 
template int PCLModules::EstimateShot< PointRGBA, NormalT, pcl::SHOT352 > (const PointCloudRGBA::ConstPtr inCloud, const PointCloudRGBA::ConstPtr keyPoints, const CloudNormal::ConstPtr normals, pcl::PointCloud< pcl::SHOT352 >::Ptr outDescriptors, float searchRadius, int maxThreadCount)
 
template int PCLModules::DONEstimation< PointT, PointNT, PointNT > (const PointCloudT::ConstPtr inCloud, const PointCloudNormal::ConstPtr normalsLargeScale, const PointCloudNormal::ConstPtr normalsSmallScale, PointCloudNormal::Ptr outCloud)
 
template int PCLModules::DONEstimation< PointRGB, PointNT, PointNT > (const PointCloudRGB::ConstPtr inCloud, const PointCloudNormal::ConstPtr normalsLargeScale, const PointCloudNormal::ConstPtr normalsSmallScale, PointCloudNormal::Ptr outCloud)
 
template int PCLModules::EstimateLocalReferenceFrame< PointT, NormalT, pcl::ReferenceFrame > (const PointCloudT::ConstPtr inCloud, const PointCloudT::ConstPtr keyPoints, const CloudNormal::ConstPtr normals, pcl::PointCloud< pcl::ReferenceFrame >::Ptr outRF, float searchRadius)
 
template int PCLModules::EstimateLocalReferenceFrame< PointRGB, NormalT, pcl::ReferenceFrame > (const PointCloudRGB::ConstPtr inCloud, const PointCloudRGB::ConstPtr keyPoints, const CloudNormal::ConstPtr normals, pcl::PointCloud< pcl::ReferenceFrame >::Ptr outRF, float searchRadius)
 
template int PCLModules::EstimateLocalReferenceFrame< PointRGBA, NormalT, pcl::ReferenceFrame > (const PointCloudRGBA::ConstPtr inCloud, const PointCloudRGBA::ConstPtr keyPoints, const CloudNormal::ConstPtr normals, pcl::PointCloud< pcl::ReferenceFrame >::Ptr outRF, float searchRadius)
 
template int PCLModules::EstimateHough3DGrouping< PointT, PointT, pcl::ReferenceFrame, pcl::ReferenceFrame > (const PointCloudT::ConstPtr modelKeypoints, const PointCloudT::ConstPtr sceneKeypoints, const pcl::PointCloud< pcl::ReferenceFrame >::ConstPtr modelRF, const pcl::PointCloud< pcl::ReferenceFrame >::ConstPtr sceneRF, const pcl::CorrespondencesConstPtr modelSceneCorrs, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f >> &rotoTranslations, std::vector< pcl::Correspondences > &clusteredCorrs, float houghBinSize, float houghThreshold)
 
template int PCLModules::EstimateHough3DGrouping< PointRGB, PointRGB, pcl::ReferenceFrame, pcl::ReferenceFrame > (const PointCloudRGB::ConstPtr modelKeypoints, const PointCloudRGB::ConstPtr sceneKeypoints, const pcl::PointCloud< pcl::ReferenceFrame >::ConstPtr modelRF, const pcl::PointCloud< pcl::ReferenceFrame >::ConstPtr sceneRF, const pcl::CorrespondencesConstPtr modelSceneCorrs, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f >> &rotoTranslations, std::vector< pcl::Correspondences > &clusteredCorrs, float houghBinSize, float houghThreshold)
 
template int PCLModules::EstimateHough3DGrouping< PointRGBA, PointRGBA, pcl::ReferenceFrame, pcl::ReferenceFrame > (const PointCloudRGBA::ConstPtr modelKeypoints, const PointCloudRGBA::ConstPtr sceneKeypoints, const pcl::PointCloud< pcl::ReferenceFrame >::ConstPtr modelRF, const pcl::PointCloud< pcl::ReferenceFrame >::ConstPtr sceneRF, const pcl::CorrespondencesConstPtr modelSceneCorrs, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f >> &rotoTranslations, std::vector< pcl::Correspondences > &clusteredCorrs, float houghBinSize, float houghThreshold)
 
template int PCLModules::EstimateGeometricConsistencyGrouping< PointT, PointT > (const PointCloudT::ConstPtr modelKeypoints, const PointCloudT::ConstPtr sceneKeypoints, const pcl::CorrespondencesConstPtr modelSceneCorrs, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f >> &rotoTranslations, std::vector< pcl::Correspondences > &clusteredCorrs, float gcSize, float gcThreshold)
 
template int PCLModules::EstimateGeometricConsistencyGrouping< PointRGB, PointRGB > (const PointCloudRGB::ConstPtr modelKeypoints, const PointCloudRGB::ConstPtr sceneKeypoints, const pcl::CorrespondencesConstPtr modelSceneCorrs, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f >> &rotoTranslations, std::vector< pcl::Correspondences > &clusteredCorrs, float gcSize, float gcThreshold)
 
template int PCLModules::EstimateGeometricConsistencyGrouping< PointRGBA, PointRGBA > (const PointCloudRGBA::ConstPtr modelKeypoints, const PointCloudRGBA::ConstPtr sceneKeypoints, const pcl::CorrespondencesConstPtr modelSceneCorrs, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f >> &rotoTranslations, std::vector< pcl::Correspondences > &clusteredCorrs, float gcSize, float gcThreshold)
 
template int PCLModules::EstimateHarris3D< PointT > (const PointCloudT::ConstPtr inCloud, pcl::PointCloud< pcl::PointXYZI >::Ptr outcloud, float normalRadius, float searchRadius)
 
template int PCLModules::EstimateHarris3D< PointRGB > (const PointCloudRGB::ConstPtr inCloud, pcl::PointCloud< pcl::PointXYZI >::Ptr outcloud, float normalRadius, float searchRadius)
 
template int PCLModules::EstimateHarris3D< PointRGBA > (const PointCloudRGBA::ConstPtr inCloud, pcl::PointCloud< pcl::PointXYZI >::Ptr outcloud, float normalRadius, float searchRadius)
 
template int PCLModules::GetUniformSampling< PointT > (const PointCloudT::ConstPtr inCloud, PointCloudT::Ptr outcloud, const float &searchRadius)
 
template int PCLModules::GetUniformSampling< PointRGB > (const PointCloudRGB::ConstPtr inCloud, PointCloudRGB::Ptr outcloud, const float &searchRadius)
 
template int PCLModules::GetUniformSampling< PointRGBA > (const PointCloudRGBA::ConstPtr inCloud, PointCloudRGBA::Ptr outcloud, const float &searchRadius)
 
template int PCLModules::PassThroughFilter< PointT > (const PointCloudT::ConstPtr inCloud, PointCloudT::Ptr outcloud, const QString &filterFieldName, const float &limit_min, const float &limit_max)
 
template int PCLModules::PassThroughFilter< PointRGB > (const PointCloudRGB::ConstPtr inCloud, PointCloudRGB::Ptr outcloud, const QString &filterFieldName, const float &limit_min, const float &limit_max)
 
template int PCLModules::PassThroughFilter< PointRGBA > (const PointCloudRGBA::ConstPtr inCloud, PointCloudRGBA::Ptr outcloud, const QString &filterFieldName, const float &limit_min, const float &limit_max)
 
template int PCLModules::VoxelGridFilter< PointT > (const PointCloudT::ConstPtr inCloud, PointCloudT::Ptr outcloud, const float &leafSizeX, const float &leafSizeY, const float &leafSizeZ)
 
template int PCLModules::VoxelGridFilter< PointRGB > (const PointCloudRGB::ConstPtr inCloud, PointCloudRGB::Ptr outcloud, const float &leafSizeX, const float &leafSizeY, const float &leafSizeZ)
 
template int PCLModules::VoxelGridFilter< PointRGBA > (const PointCloudRGBA::ConstPtr inCloud, PointCloudRGBA::Ptr outcloud, const float &leafSizeX, const float &leafSizeY, const float &leafSizeZ)
 
template int PCLModules::ExtractIndicesFilter< PointT > (const PointCloudT::ConstPtr inCloud, const pcl::PointIndices::ConstPtr inliers, PointCloudT::Ptr outcloud, PointCloudT::Ptr outcloud2)
 
template int PCLModules::ExtractIndicesFilter< PointRGB > (const PointCloudRGB::ConstPtr inCloud, const pcl::PointIndices::ConstPtr inliers, PointCloudRGB::Ptr outcloud, PointCloudRGB::Ptr outcloud2)
 
template int PCLModules::ExtractIndicesFilter< PointRGBA > (const PointCloudRGBA::ConstPtr inCloud, const pcl::PointIndices::ConstPtr inliers, PointCloudRGBA::Ptr outcloud, PointCloudRGBA::Ptr outcloud2)
 
template int PCLModules::GetMinCutSegmentation< PointT > (const PointCloudT::ConstPtr inCloud, std::vector< pcl::PointIndices > &outClusters, PointCloudRGB::Ptr cloud_segmented, const PointT foregroundPoint, int neighboursNumber, float smoothSigma, float backWeightRadius, float foreWeight, const pcl::IndicesConstPtr indices)
 
template int PCLModules::GetMinCutSegmentation< PointRGB > (const PointCloudRGB::ConstPtr inCloud, std::vector< pcl::PointIndices > &outClusters, PointCloudRGB::Ptr cloud_segmented, const PointRGB foregroundPoint, int neighboursNumber, float smoothSigma, float backWeightRadius, float foreWeight, const pcl::IndicesConstPtr indices)
 
template int PCLModules::GetBoundaryCloud< PointT, NormalT > (const PointCloudT::ConstPtr inCloud, const CloudNormal::ConstPtr normals, PointCloudT::Ptr boundaryCloud, const float angleThreshold, const float radius, const bool useKnn)
 
template int PCLModules::GetBoundaryCloud< PointT, PointNT > (const PointCloudT::ConstPtr inCloud, const PointCloudNormal::ConstPtr normals, PointCloudT::Ptr boundaryCloud, const float angleThreshold, const float radius, const bool useKnn)
 
template int PCLModules::GetBoundaryCloud< PointRGBA, NormalT > (const PointCloudRGBA::ConstPtr inCloud, const CloudNormal::ConstPtr normals, PointCloudRGBA::Ptr boundaryCloud, const float angleThreshold, const float radius, const bool useKnn)
 
template int PCLModules::GetBoundaryCloud< PointRGBA, PointNT > (const PointCloudRGBA::ConstPtr inCloud, const PointCloudNormal::ConstPtr normals, PointCloudRGBA::Ptr boundaryCloud, const float angleThreshold, const float radius, const bool useKnn)
 
template bool PCLModules::ICPRegistration< PointT, PointT > (const PointCloudT::ConstPtr targetCloud, const PointCloudT::ConstPtr sourceCloud, PointCloudT::Ptr outRegistered, int ipcMaxIterations, float icpCorrDistance)
 
template bool PCLModules::ICPRegistration< PointRGB, PointRGB > (const PointCloudRGB::ConstPtr targetCloud, const PointCloudRGB::ConstPtr sourceCloud, PointCloudRGB::Ptr outRegistered, int ipcMaxIterations, float icpCorrDistance)