📖
Wiki
Back to my personal website
  • Home
  • Equipment and Devices
    • 3D Printer
    • Laser Cutter
    • Motion Capture System
    • Sensors
      • RGB-D Cameras
      • Velodyne LiDAR
      • Zed Camera
      • RealSense D435i
      • IMU
    • eGPU
    • Nvidia AGX Xavier
    • CPU Benchmark
    • Installation Checklist
  • Development
    • Linux
      • Shell
      • GDB
      • Git
      • Tmux
      • Network
      • Tricks
      • Debug FAQ
    • CMake
      • Catkin Tools
      • CMakeLists
      • CMake Variables
      • CMake Commands
      • CMake: find_package()
    • ROS
      • Gazebo
      • wstool
      • roslaunch
      • rosbag
      • multi-threaded spinner
    • ROS2
      • Convert ROS1 bag to ROS2 bag
    • C++
      • C++ 11
      • C++ Examples
      • C++ Debug
      • Factory Method
      • Timing
    • Google Tools
      • GLog
      • GFlags
      • GTest
      • Style Guide
      • Clang Format
    • PCL
      • Point Type
      • Methods
      • Architecture
      • Code Explained
    • Open3D
      • Python API
      • Registration
      • Visualization
      • Tools
    • OpenCV
      • Documentation
      • Modules
    • Other Libraries
      • Eigen
      • Ceres
      • g2o
      • GTSAM
    • Website
  • Algorithm
    • SLAM
      • K-D Tree
      • Octree
      • Bag of Words
      • Distance Measures
      • Coordinate Systems
      • LOAM
      • Iterative Closest Point
      • Generalized ICP
      • Mahalanobis Distance
    • Computer Science
      • Computational Model
      • Sorting
      • Analysis
      • Complexity Classes (P, NP)
      • Divide and Conquer
      • Greedy Algorithm
      • Dynamic Programming
      • Tree
      • Graph
    • Computer Vision
      • Camera Models
      • Distortion
      • Motion Models
      • Shutter
      • Image Sensors
      • Epipolar Geometry
      • Multiple-View Geometry
    • Datasets
      • RGB-D Datasets
      • Point Cloud Datasets
      • LiDAR SLAM Datasets
  • Math
    • Optimization
      • Convex Optimization
      • Descent Methods
    • Probability
      • Moment
      • Covariance Matrix
      • Stochastic Process
    • Topology
      • References
      • Concepts
      • Topological Spaces
      • Representation of Rotations
      • Representation of 3-sphere
    • Algebra
      • Linear Algebra
      • Matrix Factorization
      • Condition Number
      • Matrix Lie Group
    • Differential Geometry
      • Manifold
      • Submanifold
      • Quotient Manifolds
      • Tangent Space
  • Quadrotor
    • PX4 Development
    • Companion Computer
    • Drone Hardware
    • Propeller Lock
    • Debug
  • Favorites
    • Bookmarks
Powered by GitBook
On this page
  • PCLBase
  • Filter : public PCLBase
  • Keypoint : public PCLBase
  • Feature : public PCLBase
  • Registration : public PCLBase
  • CorrespondenceEstimationBase : public PCLBase
  • Registration::TransformationEstimation
  • Search
  • Visualization
  • PCLVisualizer (visualizer)
  • PointCloudColorHandler (color_handler)
  • PointCloudGeometryHandler (geometry_handler)
  • PCLHistogramVisualizer (histogram_visualizer)
  • PCLPlotter (plotter)
  • IO
  • FileReader

Was this helpful?

  1. Development
  2. PCL

Architecture

PreviousMethodsNextCode Explained

Last updated 4 years ago

Was this helpful?

PCLBase

  • virtual void setInputCloud (const PointCloudConstPtr &cloud);

  • virtual void setIndices (const IndicesConstPtr &indices);

  • bool initCompute (); [protected]

  • bool deinitCompute (); [protected]

Filter : public PCLBase

  • :: void removeNaNFromPointCloud (...)

  • inline void filter (PointCloud &output)

  • virtual void applyFilter (PointCloud &output) = 0; [protected]

