ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
PCLModules.h File Reference
#include <Utils/PCLCloud.h>
#include <Utils/PCLConv.h>
#include "qPCL.h"
#include <CVLog.h>
#include <CVMath.h>
#include <Eigen.h>
#include <Parallel.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/Vertices.h>
#include <pcl/common/common.h>
#include <pcl/common/io.h>
#include <pcl/common/transforms.h>
#include <pcl/correspondence.h>
#include <pcl/point_types.h>
#include <pcl/keypoints/harris_3d.h>
#include <pcl/keypoints/sift_keypoint.h>
#include <pcl/filters/conditional_removal.h>
#include <pcl/filters/crop_hull.h>
#include <pcl/filters/extract_indices.h>
#include <pcl/filters/passthrough.h>
#include <pcl/filters/project_inliers.h>
#include <pcl/filters/statistical_outlier_removal.h>
#include <pcl/filters/uniform_sampling.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/recognition/cg/geometric_consistency.h>
#include <pcl/recognition/cg/hough_3d.h>
#include <pcl/registration/ia_ransac.h>
#include <pcl/registration/icp.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/search/kdtree.h>
#include <pcl/surface/concave_hull.h>
#include <pcl/surface/convex_hull.h>
#include <pcl/surface/marching_cubes.h>
#include <pcl/surface/marching_cubes_hoppe.h>
#include <pcl/surface/marching_cubes_rbf.h>
#include <pcl/surface/mls.h>
#include <pcl/features/board.h>
#include <pcl/features/boundary.h>
#include <pcl/features/don.h>
#include <pcl/features/normal_3d_omp.h>
#include <pcl/features/shot_omp.h>
#include <pcl/segmentation/extract_clusters.h>
#include <pcl/segmentation/min_cut_segmentation.h>
#include <pcl/segmentation/progressive_morphological_filter.h>
#include <pcl/segmentation/impl/extract_clusters.hpp>
#include <QThread>
#include <Eigen/Core>
#include <limits>
#include <vector>
Include dependency graph for PCLModules.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PCLModules::ConditionParameters
 
struct  PCLModules::ConditionParameters::ComparisonParam
 
struct  PCLModules::MLSParameters
 
class  PCLModules::FeatureCloud
 
class  PCLModules::TemplateMatching
 
struct  PCLModules::TemplateMatching::Result
 

Namespaces

 PCLModules
 

Enumerations

enum  PCLModules::MarchingMethod { PCLModules::HOPPE , PCLModules::RBF }
 

Functions

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)
 
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)
 
template<typename PointInT >
int PCLModules::GetMarchingCubes (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, const MarchingMethod &marchingMethod, PCLMesh &outMesh, float epsilon=0.01f, float isoLevel=0.0f, float gridResolution=50, float percentageExtendGrid=0.0f)
 
template<typename PointInOutT >
int PCLModules::SwapAxis (const typename pcl::PointCloud< PointInOutT >::ConstPtr inCloud, typename pcl::PointCloud< PointInOutT >::Ptr outcloud, const std::string &flag)
 
template<typename PointInT >
int PCLModules::RemoveNaN (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, typename pcl::PointCloud< PointInT >::Ptr outcloud, std::vector< int > &index)
 
template<typename PointInT , typename PointOutT >
int PCLModules::EstimateSIFT (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, typename pcl::PointCloud< PointOutT >::Ptr outcloud, int nr_octaves=0, float min_scale=0, int nr_scales_per_octave=0, float min_contrast=0)
 Extract SIFT keypoints. More...
 
template<typename PointInT , typename NormalType , typename DescriptorType = pcl::SHOT352>
int PCLModules::EstimateShot (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, const typename pcl::PointCloud< PointInT >::ConstPtr keyPoints, const typename pcl::PointCloud< NormalType >::ConstPtr normals, typename pcl::PointCloud< DescriptorType >::Ptr outDescriptors, float searchRadius=0.03f, int maxThreadCount=QThread::idealThreadCount())
 
template<typename PointInT >
double PCLModules::ComputeCloudResolution (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud)
 
template<typename PointOutT >
int PCLModules::RemoveOutliersStatistical (const typename PointOutT::ConstPtr inCloud, typename PointOutT::Ptr outCloud, int knn, double nSigma)
 
template<typename PointInT >
int PCLModules::EuclideanCluster (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, std::vector< pcl::PointIndices > &cluster_indices, float clusterTolerance=0.02f, int minClusterSize=100, int maxClusterSize=250000)
 
template<typename PointInT >
int PCLModules::ProgressiveMpFilter (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, pcl::PointIndicesPtr groundIndices, int maxWindowSize=20, float slope=1.0f, float initialDistance=0.5f, float maxDistance=3.0f)
 
template<typename PointInT , typename NormalType , typename PointOutT >
int PCLModules::DONEstimation (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, const typename pcl::PointCloud< NormalType >::ConstPtr normalsLargeScale, const typename pcl::PointCloud< NormalType >::ConstPtr normalsSmallScale, typename pcl::PointCloud< PointOutT >::Ptr outCloud)
 
template<typename PointInT , typename NormalType , typename RFType = pcl::ReferenceFrame>
int PCLModules::EstimateLocalReferenceFrame (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, const typename pcl::PointCloud< PointInT >::ConstPtr keyPoints, const typename pcl::PointCloud< NormalType >::ConstPtr normals, typename pcl::PointCloud< RFType >::Ptr outRF, float searchRadius=0.015f)
 