VoxelGrid : public Filter ()

  • inline void setLeafSize (float lx, float ly, float lz) / (const Eigen::Vector4f &leaf_size)

  • inline void setDownsampleAllData (bool downsample)

  • inline void setMinimumPointsNumberPerVoxel (unsigned int min_points_per_voxel)

  • inline void setFilterLimits (const double &limit_min, const double &limit_max)

  • void applyFilter (PointCloud &output); [protected]

Keypoint : public PCLBase

  • virtual void setSearchSurface (const PointCloudInConstPtr &cloud) { surface_ = cloud; }

  • inline void setSearchMethod (const KdTreePtr &tree) { tree_ = tree; }

  • inline void setKSearch (int k) { k_ = k; }

  • inline void setRadiusSearch (double radius) { search_radius_ = radius; }

  • inline void compute (PointCloudOut &output);

  • inline int searchForNeighbors (...)

  • virtual void detectKeypoints (PointCloudOut &output) = 0; [protected]

  • void setMethod (ResponseMethod type);

  • void setRadius (float radius);

  • void setThreshold (float threshold);

  • void setNonMaxSupression (bool = false);

  • inline void setNumberOfThreads (unsigned int nr_threads = 0) { threads_= nr_threads; }

  • pcl::PointIndicesConstPtr getKeypointsIndices () { return (keypoints_indices_); }

  • void setScales (float min_scale, int nr_octaves, int nr_scales_per_octave);

  • void setMinimumContrast (float min_contrast);

  • void setSalientRadius (double salient_radius) [ref: 6 * model_resolution]

  • void setNonMaxRadius (double non_max_radius) [ref: 4 * model_resolution]

  • void setNormalRadius (double normal_radius)

  • void setBorderRadius (double border_radius)

  • void setMinNeighbors (int min_neighbors) [ref: 5]

  • void setNormals (const PointCloudNConstPtr &normals)

  • void setNumberOfThreads (unsigned int nr_threads=0)

  • pcl::PointIndicesConstPtr getKeypointsIndices () { return (keypoints_indices_); }

Feature : public PCLBase

  • inline void setSearchSurface (const PointCloudInConstPtr &cloud)

  • inline void setSearchMethod (const KdTreePtr &tree) { tree_ = tree; }

  • inline void setKSearch (int k) { k_ = k; }

  • inline void setRadiusSearch (double radius)

  • void compute (PointCloudOut &output);

  • inline int searchForNeighbors(...) [protected]

  • virtual void computeFeature (PointCloudOut &output) = 0; [private]

  • void computeFeature (PointCloudOut &output); [protected]

FeatureFromNormals : public Feature

  • inline void setInputNormals (const PointCloudNConstPtr &normals) { normals_ = normals; }

  • void computeFeature (PointCloudOut &output); [protected]

Registration : public PCLBase

  • void setTransformationEstimation (const TransformationEstimationPtr &te)

  • void setCorrespondenceEstimation (const CorrespondenceEstimationPtr &ce)

  • virtual void setInputSource (const PointCloudSourceConstPtr &cloud)

  • virtual inline void setInputTarget (const PointCloudTargetConstPtr &cloud)

  • inline void setSearchMethodSource (const KdTreeReciprocalPtr &tree, bool force_no_recompute = ...)

  • inline void setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute = false)

  • inline Matrix4 getFinalTransformation () { return (final_transformation_); }

  • inline Matrix4 getLastIncrementalTransformation () { return (transformation_); }

  • inline void setMaxCorrespondenceDistance (double distance_threshold) [ref: 0.05]

  • inline void setMaximumIterations (int nr_iterations) [termination criterion 1; ref: 50, 500]

  • inline void setTransformationEpsilon (double epsilon) [termination criterion 2; ref: 1e-6, 1e-8]

  • inline void setEuclideanFitnessEpsilon (double epsilon) [termination criterion 3; ref: 1]

  • inline void setRANSACIterations (int ransac_iterations)

  • inline void setRANSACOutlierRejectionThreshold (double inlier_threshold)

  • inline void align (PointCloudSource &output);

  • inline void addCorrespondenceRejector (const CorrespondenceRejectorPtr &rejector)

  • virtual void computeTransformation (PointCloudSource &output, const Matrix4& guess) [protected]

  • inline bool searchForNeighbors (const PointCloudSource &, int, std::vector &, std::vector &)[protected]

  • void setSourceFeatures (const FeatureCloudConstPtr &features);

  • void setTargetFeatures (const FeatureCloudConstPtr &features);

  • void setMinSampleDistance (float min_sample_distance)

  • void setNumberOfSamples (int nr_samples) { nr_samples_ = nr_samples; }

  • void setCorrespondenceRandomness (int k) { k_correspondences_ = k; }

  • void setErrorFunction (const boost::shared_ptr<ErrorFunctor> & error_functor)

  • inline void setResolution (float resolution)

  • inline void setStepSize (double step_size)

  • inline void setOulierRatio (double outlier_ratio)

  • inline void setUseReciprocalCorrespondences (bool use_reciprocal_correspondence)

  • IterativeClosestPointWithNormals : public IterativeClosestPoint (icp.h)

  • IterativeClosestPointNonLinear : public IterativeClosestPoint (icp_nl.h)

CorrespondenceEstimationBase : public PCLBase

  • inline void setInputSource (const PointCloudSourceConstPtr& cloud)

  • inline void setInputTarget (const PointCloudTargetConstPtr& cloud)

  • inline void setIndicesSource (const IndicesPtr& indices)

  • inline void setIndicesTarget (const IndicesPtr& indices)

  • inline void setSearchMethodSource(const KdTreeReciprocalPtr& tree, bool force_no_recompute = ...)

  • inline void setSearchMethodTarget(const KdTreePtr& tree, bool force_no_recompute = false)

  • virtual void determineCorrespondences( pcl::Correspondences& correspondences, ...) = 0;

  • virtual void determineReciprocalCorrespondences( pcl::Correspondences& correspondences, ...) = 0;

  • inline void setPointRepresentation(const PointRepresentationConstPtr& point_representation)

  • void determineCorrespondences ( pcl::Correspondences& correspondences, ...) override;

  • void determineReciprocalCorrespondences( pcl::Correspondences& correspondences, ...) override;

Registration::TransformationEstimation

  • virtual void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const =0

TransformationEstimationSVD : public TransformationEstimation

  • virtual void getTransformationFromCorrelation(...) const [protected]

  • virtual MatScalar computeDistance(const Vector4& p_src, const PointTarget& p_tgt) [protected]

  • struct OptimizationFunctor : public Functor [protected]

TransformationEstimationPointToPlane : public TransformationEstimationLM

  • Scalar computeDistance(const Vector4& p_src, const PointTarget& p_tgt) const override [protected]

Search

  • virtual void setSortedResults (bool sorted);

  • virtual void setInputCloud (const PointCloudConstPtr& cloud, const IndicesConstPtr &indices = ...);

  • virtual int nearestKSearch (...)

  • virtual int radiusSearch (...)

  • void sortResults (std::vector& indices, std::vector& distances) const; [protected]

  • template<typename PointT, class Tree = pcl::KdTreeFLANN<PointT> >

  • void setPointRepresentation (const PointRepresentationConstPtr &point_representation);

  • void setSortedResults (bool sorted_results);

  • void setInputCloud (const PointCloudConstPtr& cloud, const IndicesConstPtr& indices = ...);

  • void setEpsilon (float eps);

  • int nearestKSearch (...)

  • int radiusSearch (...)