template<typename PointModelT , typename PointSceneT , typename PointModelRfT = pcl::ReferenceFrame, typename PointSceneRfT = pcl::ReferenceFrame>
int PCLModules::EstimateHough3DGrouping (const typename pcl::PointCloud< PointModelT >::ConstPtr modelKeypoints, const typename pcl::PointCloud< PointSceneT >::ConstPtr sceneKeypoints, const typename pcl::PointCloud< PointModelRfT >::ConstPtr modelRF, const typename pcl::PointCloud< PointSceneRfT >::ConstPtr sceneRF, const typename pcl::CorrespondencesConstPtr modelSceneCorrs, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f >> &rotoTranslations, std::vector< pcl::Correspondences > &clusteredCorrs, float houghBinSize=0.01f, float houghThreshold=5.0f)
 
template<typename PointModelT , typename PointSceneT >
int PCLModules::EstimateGeometricConsistencyGrouping (const typename pcl::PointCloud< PointModelT >::ConstPtr modelKeypoints, const typename pcl::PointCloud< PointSceneT >::ConstPtr sceneKeypoints, const typename pcl::CorrespondencesConstPtr modelSceneCorrs, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f >> &rotoTranslations, std::vector< pcl::Correspondences > &clusteredCorrs, float gcSize=0.01f, float gcThreshold=20.0f)
 
template<typename PointInT >
int PCLModules::EstimateHarris3D (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, pcl::PointCloud< pcl::PointXYZI >::Ptr outcloud, float normalRadius=0.1f, float searchRadius=0.1f)
 
template<typename PointInOut >
int PCLModules::GetUniformSampling (const typename pcl::PointCloud< PointInOut >::ConstPtr inCloud, typename pcl::PointCloud< PointInOut >::Ptr outcloud, const float &searchRadius=-1.0f)
 
template<typename PointInOut >
int PCLModules::ConditionalRemovalFilter (const typename pcl::PointCloud< PointInOut >::ConstPtr inCloud, const ConditionParameters &params, typename pcl::PointCloud< PointInOut >::Ptr outCloud, bool keepOrganized=false)
 
template<typename PointInT , typename PointOutT >
int PCLModules::SmoothMls (const typename pcl::PointCloud< PointInT >::ConstPtr &inCloud, const MLSParameters &params, typename pcl::PointCloud< PointOutT >::Ptr &outcloud)
 
template<typename PointInT , typename PointOutT >
int PCLModules::ComputeNormals (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, typename pcl::PointCloud< PointOutT >::Ptr outcloud, const float radius=-1.0f, const bool useKnn=true, bool normalConsistency=false, int maxThreadCount=QThread::idealThreadCount())
 
template<typename PointInOut >
int PCLModules::PassThroughFilter (const typename pcl::PointCloud< PointInOut >::ConstPtr inCloud, typename pcl::PointCloud< PointInOut >::Ptr outcloud, const QString &filterFieldName="z", const float &limit_min=0.1f, const float &limit_max=1.1f)
 
template<typename PointInOut >
int PCLModules::VoxelGridFilter (const typename pcl::PointCloud< PointInOut >::ConstPtr inCloud, typename pcl::PointCloud< PointInOut >::Ptr outcloud, const float &leafSizeX=-0.01f, const float &leafSizeY=-0.01f, const float &leafSizeZ=-0.01f)
 
template<typename PointInOut >
int PCLModules::ExtractIndicesFilter (const typename pcl::PointCloud< PointInOut >::ConstPtr inCloud, const pcl::PointIndices::ConstPtr inliers, typename pcl::PointCloud< PointInOut >::Ptr outcloud=nullptr, typename pcl::PointCloud< PointInOut >::Ptr outcloud2=nullptr)
 
template<typename PointInT >
int PCLModules::GetConvexHullReconstruction (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, PCLMesh &outMesh, int dimension=3)
 
template<typename PointInT >
int PCLModules::GetConcaveHullReconstruction (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, PCLMesh &outMesh, int dimension=3, float alpha=0.05f)
 
template<typename PointInT >
int PCLModules::CropHullFilter (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, const PointCloudT::ConstPtr boundingBox, typename pcl::PointCloud< PointInT >::Ptr outCloud, int dimensions=2)
 
template<typename PointInT >
int PCLModules::GetMinCutSegmentation (const typename pcl::PointCloud< PointInT >::ConstPtr inCloud, std::vector< pcl::PointIndices > &outClusters, PointCloudRGB::Ptr cloud_segmented, const PointInT foregroundPoint, int neighboursNumber=14, float smoothSigma=0.25f, float backWeightRadius=0.8f, float foreWeight=0.5f, const pcl::IndicesConstPtr indices=nullptr)
 
template<typename PointInOut , typename NormalType >
int PCLModules::GetBoundaryCloud (const typename pcl::PointCloud< PointInOut >::ConstPtr inCloud, const typename pcl::PointCloud< NormalType >::ConstPtr normals, typename pcl::PointCloud< PointInOut >::Ptr boundaryCloud, const float angleThreshold=90.0f, const float radius=-1.0f, const bool useKnn=true)
 
template<typename PointInT , typename PointOutT >
bool PCLModules::ICPRegistration (const typename pcl::PointCloud< PointInT >::ConstPtr targetCloud, const typename pcl::PointCloud< PointOutT >::ConstPtr sourceCloud, typename pcl::PointCloud< PointOutT >::Ptr outRegistered, int ipcMaxIterations=5, float icpCorrDistance=0.005f)