Visualization

  • void setBackgroundColor (const double &r, const double &g, const double &b, int viewport = 0);

  • void createViewPort (double xmin, double ymin, double xmax, double ymax, int &viewport)

  • boost::signals2::connection registerKeyboardCallback (std::function...)

  • boost::signals2::connection registerMouseCallback (std::function...)

  • void initCameraParameters ()

  • void setCameraParameters (const Eigen::Matrix3f &intrinsics, const Eigen::Matrix4f &extrinsics, int viewport=0)

  • void setCameraPosition (double pos_x, double pos_y, double pos_z, double view_x, double view_y, double view_z, double up_x, double up_y, double up_z, int viewport=0)

  • bool setShapeRenderingProperties (int property, double value, const std::string &id, int viewport=0)

  • bool addPointCloud (...)

  • bool addPointCloudNormals (...)

  • bool addPointCloudPrincipalCurvatures (...)

  • bool addCorrespondences (...)

  • bool addPolygonMesh (...)

  • bool addText (...)

  • bool addText3D (...)

  • bool wasStopped () const

  • void spinOnce (int time=1, bool force_redraw=false)

  • PointCloudColorHandler (const PointCloudConstPtr &cloud) : cloud_ (cloud), capable_ (false), field_idx_ (-1), fields_ () {}

PointCloudColorHandlerCustom : public PointCloudColorHandler

  • PointCloudColorHandlerCustom (const PointCloudConstPtr &cloud, double r, double g, double b)

PointCloudColorHandlerRGBField : public PointCloudColorHandler

PointCloudColorHandlerLabelField : public PointCloudColorHandler

PointCloudGeometryHandlerCustom : public PointCloudGeometryHandler

  • Custom handler class for PointCloud geometry. Given an input dataset and three user defined fields, all data present in them is extracted and displayed on screen as XYZ data.

  • bool addFeatureHistogram (const pcl::PointCloud< PointT > &cloud, int hsize, ...)

  • void addPlotData (double const *array_X, double const *array_Y, unsigned long size, ...)

  • void addHistogramData (std::vector< double > const &data, int const nbins=10, ...)

  • bool addFeatureHistogram (const pcl::PointCloud< PointT > &cloud, int hsize, ...)

  • void setBackgroundColor (const double r, const double g, const double b)

  • void plot ()

IO

FileReader

  • int loadPCDFile (const std::string &file_name, pcl::PointCloud< PointT > &cloud)

    • {pcl::PCDReader p; return (p.read (file_name, cloud));}

  • int loadPLYFile (const std::string &file_name, pcl::PointCloud< PointT > &cloud)

HarrisKeypoint3D : public Keypoint ()

SIFTKeypoint : public Keypoint ()

ISSKeypoint3D : public Keypoint ()

NormalEstimation : public Feature ()

PFHEstimation : public FeatureFromNormals ()

FPFHEstimation : public FeatureFromNormals ()

PFHRGBEstimation : public FeatureFromNormals ()

SHOTEstimation : public FeatureFromNormals, FeatureWithLocalReferenceFrames ()

SHOTColorEstimation : public FeatureFromNormals, FeatureWithLocalReferenceFrames ()

SampleConsensusInitialAlignment : public Registration ()

FPCSInitialAlignment : public Registration ()

KFPCSInitialAlignment : public FPCSInitialAlignment ()

NormalDistributionsTransform : public Registration ()

IterativeClosestPoint : public Registration ()

GeneralizedIterativeClosestPoint : public IterativeClosestPoint ()

GeneralizedIterativeClosestPoint6D : public GeneralizedIterativeClosestPoint ()

CorrespondenceEstimation : public CorrespondenceEstimationBase ()

TransformationEstimationLM : public TransformationEstimation ()

KdTree : public Search ()

PCLVisualizer ()

PointCloudColorHandler ()

PointCloudGeometryHandler ()

PCLHistogramVisualizer ()

PCLPlotter ()

PCDReader : public FileReader ()

PLYReader : public FileReader ()

voxel_grid.h
harris_3d.h
sift_keypoint.h
iss_3d.h
normal_3d.h
pfh.h
fpfh.h
pfhrgb.h
shot.h
shot.h
ia_ransac.h
ia_fpcs.h
ia_kfpcs.h
ndt.h
icp.h
gicp.h
gicp6d.h
corres_est.h
trans_est.h
search/kdtree.h
visualizer
color_handler
geometry_handler
histogram_visualizer
plotter
pcd_io.h
ply_io.h