Namespaces | Classes | Typedefs | Enumerations | Functions | Variables

pcl Namespace Reference

Software License Agreement (BSD License). More...

Namespaces

namespace  apps
namespace  common
namespace  ComparisonOps
namespace  console
namespace  detail
namespace  distances
namespace  fields
namespace  geometry
namespace  io
namespace  octree
namespace  registration
namespace  search
namespace  surface
namespace  test
 

test_macros.h provide helper macros for testing vectors, matrices etc.


namespace  tracking
namespace  traits
namespace  utils
namespace  visualization

Classes

class  NNClassification
 Nearest neighbor search based classification of PCL point type features. More...
class  VFHClassifierNN
 Utility class for nearest neighbor search based classification of VFH features. More...
class  ChannelProperties
 ChannelProperties stores the properties of each channel in a cloud, namely: More...
class  CloudProperties
 CloudProperties stores a list of optional point cloud properties such as: More...
class  BivariatePolynomialT
 This represents a bivariate polynomial and provides some functionality for it. More...
struct  NdCentroidFunctor
 Helper functor structure for n-D centroid estimation. More...
struct  NdConcatenateFunctor
 Helper functor structure for concatenate. More...
class  GaussianKernel
 Class GaussianKernel assembles all the method for computing, convolving, smoothing, gradients computing an image using a gaussian kernel. More...
class  PCA
 Principal Component analysis (PCA) class. More...
class  PiecewiseLinearFunction
 This provides functionalities to efficiently return values for piecewise linear function. More...
class  PolynomialCalculationsT
 This provides some functionality for polynomials, like finding roots or approximating bivariate polynomials. More...
class  PosesFromMatches
 calculate 3D transformation based on point correspondencdes More...
class  Synchronizer
 /brief This template class synchronizes two data streams of different types. More...
class  StopWatch
 Simple stopwatch. More...
class  ScopeTime
 Class to measure the time spent in a scope. More...
class  TimeTrigger
 timer class that invokes registered callback methods periodically. More...
class  TransformationFromCorrespondences
 Calculates a transformation based on corresponding 3D points. More...
class  VectorAverage
 Calculates the weighted average and the covariance matrix. More...
struct  Correspondence
 Correspondence represents a match between two entities (e.g., points, descriptors, etc). More...
struct  PointCorrespondence3D
 Representation of a (possible) correspondence between two 3D points in two different coordinate frames (e.g. More...
struct  PointCorrespondence6D
 Representation of a (possible) correspondence between two points (e.g. More...
class  PCLException
 A base class for all pcl exceptions which inherits from std::runtime_error. More...
class  InvalidConversionException
 An exception that is thrown when a PointCloud2 message cannot be converted into a PCL type. More...
class  IsNotDenseException
 An exception that is thrown when a PointCloud is not dense but is attemped to be used as dense. More...
class  InvalidSACModelTypeException
 An exception that is thrown when a sample consensus model doesn't have the correct number of samples defined in model_types.h. More...
class  IOException
 An exception that is thrown during an IO error (typical read/write errors). More...
class  InitFailedException
 An exception thrown when init can not be performed should be used in all the PCLBase class inheritants. More...
class  UnorganizedPointCloudException
 An exception that is thrown when an organized point cloud is needed but not provided. More...
class  KernelWidthTooSmallException
 An exception that is thrown when the kernel size is too small. More...
class  UnhandledPointTypeException
class  ComputeFailedException
struct  for_each_type_impl
struct  for_each_type_impl< false >
struct  intersect
struct  _PointXYZ
struct  PointXYZ
 A point structure representing Euclidean xyz coordinates. More...
struct  RGB
 A structure representing RGB color information. More...
struct  _PointXYZI
 A point structure representing Euclidean xyz coordinates, and the intensity value. More...
struct  PointXYZI
struct  PointXYZL
struct  Label
struct  _PointXYZRGBA
 A point structure representing Euclidean xyz coordinates, and the RGBA color. More...
struct  PointXYZRGBA
struct  _PointXYZRGB
struct  _PointXYZRGBL
struct  PointXYZRGB
 A point structure representing Euclidean xyz coordinates, and the RGB color. More...
struct  PointXYZRGBL
struct  _PointXYZHSV
struct  PointXYZHSV
struct  PointXY
 A 2D point structure representing Euclidean xy coordinates. More...
struct  InterestPoint
 A point structure representing an interest point with Euclidean xyz coordinates, and an interest value. More...
struct  _Normal
 A point structure representing normal coordinates and the surface curvature estimate. More...
struct  Normal
struct  _Axis
 A point structure representing an Axis using its normal coordinates. More...
struct  Axis
struct  PointNormal
 A point structure representing Euclidean xyz coordinates, together with normal coordinates and the surface curvature estimate. More...
struct  _PointXYZRGBNormal
 A point structure representing Euclidean xyz coordinates, and the RGB color, together with normal coordinates and the surface curvature estimate. More...
struct  PointXYZRGBNormal
struct  PointXYZINormal
 A point structure representing Euclidean xyz coordinates, intensity, together with normal coordinates and the surface curvature estimate. More...
struct  PointWithRange
 A point structure representing Euclidean xyz coordinates, padded with an extra range float. More...
struct  _PointWithViewpoint
struct  PointWithViewpoint
 A point structure representing Euclidean xyz coordinates together with the viewpoint from which it was seen. More...
struct  MomentInvariants
 A point structure representing the three moment invariants. More...
struct  PrincipalRadiiRSD
 A point structure representing the minimum and maximum surface radii (in meters) computed using RSD. More...
struct  Boundary
 A point structure representing a description of whether a point is lying on a surface boundary or not. More...
struct  PrincipalCurvatures
 A point structure representing the principal curvatures and their magnitudes. More...
struct  PFHSignature125
 A point structure representing the Point Feature Histogram (PFH). More...
struct  PFHRGBSignature250
 A point structure representing the Point Feature Histogram with colors (PFHRGB). More...
struct  PPFSignature
 A point structure for storing the Point Pair Feature (PPF) values. More...
struct  PPFRGBSignature
 A point structure for storing the Point Pair Color Feature (PPFRGB) values. More...
struct  NormalBasedSignature12
 A point structure representing the Normal Based Signature for a feature matrix of 4-by-3. More...
struct  ShapeContext
 A point structure representing a Shape Context. More...
struct  SHOT
 A point structure representing the generic Signature of Histograms of OrienTations (SHOT). More...
struct  _ReferenceFrame
 A structure representing the Local Reference Frame of a point. More...
struct  ReferenceFrame
struct  FPFHSignature33
 A point structure representing the Fast Point Feature Histogram (FPFH). More...
struct  VFHSignature308
 A point structure representing the Viewpoint Feature Histogram (VFH). More...
struct  GFPFHSignature16
 A point structure representing the GFPFH descriptor with 16 bins. More...
struct  Narf36
 A point structure representing the Narf descriptor. More...
struct  BorderDescription
 A structure to store if a point in a range image lies on a border between an obstacle and the background. More...
struct  IntensityGradient
 A point structure representing the intensity gradient of an XYZI point cloud. More...
struct  Histogram
 A point structure representing an N-D histogram. More...
struct  PointWithScale
 A point structure representing a 3-D position and scale. More...
struct  PointSurfel
 A surfel, that is, a point structure representing Euclidean xyz coordinates, together with normal coordinates, a RGBA color, a radius, a confidence value and the surface curvature estimate. More...
struct  ModelCoefficients
class  PCLBase
 PCL base class. More...
class  PCLBase< sensor_msgs::PointCloud2 >
struct  NdCopyEigenPointFunctor
 Helper functor structure for copying data between an Eigen type and a PointT. More...
struct  NdCopyPointEigenFunctor
 Helper functor structure for copying data between an Eigen type and a PointT. More...
class  PointCloud
 PointCloud represents the base class in PCL for storing collections of 3D points. More...
class  PointCloud< Eigen::MatrixXf >
 PointCloud specialization for Eigen matrices. More...
class  PointRepresentation
 PointRepresentation provides a set of methods for converting a point structs/object into an n-dimensional vector. More...
class  DefaultPointRepresentation
 DefaultPointRepresentation extends PointRepresentation to define default behavior for common point types. More...
class  DefaultFeatureRepresentation
 DefaulFeatureRepresentation extends PointRepresentation and is intended to be used when defining the default behavior for feature descriptor types (i.e., copy each element of each field into a float array). More...
class  DefaultPointRepresentation< PointXYZ >
class  DefaultPointRepresentation< PointXYZI >
class  DefaultPointRepresentation< PointNormal >
class  DefaultPointRepresentation< PFHSignature125 >
class  DefaultPointRepresentation< PFHRGBSignature250 >
class  DefaultPointRepresentation< PPFSignature >
class  DefaultPointRepresentation< FPFHSignature33 >
class  DefaultPointRepresentation< VFHSignature308 >
class  DefaultPointRepresentation< NormalBasedSignature12 >
class  DefaultPointRepresentation< SHOT >
class  CustomPointRepresentation
 CustomPointRepresentation extends PointRepresentation to allow for sub-part selection on the point. More...
struct  CopyIfFieldExists
 A helper functor that can copy a specific value if the given field exists. More...
struct  PointIndices
struct  PolygonMesh
class  RangeImage
 RangeImage is derived from pcl/PointCloud and provides functionalities with focus on situations where a 3D scene was captured from a specific view point. More...
class  RangeImagePlanar
 RangeImagePlanar is derived from the original range image and differs from it because it's not a spherical projection, but using a projection plane (as normal cameras do), therefore being better applicable for range sensors that already provide a range image by themselves (stereo cameras, ToF-cameras), so that a conversion to point cloud and then to a spherical range image becomes unnecessary. More...
struct  TexMaterial
struct  TextureMesh
struct  Vertices
 Describes a set of vertices in a polygon mesh, by basically storing an array of indices. More...
class  ShapeContext3DEstimation
 ShapeContext3DEstimation implements the 3D shape context descriptor as described in:

  • Andrea Frome, Daniel Huber, Ravi Kolluri and Thomas Bülow, Jitendra Malik Recognizing Objects in Range Data Using Regional Point Descriptors, In proceedings of the 8th European Conference on Computer Vision (ECCV), Prague, May 11-14, 2004.
More...
class  ShapeContext3DEstimation< PointInT, PointNT, Eigen::MatrixXf >
 ShapeContext3DEstimation implements the 3D shape context descriptor as described in:

  • Andrea Frome, Daniel Huber, Ravi Kolluri and Thomas Bülow, Jitendra Malik Recognizing Objects in Range Data Using Regional Point Descriptors, In proceedings of the 8th European Conference on Computer Vision (ECCV), Prague, May 11-14, 2004.
More...
class  BoundaryEstimation
 BoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle criterion. More...
class  BoundaryEstimation< PointInT, PointNT, Eigen::MatrixXf >
 BoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle criterion. More...
class  CVFHEstimation
 CVFHEstimation estimates the Clustered Viewpoint Feature Histogram (CVFH) descriptor for a given point cloud dataset containing XYZ data and normals, as presented in:

  • CAD-Model Recognition and 6 DOF Pose Estimation A.
More...
class  Feature
 Feature represents the base feature class. More...
class  FeatureFromNormals
class  FeatureFromLabels
class  FPFHEstimation
 FPFHEstimation estimates the Fast Point Feature Histogram (FPFH) descriptor for a given point cloud dataset containing points and normals. More...
class  FPFHEstimation< PointInT, PointNT, Eigen::MatrixXf >
 FPFHEstimation estimates the Fast Point Feature Histogram (FPFH) descriptor for a given point cloud dataset containing points and normals. More...
class  FPFHEstimationOMP
 FPFHEstimationOMP estimates the Fast Point Feature Histogram (FPFH) descriptor for a given point cloud dataset containing points and normals, in parallel, using the OpenMP standard. More...
struct  IntegralImageTypeTraits
struct  IntegralImageTypeTraits< float >
struct  IntegralImageTypeTraits< char >
struct  IntegralImageTypeTraits< short >
struct  IntegralImageTypeTraits< unsigned short >
struct  IntegralImageTypeTraits< unsigned char >
struct  IntegralImageTypeTraits< int >
struct  IntegralImageTypeTraits< unsigned int >
class  IntegralImage2D
 Determines an integral image representation for a given organized data array. More...
class  IntegralImage2D< DataType, 1 >
 partial template specialization for integral images with just one channel. More...
class  IntegralImageNormalEstimation
 Surface normal estimation on dense data using integral images. More...
class  IntensityGradientEstimation
 IntensityGradientEstimation estimates the intensity gradient for a point cloud that contains position and intensity values. More...
class  IntensityGradientEstimation< PointInT, PointNT, Eigen::MatrixXf >
 IntensityGradientEstimation estimates the intensity gradient for a point cloud that contains position and intensity values. More...
class  IntensitySpinEstimation
 IntensitySpinEstimation estimates the intensity-domain spin image descriptors for a given point cloud dataset containing points and intensity. More...
class  IntensitySpinEstimation< PointInT, Eigen::MatrixXf >
 IntensitySpinEstimation estimates the intensity-domain spin image descriptors for a given point cloud dataset containing points and intensity. More...
class  MomentInvariantsEstimation
 MomentInvariantsEstimation estimates the 3 moment invariants (j1, j2, j3) at each 3D point. More...
class  MomentInvariantsEstimation< PointInT, Eigen::MatrixXf >
 MomentInvariantsEstimation estimates the 3 moment invariants (j1, j2, j3) at each 3D point. More...
class  MultiscaleFeaturePersistence
 Generic class for extracting the persistent features from an input point cloud It can be given any Feature estimator instance and will compute the features of the input over a multiscale representation of the cloud and output the unique ones over those scales. More...
class  Narf
 NARF (Normal Aligned Radial Features) is a point feature descriptor type for 3D data. More...
class  NarfDescriptor
 Computes NARF feature descriptors for points in a range image More...
class  NormalEstimation
 NormalEstimation estimates local surface properties (surface normals and curvatures)at each 3D point. More...
class  NormalEstimation< PointInT, Eigen::MatrixXf >
 NormalEstimation estimates local surface properties at each 3D point, such as surface normals and curvatures. More...
class  NormalEstimationOMP
 NormalEstimationOMP estimates local surface properties at each 3D point, such as surface normals and curvatures, in parallel, using the OpenMP standard. More...
class  NormalEstimationOMP< PointInT, Eigen::MatrixXf >
 NormalEstimationOMP estimates local surface properties at each 3D point, such as surface normals and curvatures, in parallel, using the OpenMP standard. More...
class  NormalBasedSignatureEstimation
 Normal-based feature signature estimation class. More...
class  PFHEstimation
 PFHEstimation estimates the Point Feature Histogram (PFH) descriptor for a given point cloud dataset containing points and normals. More...
class  PFHEstimation< PointInT, PointNT, Eigen::MatrixXf >
 PFHEstimation estimates the Point Feature Histogram (PFH) descriptor for a given point cloud dataset containing points and normals. More...
class  PFHRGBEstimation
class  PPFEstimation
 Class that calculates the "surflet" features for each pair in the given pointcloud. More...
class  PPFEstimation< PointInT, PointNT, Eigen::MatrixXf >
 Class that calculates the "surflet" features for each pair in the given pointcloud. More...
class  PPFRGBEstimation
class  PPFRGBRegionEstimation
class  PrincipalCurvaturesEstimation
 PrincipalCurvaturesEstimation estimates the directions (eigenvectors) and magnitudes (eigenvalues) of principal surface curvatures for a given point cloud dataset containing points and normals. More...
class  PrincipalCurvaturesEstimation< PointInT, PointNT, Eigen::MatrixXf >
 PrincipalCurvaturesEstimation estimates the directions (eigenvectors) and magnitudes (eigenvalues) of principal surface curvatures for a given point cloud dataset containing points and normals. More...
class  RangeImageBorderExtractor
 Extract obstacle borders from range images, meaning positions where there is a transition from foreground to background. More...
class  RIFTEstimation
 RIFTEstimation estimates the Rotation Invariant Feature Transform descriptors for a given point cloud dataset containing points and intensity. More...
class  RIFTEstimation< PointInT, GradientT, Eigen::MatrixXf >
 RIFTEstimation estimates the Rotation Invariant Feature Transform descriptors for a given point cloud dataset containing points and intensity. More...
class  RSDEstimation
 RSDEstimation estimates the Radius-based Surface Descriptor (minimal and maximal radius of the local surface's curves) for a given point cloud dataset containing points and normals. More...
class  SHOTEstimationBase
 SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals. More...
class  SHOTEstimationBase< PointInT, PointNT, Eigen::MatrixXf >
 SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals. More...
class  SHOTEstimation
 SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals. More...
class  SHOTEstimation< PointInT, PointNT, Eigen::MatrixXf >
 SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals. More...
class  SHOTEstimation< pcl::PointXYZRGBA, PointNT, PointOutT >
 SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals. More...
class  SHOTEstimation< pcl::PointXYZRGBA, PointNT, Eigen::MatrixXf >
 SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals. More...
class  SHOTEstimationOMP
 SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals, in parallel, using the OpenMP standard. More...
class  SHOTEstimationOMP< pcl::PointXYZRGBA, PointNT, PointOutT >
class  SpinImageEstimation
 Estimates spin-image descriptors in the given input points. More...
class  SpinImageEstimation< PointInT, PointNT, Eigen::MatrixXf >
 Estimates spin-image descriptors in the given input points. More...
class  StatisticalMultiscaleInterestRegionExtraction
 Class for extracting interest regions from unstructured point clouds, based on a multi scale statistical approach. More...
class  UniqueShapeContext
 UniqueShapeContext implements the Unique Shape Descriptor described here: More...
class  UniqueShapeContext< PointInT, Eigen::MatrixXf >
 UniqueShapeContext implements the Unique Shape Descriptor described here: More...
class  VFHEstimation
 VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud dataset containing points and normals. More...
struct  he
struct  xNdCopyEigenPointFunctor
 Helper functor structure for copying data between an Eigen::VectorXf and a PointT. More...
struct  xNdCopyPointEigenFunctor
 Helper functor structure for copying data between an Eigen::VectorXf and a PointT. More...
class  ApproximateVoxelGrid
 ApproximateVoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  BilateralFilter
 A bilateral filter implementation for point cloud data. More...
class  Clipper3D
 Base class for 3D clipper objects. More...
class  PointDataAtOffset
 A datatype that enables type-correct comparisons. More...
class  ComparisonBase
 The (abstract) base class for the comparison object. More...
class  FieldComparison
 The field-based specialization of the comparison object. More...
class  PackedRGBComparison
 A packed rgb specialization of the comparison object. More...
class  PackedHSIComparison
 A packed HSI specialization of the comparison object. More...
class  ConditionBase
 Base condition class. More...
class  ConditionAnd
 AND condition. More...
class  ConditionOr
 OR condition. More...
class  ConditionalRemoval
 ConditionalRemoval filters data that satisfies certain conditions. More...
class  CropBox
 CropBox is a filter that allows the user to filter all the data inside of a given box. More...
class  CropBox< sensor_msgs::PointCloud2 >
 CropBox is a filter that allows the user to filter all the data inside of a given box. More...
class  CropHull
 Filter points that lie inside or outside a 3D closed surface or 2D closed polygon, as generated by the ConvexHull or ConcaveHull classes. More...
class  ExtractIndices
 ExtractIndices extracts a set of indices from a PointCloud as a separate PointCloud. More...
class  ExtractIndices< sensor_msgs::PointCloud2 >
 ExtractIndices extracts a set of indices from a PointCloud as a separate PointCloud. More...
class  Filter
 Filter represents the base filter class. More...
class  Filter< sensor_msgs::PointCloud2 >
 Filter represents the base filter class. More...
class  FilterIndices
 Filter represents the base filter class. More...
class  FilterIndices< sensor_msgs::PointCloud2 >
 FilterIndices represents the base filter with indices class. More...
class  NormalSpaceSampling
 NormalSpaceSampling samples the input point cloud in the space of normal directions computed at every point. More...
class  PassThrough
 PassThrough uses the base Filter class methods to pass through all data that satisfies the user given constraints. More...
class  PassThrough< sensor_msgs::PointCloud2 >
 PassThrough uses the base Filter class methods to pass through all data that satisfies the user given constraints. More...
class  PlaneClipper3D
 Implementation of a plane clipper in 3D. More...
class  ProjectInliers
 ProjectInliers uses a model and a set of inlier indices from a PointCloud to project them into a separate PointCloud. More...
class  ProjectInliers< sensor_msgs::PointCloud2 >
 ProjectInliers uses a model and a set of inlier indices from a PointCloud to project them into a separate PointCloud. More...
class  RadiusOutlierRemoval
 RadiusOutlierRemoval is a simple filter that removes outliers if the number of neighbors in a certain search radius is smaller than a given K. More...
class  RadiusOutlierRemoval< sensor_msgs::PointCloud2 >
 RadiusOutlierRemoval is a simple filter that removes outliers if the number of neighbors in a certain search radius is smaller than a given K. More...
class  RandomSample
 RandomSample applies a random sampling with uniform probability. More...
class  RandomSample< sensor_msgs::PointCloud2 >
 RandomSample applies a random sampling with uniform probability. More...
class  StatisticalOutlierRemoval
 StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data. More...
class  StatisticalOutlierRemoval< sensor_msgs::PointCloud2 >
 StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data. More...
class  VoxelGrid
 VoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  VoxelGrid< sensor_msgs::PointCloud2 >
 VoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  AdaptiveRangeCoder
 AdaptiveRangeCoder compression class More...
class  StaticRangeCoder
 StaticRangeCoder compression class More...
class  FileReader
 Point Cloud Data (FILE) file format reader interface. More...
class  FileWriter
 Point Cloud Data (FILE) file format writer. More...
class  Grabber
 Grabber interface for PCL 1.x device drivers. More...
class  ONIGrabber
class  OpenNIGrabber
 Grabber for OpenNI devices (i.e., Primesense PSDK, Microsoft Kinect, Asus XTion Pro/Live). More...
class  PCDGrabberBase
 Base class for PCD file grabber. More...
class  PCDGrabber
class  PCDReader
 Point Cloud Data (PCD) file format reader. More...
class  PCDWriter
 Point Cloud Data (PCD) file format writer. More...
class  PCLIOException
 Base exception class for I/O operations. More...
class  PLYReader
 Point Cloud Data (PLY) file format reader. More...
class  PLYWriter
 Point Cloud Data (PLY) file format writer. More...
class  KdTree
 KdTree represents the base spatial locator class for kd-tree implementations. More...
class  KdTreeFLANN
 KdTreeFLANN is a generic type of 3D spatial locator using kD-tree structures. More...
class  KdTreeFLANN< Eigen::MatrixXf >
 KdTreeFLANN is a generic type of 3D spatial locator using kD-tree structures. More...
class  HarrisKeypoint3D
 HarrisKeypoint3D uses the idea of 2D Harris keypoints, but instead of using image gradients, it uses surface normals. More...
class  Keypoint
 Keypoint represents the base class for key points. More...
class  NarfKeypoint
 NARF (Normal Aligned Radial Feature) keypoints. More...
struct  SIFTKeypointFieldSelector
struct  SIFTKeypointFieldSelector< PointNormal >
struct  SIFTKeypointFieldSelector< PointXYZRGB >
struct  SIFTKeypointFieldSelector< PointXYZRGBA >
class  SIFTKeypoint
 SIFTKeypoint detects the Scale Invariant Feature Transform keypoints for a given point cloud dataset containing points and intensity. More...
class  SmoothedSurfacesKeypoint
 Based on the paper: Xinju Li and Igor Guskov Multi-scale features for approximate alignment of point-based surfaces Proceedings of the third Eurographics symposium on Geometry processing July 2005, Vienna, Austria. More...
class  UniformSampling
 UniformSampling assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  SolverDidntConvergeException
 An exception that is thrown when the non linear solver didn't converge. More...
class  NotEnoughPointsException
 An exception that is thrown when the number of correspondants is not equal to the minimum required. More...
class  GeneralizedIterativeClosestPoint
 GeneralizedIterativeClosestPoint is an ICP variant that implements the generalized iterative closest point algorithm as described by Alex Segal et al. More...
class  SampleConsensusInitialAlignment
 SampleConsensusInitialAlignment is an implementation of the initial alignment algorithm described in section IV of "Fast Point Feature Histograms (FPFH) for 3D Registration," Rusu et al. More...
class  IterativeClosestPoint
 IterativeClosestPoint provides a base implementation of the Iterative Closest Point algorithm. More...
class  IterativeClosestPointNonLinear
 IterativeClosestPointNonLinear is an ICP variant that uses Levenberg-Marquardt optimization backend. More...
class  PPFHashMapSearch
class  PPFRegistration
 Class that registers two point clouds based on their sets of PPFSignatures. More...
class  PyramidFeatureHistogram
 Class that compares two sets of features by using a multiscale representation of the features inside a pyramid. More...
class  Registration
 Registration represents the base registration class. More...
class  WarpPointRigid
class  WarpPointRigid3D
class  WarpPointRigid6D
class  LeastMedianSquares
 LeastMedianSquares represents an implementation of the LMedS (Least Median of Squares) algorithm. More...
class  MaximumLikelihoodSampleConsensus
 MaximumLikelihoodSampleConsensus represents an implementation of the MLESAC (Maximum Likelihood Estimator SAmple Consensus) algorithm, as described in: "MLESAC: A new robust estimator with application to estimating image geometry", P.H.S. More...
class  MEstimatorSampleConsensus
 MEstimatorSampleConsensus represents an implementation of the MSAC (M-estimator SAmple Consensus) algorithm, as described in: "MLESAC: A new robust estimator with application to estimating image geometry", P.H.S. More...
class  ProgressiveSampleConsensus
 RandomSampleConsensus represents an implementation of the RANSAC (RAndom SAmple Consensus) algorithm, as described in: "Matching with PROSAC – Progressive Sample Consensus", Chum, O. More...
class  RandomSampleConsensus
 RandomSampleConsensus represents an implementation of the RANSAC (RAndom SAmple Consensus) algorithm, as described in: "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography", Martin A. More...
class  RandomizedMEstimatorSampleConsensus
 RandomizedMEstimatorSampleConsensus represents an implementation of the RMSAC (Randomized M-estimator SAmple Consensus) algorithm, which basically adds a Td,d test (see RandomizedRandomSampleConsensus) to an MSAC estimator (see MEstimatorSampleConsensus). More...
class  RandomizedRandomSampleConsensus
 RandomizedRandomSampleConsensus represents an implementation of the RRANSAC (Randomized RAndom SAmple Consensus), as described in "Randomized RANSAC with Td,d test", O. More...
class  SampleConsensus
 SampleConsensus represents the base class. More...
class  SampleConsensusModel
 SampleConsensusModel represents the base model class. More...
class  SampleConsensusModelFromNormals
 SampleConsensusModelFromNormals represents the base model class for models that require the use of surface normals for estimation. More...
struct  Functor
 Base functor all the models that need non linear optimization must define their own one and implement operator() (const Eigen::VectorXd& x, Eigen::VectorXd& fvec) or operator() (const Eigen::VectorXf& x, Eigen::VectorXf& fvec) dependening on the choosen _Scalar. More...
class  SampleConsensusModelCircle2D
 SampleConsensusModelCircle2D defines a model for 2D circle segmentation on the X-Y plane. More...
class  SampleConsensusModelCylinder
 SampleConsensusModelCylinder defines a model for 3D cylinder segmentation. More...
class  SampleConsensusModelLine
 SampleConsensusModelLine defines a model for 3D line segmentation. More...
class  SampleConsensusModelNormalParallelPlane
 SampleConsensusModelNormalParallelPlane defines a model for 3D plane segmentation using additional surface normal constraints. More...
class  SampleConsensusModelNormalPlane
 SampleConsensusModelNormalPlane defines a model for 3D plane segmentation using additional surface normal constraints. More...
class  SampleConsensusModelParallelLine
 SampleConsensusModelParallelLine defines a model for 3D line segmentation using additional angular constraints. More...
class  SampleConsensusModelParallelPlane
 SampleConsensusModelParallelPlane defines a model for 3D plane segmentation using additional angular constraints. More...
class  SampleConsensusModelPerpendicularPlane
 SampleConsensusModelPerpendicularPlane defines a model for 3D plane segmentation using additional angular constraints. More...
class  SampleConsensusModelPlane
 SampleConsensusModelPlane defines a model for 3D plane segmentation. More...
class  SampleConsensusModelRegistration
 SampleConsensusModelRegistration defines a model for Point-To-Point registration outlier rejection. More...
class  SampleConsensusModelSphere
 SampleConsensusModelSphere defines a model for 3D sphere segmentation. More...
class  SampleConsensusModelStick
 SampleConsensusModelStick defines a model for 3D stick segmentation. More...
class  EuclideanClusterExtraction
 EuclideanClusterExtraction represents a segmentation class for cluster extraction in an Euclidean sense. More...
class  LabeledEuclideanClusterExtraction
 LabeledEuclideanClusterExtraction represents a segmentation class for cluster extraction in an Euclidean sense, with label info. More...
class  ExtractPolygonalPrismData
 ExtractPolygonalPrismData uses a set of point indices that represent a planar model, and together with a given height, generates a 3D polygonal prism. More...
class  SACSegmentation
 SACSegmentation represents the Nodelet segmentation class for Sample Consensus methods and models, in the sense that it just creates a Nodelet wrapper for generic-purpose SAC-based segmentation. More...
class  SACSegmentationFromNormals
 SACSegmentationFromNormals represents the PCL nodelet segmentation class for Sample Consensus methods and models that require the use of surface normals for estimation. More...
class  SegmentDifferences
 SegmentDifferences obtains the difference between two spatially aligned point clouds and returns the difference between them for a maximum given distance threshold. More...
class  ConcaveHull
 ConcaveHull (alpha shapes) using libqhull library. More...
class  ConvexHull
 ConvexHull using libqhull library. More...
class  EarClipping
 The ear clipping triangulation algorithm. More...
struct  SearchPoint
class  GreedyProjectionTriangulation
 GreedyProjectionTriangulation is an implementation of a greedy triangulation algorithm for 3D points based on local 2D projections. More...
class  GridProjection
 Grid projection surface reconstruction method. More...
class  MarchingCubes
 The marching cubes surface reconstruction algorithm. More...
class  MarchingCubesGreedy
 The marching cubes surface reconstruction algorithm, using a "greedy" voxelization algorithm. More...
class  MarchingCubesGreedyDot
 The marching cubes surface reconstruction algorithm, using a "greedy" voxelization algorithm combined with a dot product, to remove the double surface effect. More...
class  MovingLeastSquares
 MovingLeastSquares represent an implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation. More...
class  MovingLeastSquaresOMP
 MovingLeastSquaresOMP represent an OpenMP implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation. More...
class  OrganizedFastMesh
 Simple triangulation/surface reconstruction for organized point clouds. More...
class  MeshProcessing
 MeshProcessing represents the base class for mesh processing algorithms. More...
class  PCLSurfaceBase
 Pure abstract class. More...
class  SurfaceReconstruction
 SurfaceReconstruction represents a base surface reconstruction class. More...
class  MeshConstruction
 MeshConstruction represents a base surface reconstruction class. More...
class  SurfelSmoothing
class  TextureMapping
 The texture mapping algorithm. More...
class  MeshSmoothingLaplacianVTK
 PCL mesh smoothing based on the vtkSmoothPolyDataFilter algorithm from the VTK library. More...
class  MeshSmoothingWindowedSincVTK
 PCL mesh smoothing based on the vtkWindowedSincPolyDataFilter algorithm from the VTK library. More...
class  MeshSubdivisionVTK
 PCL mesh smoothing based on the vtkLinearSubdivisionFilter, vtkLoopSubdivisionFilter, vtkButterflySubdivisionFilter depending on the selected MeshSubdivisionVTKFilterType algorithm from the VTK library. More...
class  VTKUtils
class  RegistrationVisualizer
 RegistrationVisualizer represents the base class for rendering the intermediate positions ocupied by the source point cloud during it's registration to the target point cloud. More...

Typedefs

typedef BivariatePolynomialT
< double > 
BivariatePolynomiald
typedef BivariatePolynomialT
< float > 
BivariatePolynomial
typedef
PolynomialCalculationsT
< double > 
PolynomialCalculationsd
typedef
PolynomialCalculationsT< float > 
PolynomialCalculations
typedef VectorAverage< float, 2 > VectorAverage2f
typedef VectorAverage< float, 3 > VectorAverage3f
typedef VectorAverage< float, 4 > VectorAverage4f
typedef std::vector
< pcl::Correspondence,
Eigen::aligned_allocator
< pcl::Correspondence > > 
Correspondences
typedef boost::shared_ptr
< Correspondences
CorrespondencesPtr
typedef boost::shared_ptr
< const Correspondences
CorrespondencesConstPtr
typedef std::vector
< PointCorrespondence3D,
Eigen::aligned_allocator
< PointCorrespondence3D > > 
PointCorrespondences3DVector
typedef std::vector
< PointCorrespondence6D,
Eigen::aligned_allocator
< PointCorrespondence6D > > 
PointCorrespondences6DVector
typedef Eigen::Map
< Eigen::Array3f > 
Array3fMap
typedef const Eigen::Map
< const Eigen::Array3f > 
Array3fMapConst
typedef Eigen::Map
< Eigen::Array4f,
Eigen::Aligned > 
Array4fMap
typedef const Eigen::Map
< const Eigen::Array4f,
Eigen::Aligned > 
Array4fMapConst
typedef Eigen::Map
< Eigen::Vector3f > 
Vector3fMap
typedef const Eigen::Map
< const Eigen::Vector3f > 
Vector3fMapConst
typedef Eigen::Map
< Eigen::Vector4f,
Eigen::Aligned > 
Vector4fMap
typedef const Eigen::Map
< const Eigen::Vector4f,
Eigen::Aligned > 
Vector4fMapConst
typedef boost::shared_ptr
< ::pcl::ModelCoefficients
ModelCoefficientsPtr
typedef boost::shared_ptr
< ::pcl::ModelCoefficients
const > 
ModelCoefficientsConstPtr
typedef boost::shared_ptr
< std::vector< int > > 
IndicesPtr
typedef boost::shared_ptr
< const std::vector< int > > 
IndicesConstPtr
typedef std::vector
< detail::FieldMapping
MsgFieldMap
typedef std::bitset< 32 > BorderTraits
 Data type to store extended information about a transition from foreground to backgroundSpecification of the fields for BorderDescription::traits.
typedef boost::shared_ptr
< ::pcl::PointIndices
PointIndicesPtr
typedef boost::shared_ptr
< ::pcl::PointIndices const > 
PointIndicesConstPtr
typedef boost::shared_ptr
< ::pcl::PolygonMesh
PolygonMeshPtr
typedef boost::shared_ptr
< ::pcl::PolygonMesh const > 
PolygonMeshConstPtr
typedef boost::shared_ptr
< pcl::TextureMesh
TextureMeshPtr
typedef boost::shared_ptr
< pcl::TextureMesh const > 
TextureMeshConstPtr
typedef boost::shared_ptr
< Vertices
VerticesPtr
typedef boost::shared_ptr
< Vertices const > 
VerticesConstPtr

Enumerations

enum  NormType {
  L1, L2_SQR, L2, LINF,
  JM, B, SUBLINEAR, CS,
  DIV, PF, K, KL,
  HIK
}
 

Enum that defines all the types of norms available.

More...
enum  BorderTrait {
  BORDER_TRAIT__OBSTACLE_BORDER, BORDER_TRAIT__SHADOW_BORDER, BORDER_TRAIT__VEIL_POINT, BORDER_TRAIT__SHADOW_BORDER_TOP,
  BORDER_TRAIT__SHADOW_BORDER_RIGHT, BORDER_TRAIT__SHADOW_BORDER_BOTTOM, BORDER_TRAIT__SHADOW_BORDER_LEFT, BORDER_TRAIT__OBSTACLE_BORDER_TOP,
  BORDER_TRAIT__OBSTACLE_BORDER_RIGHT, BORDER_TRAIT__OBSTACLE_BORDER_BOTTOM, BORDER_TRAIT__OBSTACLE_BORDER_LEFT, BORDER_TRAIT__VEIL_POINT_TOP,
  BORDER_TRAIT__VEIL_POINT_RIGHT, BORDER_TRAIT__VEIL_POINT_BOTTOM, BORDER_TRAIT__VEIL_POINT_LEFT
}
 

Specification of the fields for BorderDescription::traits.

More...
enum  SacModel {
  SACMODEL_PLANE, SACMODEL_LINE, SACMODEL_CIRCLE2D, SACMODEL_CIRCLE3D,
  SACMODEL_SPHERE, SACMODEL_CYLINDER, SACMODEL_CONE, SACMODEL_TORUS,
  SACMODEL_PARALLEL_LINE, SACMODEL_PERPENDICULAR_PLANE, SACMODEL_PARALLEL_LINES, SACMODEL_NORMAL_PLANE,
  SACMODEL_REGISTRATION, SACMODEL_PARALLEL_PLANE, SACMODEL_NORMAL_PARALLEL_PLANE, SACMODEL_STICK
}

Functions

template<typename PointT >
pcl::PointCloud
< pcl::VFHSignature308 >::Ptr 
computeVFH (typename PointCloud< PointT >::ConstPtr cloud, double radius)
 Helper function to extract the VFH feature describing the given point cloud.
float rad2deg (float alpha)
 Convert an angle from radians to degrees.
float deg2rad (float alpha)
 Convert an angle from degrees to radians.
double rad2deg (double alpha)
 Convert an angle from radians to degrees.
double deg2rad (double alpha)
 Convert an angle from degrees to radians.
template<typename real >
real normAngle (real alpha)
 Normalize an angle to (-PI, PI].
template<typename real >
std::ostream & operator<< (std::ostream &os, const BivariatePolynomialT< real > &p)
template<typename PointT >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4f &centroid)
 Compute the 3D (X-Y-Z) centroid of a set of points and return it as a 3D vector.
template<typename PointT >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Vector4f &centroid)
 Compute the 3D (X-Y-Z) centroid of a set of points using their indices and return it as a 3D vector.
template<typename PointT >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Vector4f &centroid)
 Compute the 3D (X-Y-Z) centroid of a set of points using their indices and return it as a 3D vector.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
 Compute the 3x3 covariance matrix of a given set of points.
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
 Compute normalized the 3x3 covariance matrix of a given set of points.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
 Compute the 3x3 covariance matrix of a given set of points using their indices.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
 Compute the 3x3 covariance matrix of a given set of points using their indices.
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
 Compute the normalized 3x3 covariance matrix of a given set of points using their indices.
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
 Compute the normalized 3x3 covariance matrix of a given set of points using their indices.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3f &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3f &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3f &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3d &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3d &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3d &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud.
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out)
 Subtract a centroid from a point cloud and return the de-meaned representation.
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out)
 Subtract a centroid from a point cloud and return the de-meaned representation.
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out)
 Subtract a centroid from a point cloud and return the de-meaned representation as an Eigen matrix.
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, const Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out)
 Subtract a centroid from a point cloud and return the de-meaned representation as an Eigen matrix.
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out)
 Subtract a centroid from a point cloud and return the de-meaned representation as an Eigen matrix.
template<typename PointT >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::VectorXf &centroid)
 General, all purpose nD centroid estimation for a set of points using their indices.
template<typename PointT >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::VectorXf &centroid)
 General, all purpose nD centroid estimation for a set of points using their indices.
template<typename PointT >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::VectorXf &centroid)
 General, all purpose nD centroid estimation for a set of points using their indices.
double getAngle3D (const Eigen::Vector4f &v1, const Eigen::Vector4f &v2)
 Compute the smallest angle between two vectors in the [ 0, PI ) interval in 3D.
void getMeanStd (const std::vector< float > &values, double &mean, double &stddev)
 Compute both the mean and the standard deviation of an array of values.
template<typename PointT >
void getPointsInBox (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4f &min_pt, Eigen::Vector4f &max_pt, std::vector< int > &indices)
 Get a set of points residing in a box given its bounds.
template<typename PointT >
void getMaxDistance (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &pivot_pt, Eigen::Vector4f &max_pt)
 Get the point at maximum distance from a given point and a given pointcloud.
template<typename PointT >
void getMaxDistance (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4f &pivot_pt, Eigen::Vector4f &max_pt)
 Get the point at maximum distance from a given point and a given pointcloud.
template<typename PointT >
void getMinMax3D (const pcl::PointCloud< PointT > &cloud, PointT &min_pt, PointT &max_pt)
 Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud.
template<typename PointT >
void getMinMax3D (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4f &min_pt, Eigen::Vector4f &max_pt)
 Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud.
template<typename PointT >
void getMinMax3D (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Vector4f &min_pt, Eigen::Vector4f &max_pt)
 Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud.
template<typename PointT >
void getMinMax3D (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Vector4f &min_pt, Eigen::Vector4f &max_pt)
 Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud.
template<typename PointT >
double getCircumcircleRadius (const PointT &pa, const PointT &pb, const PointT &pc)
 Compute the radius of a circumscribed circle for a triangle formed of three points pa, pb, and pc.
template<typename PointT >
void getMinMax (const PointT &histogram, int len, float &min_p, float &max_p)
 Get the minimum and maximum values on a point histogram.
PCL_EXPORTS void getMinMax (const sensor_msgs::PointCloud2 &cloud, int idx, const std::string &field_name, float &min_p, float &max_p)
 Get the minimum and maximum values on a point histogram.
PCL_EXPORTS void getMeanStdDev (const std::vector< float > &values, double &mean, double &stddev)
 Compute both the mean and the standard deviation of an array of values.
PCL_EXPORTS void lineToLineSegment (const Eigen::VectorXf &line_a, const Eigen::VectorXf &line_b, Eigen::Vector4f &pt1_seg, Eigen::Vector4f &pt2_seg)
 Get the shortest 3D segment between two 3D lines.
double sqrPointToLineDistance (const Eigen::Vector4f &pt, const Eigen::Vector4f &line_pt, const Eigen::Vector4f &line_dir)
 Get the square distance from a point to a line (represented by a point and a direction).
double sqrPointToLineDistance (const Eigen::Vector4f &pt, const Eigen::Vector4f &line_pt, const Eigen::Vector4f &line_dir, const double sqr_length)
 Get the square distance from a point to a line (represented by a point and a direction).
template<typename PointT >
double getMaxSegment (const pcl::PointCloud< PointT > &cloud, PointT &pmin, PointT &pmax)
 Obtain the maximum segment in a given set of points, and return the minimum and maximum points.
template<typename PointT >
double getMaxSegment (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, PointT &pmin, PointT &pmax)
 Obtain the maximum segment in a given set of points, and return the minimum and maximum points.
template<typename PointType1 , typename PointType2 >
float squaredEuclideanDistance (const PointType1 &p1, const PointType2 &p2)
 Calculate the squared euclidean distance between the two given points.
template<typename PointType1 , typename PointType2 >
float euclideanDistance (const PointType1 &p1, const PointType2 &p2)
 Calculate the euclidean distance between the two given points.
template<typename Scalar , typename Roots >
void computeRoots2 (const Scalar &b, const Scalar &c, Roots &roots)
 Compute the roots of a quadratic polynom x^2 + b*x + c = 0.
template<typename Matrix , typename Roots >
void computeRoots (const Matrix &m, Roots &roots)
 computes the roots of the characteristic polynomial of the input matrix m, which are the eigenvalues
template<typename Matrix , typename Vector >
void eigen22 (const Matrix &mat, typename Matrix::Scalar &eigenvalue, Vector &eigenvector)
 determine the smallest eigenvalue and its corresponding eigenvector
template<typename Matrix , typename Vector >
void eigen22 (const Matrix &mat, Matrix &eigenvectors, Vector &eigenvalues)
 determine the smallest eigenvalue and its corresponding eigenvector
template<typename Matrix , typename Vector >
void computeCorrespondingEigenVector (const Matrix &mat, const typename Matrix::Scalar &eigenvalue, Vector &eigenvector)
 determines the corresponding eigenvector to the given eigenvalue of the symmetric positive semi definite input matrix
template<typename Matrix , typename Vector >
void eigen33 (const Matrix &mat, typename Matrix::Scalar &eigenvalue, Vector &eigenvector)
 determines the eigenvector and eigenvalue of the smallest eigenvalue of the symmetric positive semi definite input matrix
template<typename Matrix , typename Vector >
void eigen33 (const Matrix &mat, Vector &evals)
 determines the eigenvalues of the symmetric positive semi definite input matrix
template<typename Matrix , typename Vector >
void eigen33 (const Matrix &mat, Matrix &evecs, Vector &evals)
 determines the eigenvalues and corresponding eigenvectors of the symmetric positive semi definite input matrix
template<typename Matrix >
Matrix::Scalar invert2x2 (const Matrix &matrix, Matrix &inverse)
 calculates the inverse of a 2x2 matrix
template<typename Matrix >
Matrix::Scalar invert3x3SymMatrix (const Matrix &matrix, Matrix &inverse)
 calculates the inverse of a 3x3 symmetric matrix.
template<typename Matrix >
Matrix::Scalar invert3x3Matrix (const Matrix &matrix, Matrix &inverse)
 calculates the inverse of a general 3x3 matrix.
template<typename Matrix >
Matrix::Scalar determinant3x3Matrix (const Matrix &matrix)
void getTransFromUnitVectorsZY (const Eigen::Vector3f &z_axis, const Eigen::Vector3f &y_direction, Eigen::Affine3f &transformation)
 Get the unique 3D rotation that will rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis).
Eigen::Affine3f getTransFromUnitVectorsZY (const Eigen::Vector3f &z_axis, const Eigen::Vector3f &y_direction)
 Get the unique 3D rotation that will rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis).
void getTransFromUnitVectorsXY (const Eigen::Vector3f &x_axis, const Eigen::Vector3f &y_direction, Eigen::Affine3f &transformation)
 Get the unique 3D rotation that will rotate x_axis into (1,0,0) and y_direction into a vector with z=0 (or into (0,1,0) should y_direction be orthogonal to z_axis).
Eigen::Affine3f getTransFromUnitVectorsXY (const Eigen::Vector3f &x_axis, const Eigen::Vector3f &y_direction)
 Get the unique 3D rotation that will rotate x_axis into (1,0,0) and y_direction into a vector with z=0 (or into (0,1,0) should y_direction be orthogonal to z_axis).
void getTransformationFromTwoUnitVectors (const Eigen::Vector3f &y_direction, const Eigen::Vector3f &z_axis, Eigen::Affine3f &transformation)
 Get the unique 3D rotation that will rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis).
Eigen::Affine3f getTransformationFromTwoUnitVectors (const Eigen::Vector3f &y_direction, const Eigen::Vector3f &z_axis)
 Get the unique 3D rotation that will rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis).
void getTransformationFromTwoUnitVectorsAndOrigin (const Eigen::Vector3f &y_direction, const Eigen::Vector3f &z_axis, const Eigen::Vector3f &origin, Eigen::Affine3f &transformation)
 Get the transformation that will translate orign to (0,0,0) and rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis).
void getEulerAngles (const Eigen::Affine3f &t, float &roll, float &pitch, float &yaw)
 Extract the Euler angles (XYZ-convention) from the given transformation.
void getTranslationAndEulerAngles (const Eigen::Affine3f &t, float &x, float &y, float &z, float &roll, float &pitch, float &yaw)
 Extract x,y,z and the Euler angles (XYZ-convention) from the given transformation.
void getTransformation (float x, float y, float z, float roll, float pitch, float yaw, Eigen::Affine3f &t)
 Create a transformation from the given translation and Euler angles (XYZ-convention).
Eigen::Affine3f getTransformation (float x, float y, float z, float roll, float pitch, float yaw)
 Create a transformation from the given translation and Euler angles (XYZ-convention).
template<typename Derived >
void saveBinary (const Eigen::MatrixBase< Derived > &matrix, std::ostream &file)
 Write a matrix to an output stream.
template<typename Derived >
void loadBinary (Eigen::MatrixBase< Derived > const &matrix, std::istream &file)
 Read a matrix from an input stream.
void getAllPcdFilesInDirectory (const std::string &directory, std::vector< std::string > &file_names)
 Find all *.pcd files in the directory and return them sorted.
std::string getFilenameWithoutPath (const std::string &input)
 Remove the path from the given string and return only the filename (the remaining string after the last '/').
std::string getFilenameWithoutExtension (const std::string &input)
 Remove the extension from the given string and return only the filename (everything before the last '.
std::string getFileExtension (const std::string &input)
 Get the file extension from the given string (the remaining string after the last '.
template<typename FloatVectorT >
float selectNorm (FloatVectorT A, FloatVectorT B, int dim, NormType norm_type)
 Method that calculates any norm type available, based on the norm_type variable.
template<typename FloatVectorT >
float L1_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the L1 norm of the vector between two points.
template<typename FloatVectorT >
float L2_Norm_SQR (FloatVectorT A, FloatVectorT B, int dim)
 Compute the squared L2 norm of the vector between two points.
template<typename FloatVectorT >
float L2_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the L2 norm of the vector between two points.
template<typename FloatVectorT >
float Linf_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the L-infinity norm of the vector between two points.
template<typename FloatVectorT >
float JM_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the JM norm of the vector between two points.
template<typename FloatVectorT >
float B_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the B norm of the vector between two points.
template<typename FloatVectorT >
float Sublinear_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the sublinear norm of the vector between two points.
template<typename FloatVectorT >
float CS_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the CS norm of the vector between two points.
template<typename FloatVectorT >
float Div_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the div norm of the vector between two points.
template<typename FloatVectorT >
float PF_Norm (FloatVectorT A, FloatVectorT B, int dim, float P1, float P2)
 Compute the PF norm of the vector between two points.
template<typename FloatVectorT >
float K_Norm (FloatVectorT A, FloatVectorT B, int dim, float P1, float P2)
 Compute the K norm of the vector between two points.
template<typename FloatVectorT >
float KL_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the KL between two discrete probability density functions.
template<typename FloatVectorT >
float HIK_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the HIK norm of the vector between two points.
PCL_EXPORTS bool lineWithLineIntersection (const Eigen::VectorXf &line_a, const Eigen::VectorXf &line_b, Eigen::Vector4f &point, double sqr_eps=1e-4)
 Get the intersection of a two 3D lines in space as a 3D point.
PCL_EXPORTS bool lineWithLineIntersection (const pcl::ModelCoefficients &line_a, const pcl::ModelCoefficients &line_b, Eigen::Vector4f &point, double sqr_eps=1e-4)
 Get the intersection of a two 3D lines in space as a 3D point.
int getFieldIndex (const sensor_msgs::PointCloud2 &cloud, const std::string &field_name)
 Get the index of a specified field (i.e., dimension/channel).
template<typename PointT >
int getFieldIndex (const pcl::PointCloud< PointT > &cloud, const std::string &field_name, std::vector< sensor_msgs::PointField > &fields)
 Get the index of a specified field (i.e., dimension/channel).
template<typename PointT >
void getFields (const pcl::PointCloud< PointT > &cloud, std::vector< sensor_msgs::PointField > &fields)
 Get the list of available fields (i.e., dimension/channel).
template<typename PointT >
std::string getFieldsList (const pcl::PointCloud< PointT > &cloud)
 Get the list of all fields available in a given cloud.
std::string getFieldsList (const sensor_msgs::PointCloud2 &cloud)
 Get the available point cloud fields as a space separated string.
int getFieldSize (const int datatype)
 Obtains the size of a specific field data type in bytes.
PCL_EXPORTS void getFieldsSizes (const std::vector< sensor_msgs::PointField > &fields, std::vector< int > &field_sizes)
 Obtain a vector with the sizes of all valid fields (e.g., not "_").
int getFieldType (const int size, char type)
 Obtains the type of the PointField from a specific size and type.
char getFieldType (const int type)
 Obtains the type of the PointField from a specific PointField as a char.
template<typename PointInT , typename PointOutT >
void copyPointCloud (const pcl::PointCloud< PointInT > &cloud_in, pcl::PointCloud< PointOutT > &cloud_out)
 Copy all the fields from a given point cloud into a new point cloud.
PCL_EXPORTS bool concatenatePointCloud (const sensor_msgs::PointCloud2 &cloud1, const sensor_msgs::PointCloud2 &cloud2, sensor_msgs::PointCloud2 &cloud_out)
 Concatenate two sensor_msgs::PointCloud2.
PCL_EXPORTS void copyPointCloud (const sensor_msgs::PointCloud2 &cloud_in, const std::vector< int > &indices, sensor_msgs::PointCloud2 &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointT >
void copyPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointT >
void copyPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int, Eigen::aligned_allocator< int > > &indices, pcl::PointCloud< PointT > &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointInT , typename PointOutT >
void copyPointCloud (const pcl::PointCloud< PointInT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointOutT > &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointInT , typename PointOutT >
void copyPointCloud (const pcl::PointCloud< PointInT > &cloud_in, const std::vector< int, Eigen::aligned_allocator< int > > &indices, pcl::PointCloud< PointOutT > &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointT >
void copyPointCloud (const pcl::PointCloud< PointT > &cloud_in, const PointIndices &indices, pcl::PointCloud< PointT > &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointInT , typename PointOutT >
void copyPointCloud (const pcl::PointCloud< PointInT > &cloud_in, const PointIndices &indices, pcl::PointCloud< PointOutT > &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointT >
void copyPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< pcl::PointIndices > &indices, pcl::PointCloud< PointT > &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointInT , typename PointOutT >
void copyPointCloud (const pcl::PointCloud< PointInT > &cloud_in, const std::vector< pcl::PointIndices > &indices, pcl::PointCloud< PointOutT > &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
template<typename PointIn1T , typename PointIn2T , typename PointOutT >
void concatenateFields (const pcl::PointCloud< PointIn1T > &cloud1_in, const pcl::PointCloud< PointIn2T > &cloud2_in, pcl::PointCloud< PointOutT > &cloud_out)
 Concatenate two datasets representing different fields.
PCL_EXPORTS bool concatenateFields (const sensor_msgs::PointCloud2 &cloud1_in, const sensor_msgs::PointCloud2 &cloud2_in, sensor_msgs::PointCloud2 &cloud_out)
 Concatenate two datasets representing different fields.
PCL_EXPORTS bool getPointCloudAsEigen (const sensor_msgs::PointCloud2 &in, Eigen::MatrixXf &out)
 Copy the XYZ dimensions of a sensor_msgs::PointCloud2 into Eigen format.
PCL_EXPORTS bool getEigenAsPointCloud (Eigen::MatrixXf &in, sensor_msgs::PointCloud2 &out)
 Copy the XYZ dimensions from an Eigen MatrixXf into a sensor_msgs::PointCloud2 message.
double getTime ()
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Affine3f &transform)
 Apply an affine transform defined by an Eigen Transform.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Affine3f &transform)
 Apply an affine transform defined by an Eigen Transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Affine3f &transform)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix4f &transform)
 Apply an affine transform defined by an Eigen Transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix4f &transform)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Vector3f &offset, const Eigen::Quaternionf &rotation)
 Apply a rigid transform defined by a 3D offset and a quaternion.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Vector3f &offset, const Eigen::Quaternionf &rotation)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
PointT transformPoint (const PointT &point, const Eigen::Affine3f &transform)
 Transform a point with members x,y,z.
std::ostream & operator<< (std::ostream &os, const Correspondence &c)
 overloaded << operator
void getRejectedQueryIndices (const pcl::Correspondences &correspondences_before, const pcl::Correspondences &correspondences_after, std::vector< int > &indices, bool presorting_required=true)
 Get the query points of correspondences that are present in one correspondence vector but not in the other, e.g., to compare correspondences before and after rejection.
bool isBetterCorrespondence (const Correspondence &pc1, const Correspondence &pc2)
 Comparator to enable us to sort a vector of PointCorrespondences according to their scores using std::sort (begin(), end(), isBetterCorrespondence);.
template<typename Sequence , typename F >
void for_each_type (F f)
std::ostream & operator<< (std::ostream &os, const PointXYZ &p)
std::ostream & operator<< (std::ostream &os, const PointXYZI &p)
std::ostream & operator<< (std::ostream &os, const PointXYZL &p)
std::ostream & operator<< (std::ostream &os, const Label &p)
std::ostream & operator<< (std::ostream &os, const PointXYZRGBA &p)
std::ostream & operator<< (std::ostream &os, const PointXYZRGB &p)
std::ostream & operator<< (std::ostream &os, const PointXYZRGBL &p)
std::ostream & operator<< (std::ostream &os, const PointXYZHSV &p)
std::ostream & operator<< (std::ostream &os, const PointXY &p)
std::ostream & operator<< (std::ostream &os, const InterestPoint &p)
std::ostream & operator<< (std::ostream &os, const Normal &p)
std::ostream & operator<< (std::ostream &os, const Axis &p)
std::ostream & operator<< (std::ostream &os, const _Axis &p)
std::ostream & operator<< (std::ostream &os, const PointNormal &p)
std::ostream & operator<< (std::ostream &os, const PointXYZRGBNormal &p)
std::ostream & operator<< (std::ostream &os, const PointXYZINormal &p)
std::ostream & operator<< (std::ostream &os, const PointWithRange &p)
std::ostream & operator<< (std::ostream &os, const PointWithViewpoint &p)
std::ostream & operator<< (std::ostream &os, const MomentInvariants &p)
std::ostream & operator<< (std::ostream &os, const PrincipalRadiiRSD &p)
std::ostream & operator<< (std::ostream &os, const Boundary &p)
std::ostream & operator<< (std::ostream &os, const PrincipalCurvatures &p)
std::ostream & operator<< (std::ostream &os, const PFHSignature125 &p)
std::ostream & operator<< (std::ostream &os, const PFHRGBSignature250 &p)
std::ostream & operator<< (std::ostream &os, const PPFSignature &p)
std::ostream & operator<< (std::ostream &os, const PPFRGBSignature &p)
std::ostream & operator<< (std::ostream &os, const NormalBasedSignature12 &p)
std::ostream & operator<< (std::ostream &os, const ShapeContext &p)
std::ostream & operator<< (std::ostream &os, const SHOT &p)
std::ostream & operator<< (std::ostream &os, const ReferenceFrame &p)
std::ostream & operator<< (std::ostream &os, const FPFHSignature33 &p)
std::ostream & operator<< (std::ostream &os, const VFHSignature308 &p)
std::ostream & operator<< (std::ostream &os, const GFPFHSignature16 &p)
std::ostream & operator<< (std::ostream &os, const Narf36 &p)
std::ostream & operator<< (std::ostream &os, const BorderDescription &p)
std::ostream & operator<< (std::ostream &os, const IntensityGradient &p)
template<int N>
std::ostream & operator<< (std::ostream &os, const Histogram< N > &p)
std::ostream & operator<< (std::ostream &os, const PointWithScale &p)
std::ostream & operator<< (std::ostream &os, const PointSurfel &p)
template<typename PointT >
bool isFinite (const PointT &pt)
 Tests if the 3D components of a point are all finite param[in] pt point to be tested.
template<>
bool isFinite< pcl::Normal > (const pcl::Normal &n)
template<typename PointT >
bool isFiniteFast (const PointT &pt)
 Fast version of isFinite tests only the first component param[in] pt point to be tested.
template<>
bool isFiniteFast< pcl::Normal > (const pcl::Normal &n)
std::ostream & operator<< (std::ostream &s, const ::pcl::ModelCoefficients &v)
template<typename PointT >
std::ostream & operator<< (std::ostream &s, const pcl::PointCloud< PointT > &p)
void PointXYZRGBtoXYZI (PointXYZRGB &in, PointXYZI &out)
 Convert a XYZRGB point type to a XYZI.
void PointXYZRGBtoXYZHSV (PointXYZRGB &in, PointXYZHSV &out)
 Convert a XYZRGB point type to a XYZHSV.
void PointXYZHSVtoXYZRGB (PointXYZHSV &in, PointXYZRGB &out)
 Convert a XYZHSV point type to a XYZRGB.
void PointCloudXYZRGBtoXYZHSV (PointCloud< PointXYZRGB > &in, PointCloud< PointXYZHSV > &out)
 Convert a XYZRGB point cloud to a XYZHSV.
void PointCloudXYZRGBtoXYZI (PointCloud< PointXYZRGB > &in, PointCloud< PointXYZI > &out)
 Convert a XYZRGB point cloud to a XYZI.
std::ostream & operator<< (std::ostream &s, const ::pcl::PointIndices &v)
std::ostream & operator<< (std::ostream &s, const ::pcl::PolygonMesh &v)
std::ostream & operator<< (std::ostream &os, const RangeImage &r)
 /ingroup range_image
template<typename PointT >
void createMapping (const std::vector< sensor_msgs::PointField > &msg_fields, MsgFieldMap &field_map)
template<typename PointT >
void fromROSMsg (const sensor_msgs::PointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map)
 Convert a PointCloud2 binary data blob into a pcl::PointCloud<T> object using a field_map.
template<typename PointT >
void fromROSMsg (const sensor_msgs::PointCloud2 &msg, pcl::PointCloud< PointT > &cloud)
 Convert a PointCloud2 binary data blob into a pcl::PointCloud<T> object.
template<typename PointT >
void toROSMsg (const pcl::PointCloud< PointT > &cloud, sensor_msgs::PointCloud2 &msg)
 Convert a pcl::PointCloud<T> object to a PointCloud2 binary data blob.
template<typename CloudT >
void toROSMsg (const CloudT &cloud, sensor_msgs::Image &msg)
 Copy the RGB fields of a PointCloud into sensor_msgs::Image format.
void toROSMsg (const sensor_msgs::PointCloud2 &cloud, sensor_msgs::Image &msg)
 Copy the RGB fields of a PointCloud2 msg into sensor_msgs::Image format.
std::ostream & operator<< (std::ostream &s, const ::pcl::Vertices &v)
void solvePlaneParameters (const Eigen::Matrix3f &covariance_matrix, const Eigen::Vector4f &point, Eigen::Vector4f &plane_parameters, float &curvature)
 Solve the eigenvalues and eigenvectors of a given 3x3 covariance matrix, and estimate the least-squares plane normal and surface curvature.
void solvePlaneParameters (const Eigen::Matrix3f &covariance_matrix, float &nx, float &ny, float &nz, float &curvature)
 Solve the eigenvalues and eigenvectors of a given 3x3 covariance matrix, and estimate the least-squares plane normal and surface curvature.
std::ostream & operator<< (std::ostream &os, const RangeImageBorderExtractor::Parameters &p)
template<typename PointT >
void computePointNormal (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4f &plane_parameters, float &curvature)
 Compute the Least-Squares plane fit for a given set of points, and return the estimated plane parameters together with the surface curvature.
template<typename PointT >
void computePointNormal (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Vector4f &plane_parameters, float &curvature)
 Compute the Least-Squares plane fit for a given set of points, using their indices, and return the estimated plane parameters together with the surface curvature.
template<typename PointT >
void flipNormalTowardsViewpoint (const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Vector4f &normal)
 Flip (in place) the estimated normal of a point towards a given viewpoint.
template<typename PointT >
void flipNormalTowardsViewpoint (const PointT &point, float vp_x, float vp_y, float vp_z, float &nx, float &ny, float &nz)
 Flip (in place) the estimated normal of a point towards a given viewpoint.
PCL_EXPORTS bool computePairFeatures (const Eigen::Vector4f &p1, const Eigen::Vector4f &n1, const Eigen::Vector4f &p2, const Eigen::Vector4f &n2, float &f1, float &f2, float &f3, float &f4)
 Compute the 4-tuple representation containing the three angles and one distance between two points represented by Cartesian coordinates and normals.
PCL_EXPORTS bool computeRGBPairFeatures (const Eigen::Vector4f &p1, const Eigen::Vector4f &n1, const Eigen::Vector4i &colors1, const Eigen::Vector4f &p2, const Eigen::Vector4f &n2, const Eigen::Vector4i &colors2, float &f1, float &f2, float &f3, float &f4, float &f5, float &f6, float &f7)
PCL_EXPORTS bool computePPFPairFeature (const Eigen::Vector4f &p1, const Eigen::Vector4f &n1, const Eigen::Vector4f &p2, const Eigen::Vector4f &n2, float &f1, float &f2, float &f3, float &f4)
int getSimpleType (float min_radius, float max_radius, double min_radius_plane=0.100, double max_radius_noise=0.015, double min_radius_cylinder=0.175, double max_min_radius_diff=0.050)
 Simple rule-based labeling of the local surface type based on the principle curvatures.
template<int N>
void getFeaturePointCloud (const std::vector< Eigen::MatrixXf > &histograms2D, PointCloud< Histogram< N > > &histogramsPC)
 Transform a list of 2D matrices into a point cloud containing the values in a vector (Histogram<N>).
template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::MatrixXf computeRSD (boost::shared_ptr< const pcl::PointCloud< PointInT > > &surface, boost::shared_ptr< const pcl::PointCloud< PointNT > > &normals, const std::vector< int > &indices, double max_dist, int nr_subdiv, double plane_radius, PointOutT &radii, bool compute_histogram=false)
 Estimate the Radius-based Surface Descriptor (RSD) for a given point based on its spatial neighborhood of 3D points with normals.
template<typename PointNT , typename PointOutT >
Eigen::MatrixXf computeRSD (boost::shared_ptr< const pcl::PointCloud< PointNT > > &normals, const std::vector< int > &indices, const std::vector< float > &sqr_dists, double max_dist, int nr_subdiv, double plane_radius, PointOutT &radii, bool compute_histogram=false)
 Estimate the Radius-based Surface Descriptor (RSD) for a given point based on its spatial neighborhood of 3D points with normals.
template<typename PointInT >
float getLocalRF (const pcl::PointCloud< PointInT > &cloud, const double search_radius, const Eigen::Vector4f &central_point, const std::vector< int > &indices, const std::vector< float > &dists, std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &rf)
 Computes disambiguated local RF for a point index.
template<typename PointT >
void removeNaNFromPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, std::vector< int > &index)
 Removes points with x, y, or z equal to NaN.
template<typename PointT >
void removeNaNFromPointCloud (const pcl::PointCloud< PointT > &cloud_in, std::vector< int > &index)
 Removes points with x, y, or z equal to NaN.
PCL_EXPORTS void getMinMax3D (const sensor_msgs::PointCloud2ConstPtr &cloud, int x_idx, int y_idx, int z_idx, Eigen::Vector4f &min_pt, Eigen::Vector4f &max_pt)
 Obtain the maximum and minimum points in 3D from a given point cloud.
PCL_EXPORTS void getMinMax3D (const sensor_msgs::PointCloud2ConstPtr &cloud, int x_idx, int y_idx, int z_idx, const std::string &distance_field_name, float min_distance, float max_distance, Eigen::Vector4f &min_pt, Eigen::Vector4f &max_pt, bool limit_negative=false)
 Obtain the maximum and minimum points in 3D from a given point cloud.
Eigen::MatrixXi getHalfNeighborCellIndices ()
 Get the relative cell indices of the "upper half" 13 neighbors.
Eigen::MatrixXi getAllNeighborCellIndices ()
 Get the relative cell indices of all the 26 neighbors.
template<typename PointT >
void getMinMax3D (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const std::string &distance_field_name, float min_distance, float max_distance, Eigen::Vector4f &min_pt, Eigen::Vector4f &max_pt, bool limit_negative=false)
 Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud, without considering points outside of a distance threshold from the laser origin.
template<typename Type >
void copyValueString (const sensor_msgs::PointCloud2 &cloud, const unsigned int point_index, const int point_size, const unsigned int field_idx, const unsigned int fields_count, std::ostream &stream)
 insers a value of type Type (uchar, char, uint, int, float, double, ...) into a stringstream.
template<>
void copyValueString< int8_t > (const sensor_msgs::PointCloud2 &cloud, const unsigned int point_index, const int point_size, const unsigned int field_idx, const unsigned int fields_count, std::ostream &stream)
template<>
void copyValueString< uint8_t > (const sensor_msgs::PointCloud2 &cloud, const unsigned int point_index, const int point_size, const unsigned int field_idx, const unsigned int fields_count, std::ostream &stream)
template<typename Type >
bool isValueFinite (const sensor_msgs::PointCloud2 &cloud, const unsigned int point_index, const int point_size, const unsigned int field_idx, const unsigned int fields_count)
 Check whether a given value of type Type (uchar, char, uint, int, float, double, ...) is finite or not.
template<typename Type >
void copyStringValue (const std::string &st, sensor_msgs::PointCloud2 &cloud, unsigned int point_index, unsigned int field_idx, unsigned int fields_count)
 Copy one single value of type T (uchar, char, uint, int, float, double, ...) from a string.
template<>
void copyStringValue< int8_t > (const std::string &st, sensor_msgs::PointCloud2 &cloud, unsigned int point_index, unsigned int field_idx, unsigned int fields_count)
template<>
void copyStringValue< uint8_t > (const std::string &st, sensor_msgs::PointCloud2 &cloud, unsigned int point_index, unsigned int field_idx, unsigned int fields_count)
PCL_EXPORTS unsigned int lzfCompress (const void *const in_data, unsigned int in_len, void *out_data, unsigned int out_len)
 Compress in_len bytes stored at the memory block starting at in_data and write the result to out_data, up to a maximum length of out_len bytes using Marc Lehmann's LZF algorithm.
PCL_EXPORTS unsigned int lzfDecompress (const void *const in_data, unsigned int in_len, void *out_data, unsigned int out_len)
 Decompress data compressed with the lzfCompress function and stored at location in_data and length in_len.
void throwPCLIOException (const char *function_name, const char *file_name, unsigned line_number, const char *format,...)
template<typename PointT >
void getApproximateIndices (const typename pcl::PointCloud< PointT >::Ptr &cloud_in, const typename pcl::PointCloud< PointT >::Ptr &cloud_ref, std::vector< int > &indices)
 Get a set of approximate indices for a given point cloud into a reference point cloud.
template<typename Point1T , typename Point2T >
void getApproximateIndices (const typename pcl::PointCloud< Point1T >::Ptr &cloud_in, const typename pcl::PointCloud< Point2T >::Ptr &cloud_ref, std::vector< int > &indices)
 Get a set of approximate indices for a given point cloud into a reference point cloud.
std::ostream & operator<< (std::ostream &os, const NarfKeypoint::Parameters &p)
template<typename Point >
void projectPoint (const Point &p, const Eigen::Vector4f &model_coefficients, Point &q)
 Project a point on a planar model given by a set of normalized coefficients.
template<typename Point >
double pointToPlaneDistanceSigned (const Point &p, double a, double b, double c, double d)
 Get the distance from a point to a plane (signed) defined by ax+by+cz+d=0.
template<typename Point >
double pointToPlaneDistanceSigned (const Point &p, const Eigen::Vector4f &plane_coefficients)
 Get the distance from a point to a plane (signed) defined by ax+by+cz+d=0.
template<typename Point >
double pointToPlaneDistance (const Point &p, double a, double b, double c, double d)
 Get the distance from a point to a plane (unsigned) defined by ax+by+cz+d=0.
template<typename Point >
double pointToPlaneDistance (const Point &p, const Eigen::Vector4f &plane_coefficients)
 Get the distance from a point to a plane (unsigned) defined by ax+by+cz+d=0.
template<typename PointT >
void extractEuclideanClusters (const PointCloud< PointT > &cloud, const boost::shared_ptr< search::Search< PointT > > &tree, float tolerance, std::vector< PointIndices > &clusters, unsigned int min_pts_per_cluster=1, unsigned int max_pts_per_cluster=(std::numeric_limits< int >::max)())
 Decompose a region of space into clusters based on the Euclidean distance between points.
template<typename PointT >
void extractEuclideanClusters (const PointCloud< PointT > &cloud, const std::vector< int > &indices, const boost::shared_ptr< search::Search< PointT > > &tree, float tolerance, std::vector< PointIndices > &clusters, unsigned int min_pts_per_cluster=1, unsigned int max_pts_per_cluster=(std::numeric_limits< int >::max)())
 Decompose a region of space into clusters based on the Euclidean distance between points.
template<typename PointT , typename Normal >
void extractEuclideanClusters (const PointCloud< PointT > &cloud, const PointCloud< Normal > &normals, float tolerance, const boost::shared_ptr< KdTree< PointT > > &tree, std::vector< PointIndices > &clusters, double eps_angle, unsigned int min_pts_per_cluster=1, unsigned int max_pts_per_cluster=(std::numeric_limits< int >::max)())
 Decompose a region of space into clusters based on the euclidean distance between points, and the normal angular deviation.
template<typename PointT , typename Normal >
void extractEuclideanClusters (const PointCloud< PointT > &cloud, const PointCloud< Normal > &normals, const std::vector< int > &indices, const boost::shared_ptr< KdTree< PointT > > &tree, float tolerance, std::vector< PointIndices > &clusters, double eps_angle, unsigned int min_pts_per_cluster=1, unsigned int max_pts_per_cluster=(std::numeric_limits< int >::max)())
 Decompose a region of space into clusters based on the euclidean distance between points, and the normal angular deviation.
bool comparePointClusters (const pcl::PointIndices &a, const pcl::PointIndices &b)
 Sort clusters method (for std::sort).
template<typename PointT >
void extractLabeledEuclideanClusters (const PointCloud< PointT > &cloud, const boost::shared_ptr< search::Search< PointT > > &tree, float tolerance, std::vector< std::vector< PointIndices > > &labeled_clusters, unsigned int min_pts_per_cluster=1, unsigned int max_pts_per_cluster=(std::numeric_limits< int >::max)(), unsigned int max_label=(std::numeric_limits< int >::max))
 Decompose a region of space into clusters based on the Euclidean distance between points.
bool compareLabeledPointClusters (const pcl::PointIndices &a, const pcl::PointIndices &b)
 Sort clusters method (for std::sort).
template<typename PointT >
bool isPointIn2DPolygon (const PointT &point, const pcl::PointCloud< PointT > &polygon)
 General purpose method for checking if a 3D point is inside or outside a given 2D polygon.
template<typename PointT >
bool isXYPointIn2DXYPolygon (const PointT &point, const pcl::PointCloud< PointT > &polygon)
 Check if a 2d point (X and Y coordinates considered only!) is inside or outside a given polygon.
template<typename PointT >
void getPointCloudDifference (const pcl::PointCloud< PointT > &src, const pcl::PointCloud< PointT > &tgt, double threshold, const boost::shared_ptr< pcl::search::Search< PointT > > &tree, pcl::PointCloud< PointT > &output)
 Obtain the difference between two aligned point clouds as another point cloud, given a distance threshold.
bool comparePoints2D (const std::pair< int, Eigen::Vector4f > &p1, const std::pair< int, Eigen::Vector4f > &p2)
 Sort 2D points in a vector structure.
bool isVisible (const Eigen::Vector2f &X, const Eigen::Vector2f &S1, const Eigen::Vector2f &S2, const Eigen::Vector2f &R=Eigen::Vector2f::Zero())
 Returns if a point X is visible from point R (or the origin) when taking into account the segment between the points S1 and S2.

Variables

struct pcl::_PointXYZHSV EIGEN_ALIGN16
const int I_SHIFT_EP [12][2]
 The 12 edges of a cell.
const int I_SHIFT_PT [4]
const int I_SHIFT_EDGE [3][2]
const unsigned int edgeTable [256]
const int triTable [256][16]

Detailed Description

Software License Agreement (BSD License).

Copyright (c) 2011, Willow Garage, Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Willow Garage, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Author: Suat Gedikli (gedikli@willowgarage.com)


Typedef Documentation

typedef Eigen::Map<Eigen::Array3f> pcl::Array3fMap

Definition at line 155 of file point_types.hpp.

typedef const Eigen::Map<const Eigen::Array3f> pcl::Array3fMapConst

Definition at line 156 of file point_types.hpp.

typedef Eigen::Map<Eigen::Array4f, Eigen::Aligned> pcl::Array4fMap

Definition at line 157 of file point_types.hpp.

typedef const Eigen::Map<const Eigen::Array4f, Eigen::Aligned> pcl::Array4fMapConst

Definition at line 158 of file point_types.hpp.

Definition at line 99 of file bivariate_polynomial.h.

Definition at line 98 of file bivariate_polynomial.h.

typedef std::vector< pcl::Correspondence, Eigen::aligned_allocator<pcl::Correspondence> > pcl::Correspondences

Definition at line 93 of file correspondence.h.

typedef boost::shared_ptr<const Correspondences > pcl::CorrespondencesConstPtr

Definition at line 95 of file correspondence.h.

typedef boost::shared_ptr<Correspondences> pcl::CorrespondencesPtr

Definition at line 94 of file correspondence.h.

typedef boost::shared_ptr<const std::vector<int> > pcl::IndicesConstPtr

Definition at line 64 of file pcl_base.h.

typedef boost::shared_ptr<std::vector<int> > pcl::IndicesPtr

Definition at line 63 of file pcl_base.h.

typedef boost::shared_ptr< ::pcl::ModelCoefficients const> pcl::ModelCoefficientsConstPtr

Definition at line 28 of file ModelCoefficients.h.

typedef boost::shared_ptr< ::pcl::ModelCoefficients> pcl::ModelCoefficientsPtr

Definition at line 27 of file ModelCoefficients.h.

typedef std::vector<detail::FieldMapping> pcl::MsgFieldMap

Definition at line 70 of file point_cloud.h.

typedef std::vector<PointCorrespondence3D, Eigen::aligned_allocator<PointCorrespondence3D> > pcl::PointCorrespondences3DVector

Definition at line 131 of file correspondence.h.

typedef std::vector<PointCorrespondence6D, Eigen::aligned_allocator<PointCorrespondence6D> > pcl::PointCorrespondences6DVector

Definition at line 147 of file correspondence.h.

typedef boost::shared_ptr< ::pcl::PointIndices const> pcl::PointIndicesConstPtr

Definition at line 27 of file PointIndices.h.

typedef boost::shared_ptr< ::pcl::PointIndices> pcl::PointIndicesPtr

Definition at line 26 of file PointIndices.h.

typedef boost::shared_ptr< ::pcl::PolygonMesh const> pcl::PolygonMeshConstPtr

Definition at line 33 of file PolygonMesh.h.

typedef boost::shared_ptr< ::pcl::PolygonMesh> pcl::PolygonMeshPtr

Definition at line 32 of file PolygonMesh.h.

Definition at line 129 of file polynomial_calculations.h.

Definition at line 128 of file polynomial_calculations.h.

typedef boost::shared_ptr<pcl::TextureMesh const> pcl::TextureMeshConstPtr

Definition at line 109 of file TextureMesh.h.

typedef boost::shared_ptr<pcl::TextureMesh> pcl::TextureMeshPtr

Definition at line 108 of file TextureMesh.h.

typedef Eigen::Map<Eigen::Vector3f> pcl::Vector3fMap

Definition at line 159 of file point_types.hpp.

typedef const Eigen::Map<const Eigen::Vector3f> pcl::Vector3fMapConst

Definition at line 160 of file point_types.hpp.

typedef Eigen::Map<Eigen::Vector4f, Eigen::Aligned> pcl::Vector4fMap

Definition at line 161 of file point_types.hpp.

typedef const Eigen::Map<const Eigen::Vector4f, Eigen::Aligned> pcl::Vector4fMapConst

Definition at line 162 of file point_types.hpp.

Definition at line 110 of file vector_average.h.

Definition at line 111 of file vector_average.h.

Definition at line 112 of file vector_average.h.

typedef boost::shared_ptr<Vertices const> pcl::VerticesConstPtr

Definition at line 26 of file Vertices.h.

typedef boost::shared_ptr<Vertices> pcl::VerticesPtr

Definition at line 25 of file Vertices.h.


Enumeration Type Documentation

Enumerator:
SACMODEL_PLANE 
SACMODEL_LINE 
SACMODEL_CIRCLE2D 
SACMODEL_CIRCLE3D 
SACMODEL_SPHERE 
SACMODEL_CYLINDER 
SACMODEL_CONE 
SACMODEL_TORUS 
SACMODEL_PARALLEL_LINE 
SACMODEL_PERPENDICULAR_PLANE 
SACMODEL_PARALLEL_LINES 
SACMODEL_NORMAL_PLANE 
SACMODEL_REGISTRATION 
SACMODEL_PARALLEL_PLANE 
SACMODEL_NORMAL_PARALLEL_PLANE 
SACMODEL_STICK 

Definition at line 45 of file model_types.h.


Function Documentation

PCL_EXPORTS bool pcl::computePPFPairFeature ( const Eigen::Vector4f &  p1,
const Eigen::Vector4f &  n1,
const Eigen::Vector4f &  p2,
const Eigen::Vector4f &  n2,
float &  f1,
float &  f2,
float &  f3,
float &  f4 
)
Parameters:
[in] p1 
[in] n1 
[in] p2 
[in] n2 
[out] f1 
[out] f2 
[out] f3 
[out] f4 
PCL_EXPORTS bool pcl::computeRGBPairFeatures ( const Eigen::Vector4f &  p1,
const Eigen::Vector4f &  n1,
const Eigen::Vector4i &  colors1,
const Eigen::Vector4f &  p2,
const Eigen::Vector4f &  n2,
const Eigen::Vector4i &  colors2,
float &  f1,
float &  f2,
float &  f3,
float &  f4,
float &  f5,
float &  f6,
float &  f7 
)
template<typename Matrix , typename Roots >
void pcl::computeRoots ( const Matrix &  m,
Roots &  roots 
) [inline]

computes the roots of the characteristic polynomial of the input matrix m, which are the eigenvalues

Parameters:
[in] m input matrix
[out] roots roots of the characteristic polynomial of the input matrix m, which are the eigenvalues

Definition at line 107 of file eigen.h.

template<typename Scalar , typename Roots >
void pcl::computeRoots2 ( const Scalar &  b,
const Scalar &  c,
Roots &  roots 
) [inline]

Compute the roots of a quadratic polynom x^2 + b*x + c = 0.

Parameters:
[in] b linear parameter
[in] c constant parameter
[out] roots solutions of x^2 + b*x + c = 0

Definition at line 88 of file eigen.h.

template<typename PointT >
pcl::PointCloud<pcl::VFHSignature308>::Ptr pcl::computeVFH ( typename PointCloud< PointT >::ConstPtr  cloud,
double  radius 
)

Helper function to extract the VFH feature describing the given point cloud.

Parameters:
points point cloud for feature extraction
radius search radius for normal estimation
Returns:
point cloud containing the extracted feature

Definition at line 57 of file vfh_nn_classifier.h.

template<typename Type >
void pcl::copyStringValue ( const std::string &  st,
sensor_msgs::PointCloud2 cloud,
unsigned int  point_index,
unsigned int  field_idx,
unsigned int  fields_count 
) [inline]

Copy one single value of type T (uchar, char, uint, int, float, double, ...) from a string.

Uses aoti/atof to do the conversion. Checks if the st is "nan" and converts it accordingly.

Parameters:
[in] st the string containing the value to convert and copy
[out] cloud the cloud to copy it to
[in] point_index the index of the point
[in] field_idx the index of the dimension/field
[in] fields_count the current fields count

Definition at line 295 of file file_io.h.

template<>
void pcl::copyStringValue< int8_t > ( const std::string &  st,
sensor_msgs::PointCloud2 cloud,
unsigned int  point_index,
unsigned int  field_idx,
unsigned int  fields_count 
) [inline]
template<>
void pcl::copyStringValue< uint8_t > ( const std::string &  st,
sensor_msgs::PointCloud2 cloud,
unsigned int  point_index,
unsigned int  field_idx,
unsigned int  fields_count 
) [inline]
template<typename Type >
void pcl::copyValueString ( const sensor_msgs::PointCloud2 cloud,
const unsigned int  point_index,
const int  point_size,
const unsigned int  field_idx,
const unsigned int  fields_count,
std::ostream &  stream 
) [inline]

insers a value of type Type (uchar, char, uint, int, float, double, ...) into a stringstream.

If the value is NaN, it inserst "nan".

Parameters:
[in] cloud the cloud to copy from
[in] point_index the index of the point
[in] point_size the size of the point in the cloud
[in] field_idx the index of the dimension/field
[in] fields_count the current fields count
[out] stream the ostringstream to copy into

Definition at line 212 of file file_io.h.

template<>
void pcl::copyValueString< int8_t > ( const sensor_msgs::PointCloud2 cloud,
const unsigned int  point_index,
const int  point_size,
const unsigned int  field_idx,
const unsigned int  fields_count,
std::ostream &  stream 
) [inline]
template<>
void pcl::copyValueString< uint8_t > ( const sensor_msgs::PointCloud2 cloud,
const unsigned int  point_index,
const int  point_size,
const unsigned int  field_idx,
const unsigned int  fields_count,
std::ostream &  stream 
) [inline]
template<typename PointT >
void pcl::createMapping ( const std::vector< sensor_msgs::PointField > &  msg_fields,
MsgFieldMap &  field_map 
)

Definition at line 124 of file conversions.h.

template<typename Matrix >
Matrix::Scalar pcl::determinant3x3Matrix ( const Matrix &  matrix  )  [inline]

Definition at line 632 of file eigen.h.

template<typename Matrix , typename Vector >
void pcl::eigen22 ( const Matrix &  mat,
typename Matrix::Scalar &  eigenvalue,
Vector &  eigenvector 
) [inline]

determine the smallest eigenvalue and its corresponding eigenvector

Parameters:
mat input matrix that needs to be symmetric and positive semi definite
eigenvalue the smallest eigenvalue of the input matrix
eigenvector the corresponding eigenvector to the smallest eigenvalue of the input matrix

Definition at line 178 of file eigen.h.

template<typename Matrix , typename Vector >
void pcl::eigen22 ( const Matrix &  mat,
Matrix &  eigenvectors,
Vector &  eigenvalues 
) [inline]

determine the smallest eigenvalue and its corresponding eigenvector

Parameters:
[in] mat input matrix that needs to be symmetric and positive semi definite
[out] eigenvectors the corresponding eigenvector to the smallest eigenvalue of the input matrix
[out] eigenvalues the smallest eigenvalue of the input matrix

Definition at line 202 of file eigen.h.

template<typename PointType1 , typename PointType2 >
float pcl::euclideanDistance ( const PointType1 &  p1,
const PointType2 &  p2 
) [inline]

Calculate the euclidean distance between the two given points.

Parameters:
[in] p1 the first point
[in] p2 the second point

Definition at line 184 of file distances.h.

template<typename Sequence , typename F >
void pcl::for_each_type ( f  )  [inline]

Definition at line 87 of file for_each_type.h.

template<typename PointT >
void pcl::fromROSMsg ( const sensor_msgs::PointCloud2 msg,
pcl::PointCloud< PointT > &  cloud,
const MsgFieldMap &  field_map 
)

Convert a PointCloud2 binary data blob into a pcl::PointCloud<T> object using a field_map.

Parameters:
[in] msg the PointCloud2 binary blob
[out] cloud the resultant pcl::PointCloud<T>
[in] field_map a MsgFieldMap object
Note:
Use fromROSMsg (PointCloud2, PointCloud<T>) directly or create you own MsgFieldMap using:
 MsgFieldMap field_map;
 createMapping<PointT> (msg.fields, field_map);

Definition at line 168 of file conversions.h.

template<typename PointT >
void pcl::fromROSMsg ( const sensor_msgs::PointCloud2 msg,
pcl::PointCloud< PointT > &  cloud 
)

Convert a PointCloud2 binary data blob into a pcl::PointCloud<T> object.

Parameters:
[in] msg the PointCloud2 binary blob
[out] cloud the resultant pcl::PointCloud<T>

Definition at line 226 of file conversions.h.

void pcl::getAllPcdFilesInDirectory ( const std::string &  directory,
std::vector< std::string > &  file_names 
) [inline]

Find all *.pcd files in the directory and return them sorted.

Parameters:
directory the directory to be searched
file_names the resulting (sorted) list of .pcd files

Definition at line 40 of file file_io.hpp.

PCL_EXPORTS void pcl::getFieldsSizes ( const std::vector< sensor_msgs::PointField > &  fields,
std::vector< int > &  field_sizes 
)

Obtain a vector with the sizes of all valid fields (e.g., not "_").

Parameters:
[in] fields the input vector containing the fields
[out] field_sizes the resultant field sizes in bytes
std::string pcl::getFileExtension ( const std::string &  input  )  [inline]

Get the file extension from the given string (the remaining string after the last '.

')

Parameters:
input the input filename
Returns:
input 's file extension

Definition at line 75 of file file_io.hpp.

std::string pcl::getFilenameWithoutExtension ( const std::string &  input  )  [inline]

Remove the extension from the given string and return only the filename (everything before the last '.

')

Parameters:
input the input filename (with the file extension)
Returns:
the resulting filename, stripped of its extension

Definition at line 69 of file file_io.hpp.

std::string pcl::getFilenameWithoutPath ( const std::string &  input  )  [inline]

Remove the path from the given string and return only the filename (the remaining string after the last '/').

Parameters:
input the input filename (with full path)
Returns:
the resulting filename, stripped of the path

Definition at line 63 of file file_io.hpp.

template<typename PointInT >
float pcl::getLocalRF ( const pcl::PointCloud< PointInT > &  cloud,
const double  search_radius,
const Eigen::Vector4f &  central_point,
const std::vector< int > &  indices,
const std::vector< float > &  dists,
std::vector< Eigen::Vector4f, Eigen::aligned_allocator< Eigen::Vector4f > > &  rf 
)

Computes disambiguated local RF for a point index.

Parameters:
cloud input point cloud
search_radius the neighborhood radius
central_point the point from the input_ cloud at which the local RF is computed
indices the neighbours indices
dists the distances to the neighbours
rf reference frame to compute

std::min(valid_nn_points*2/2+1, 11);

Definition at line 57 of file shot_common.hpp.

PCL_EXPORTS void pcl::getMinMax3D ( const sensor_msgs::PointCloud2ConstPtr cloud,
int  x_idx,
int  y_idx,
int  z_idx,
Eigen::Vector4f &  min_pt,
Eigen::Vector4f &  max_pt 
)

Obtain the maximum and minimum points in 3D from a given point cloud.

Parameters:
[in] cloud the pointer to a sensor_msgs::PointCloud2 dataset
[in] x_idx the index of the X channel
[in] y_idx the index of the Y channel
[in] z_idx the index of the Z channel
[out] min_pt the minimum data point
[out] max_pt the maximum data point
PCL_EXPORTS void pcl::getMinMax3D ( const sensor_msgs::PointCloud2ConstPtr cloud,
int  x_idx,
int  y_idx,
int  z_idx,
const std::string &  distance_field_name,
float  min_distance,
float  max_distance,
Eigen::Vector4f &  min_pt,
Eigen::Vector4f &  max_pt,
bool  limit_negative = false 
)

Obtain the maximum and minimum points in 3D from a given point cloud.

Note:
Performs internal data filtering as well.
Parameters:
[in] cloud the pointer to a sensor_msgs::PointCloud2 dataset
[in] x_idx the index of the X channel
[in] y_idx the index of the Y channel
[in] z_idx the index of the Z channel
[in] distance_field_name the name of the dimension to filter data along to
[in] min_distance the minimum acceptable value in distance_field_name data
[in] max_distance the maximum acceptable value in distance_field_name data
[out] min_pt the minimum data point
[out] max_pt the maximum data point
[in] limit_negative false if data inside of the [min_distance; max_distance] interval should be considered, true otherwise.
void pcl::getRejectedQueryIndices ( const pcl::Correspondences correspondences_before,
const pcl::Correspondences correspondences_after,
std::vector< int > &  indices,
bool  presorting_required = true 
)

Get the query points of correspondences that are present in one correspondence vector but not in the other, e.g., to compare correspondences before and after rejection.

Parameters:
[in] correspondences_before Vector of correspondences before rejection
[in] correspondences_after Vector of correspondences after rejection
[out] indices Query point indices of correspondences that have been rejected
[in] presorting_required Enable/disable internal sorting of vectors. By default (true), vectors are internally sorted before determining their difference. If the order of correspondences in correspondences_after is not different (has not been changed) from the order in correspondences_before this pre-processing step can be disabled in order to gain efficiency. In order to disable pre-sorting set presorting_requered to false.
double pcl::getTime (  )  [inline]

Definition at line 138 of file time.h.

template<typename PointT >
bool pcl::isFinite ( const PointT &  pt  )  [inline]

Tests if the 3D components of a point are all finite param[in] pt point to be tested.

Definition at line 1180 of file point_types.hpp.

template<>
bool pcl::isFinite< pcl::Normal > ( const pcl::Normal n  )  [inline]
template<typename PointT >
bool pcl::isFiniteFast ( const PointT &  pt  )  [inline]

Fast version of isFinite tests only the first component param[in] pt point to be tested.

Definition at line 1196 of file point_types.hpp.

template<>
bool pcl::isFiniteFast< pcl::Normal > ( const pcl::Normal n  )  [inline]
template<typename Type >
bool pcl::isValueFinite ( const sensor_msgs::PointCloud2 cloud,
const unsigned int  point_index,
const int  point_size,
const unsigned int  field_idx,
const unsigned int  fields_count 
) [inline]

Check whether a given value of type Type (uchar, char, uint, int, float, double, ...) is finite or not.

Parameters:
[in] cloud the cloud that contains the data
[in] point_index the index of the point
[in] point_size the size of the point in the cloud
[in] field_idx the index of the dimension/field
[in] fields_count the current fields count
Returns:
true if the value is finite, false otherwise

Definition at line 270 of file file_io.h.

PCL_EXPORTS unsigned int pcl::lzfCompress ( const void *const   in_data,
unsigned int  in_len,
void *  out_data,
unsigned int  out_len 
)

Compress in_len bytes stored at the memory block starting at in_data and write the result to out_data, up to a maximum length of out_len bytes using Marc Lehmann's LZF algorithm.

If the output buffer is not large enough or any error occurs return 0, otherwise return the number of bytes used, which might be considerably more than in_len (but less than 104% of the original size), so it makes sense to always use out_len == in_len - 1), to ensure _some_ compression, and store the data uncompressed otherwise (with a flag, of course.

Note:
The buffers must not be overlapping.
Parameters:
[in] in_data the input uncompressed buffer
[in] in_len the length of the input buffer
[out] out_data the output buffer where the compressed result will be stored
[out] out_len the length of the output buffer
PCL_EXPORTS unsigned int pcl::lzfDecompress ( const void *const   in_data,
unsigned int  in_len,
void *  out_data,
unsigned int  out_len 
)

Decompress data compressed with the lzfCompress function and stored at location in_data and length in_len.

The result will be stored at out_data up to a maximum of out_len characters.

If the output buffer is not large enough to hold the decompressed data, a 0 is returned and errno is set to E2BIG. Otherwise the number of decompressed bytes (i.e. the original length of the data) is returned.

If an error in the compressed data is detected, a zero is returned and errno is set to EINVAL.

This function is very fast, about as fast as a copying loop.

Parameters:
[in] in_data the input compressed buffer
[in] in_len the length of the input buffer
[out] out_data the output buffer (must be resized to out_len)
[out] out_len the length of the output buffer
std::ostream& pcl::operator<< ( std::ostream &  os,
const Narf36 &  p 
) [inline]

Definition at line 1068 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const VFHSignature308 &  p 
) [inline]

Definition at line 1038 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PFHSignature125 &  p 
) [inline]

Definition at line 873 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  s,
const ::pcl::PolygonMesh v 
) [inline]

Definition at line 35 of file PolygonMesh.h.

std::ostream& pcl::operator<< ( std::ostream &  s,
const ::pcl::Vertices v 
) [inline]

Definition at line 28 of file Vertices.h.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZINormal &  p 
) [inline]

Definition at line 742 of file point_types.hpp.

template<typename real >
std::ostream & pcl::operator<< ( std::ostream &  os,
const BivariatePolynomialT< real > &  p 
)

Definition at line 192 of file bivariate_polynomial.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PrincipalRadiiRSD &  p 
) [inline]

Definition at line 823 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PPFRGBSignature &  p 
) [inline]

Definition at line 917 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const ShapeContext &  p 
) [inline]

Definition at line 948 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const Label &  p 
) [inline]

Definition at line 290 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointSurfel &  p 
) [inline]

Definition at line 1165 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZHSV &  p 
) [inline]

Definition at line 512 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const InterestPoint &  p 
) [inline]

Definition at line 549 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointNormal &  p 
) [inline]

Definition at line 642 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const NormalBasedSignature12 &  p 
) [inline]

Definition at line 932 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZRGBA &  p 
) [inline]

Definition at line 343 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const IntensityGradient &  p 
) [inline]

Definition at line 1108 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PrincipalCurvatures &  p 
) [inline]

Definition at line 860 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PFHRGBSignature250 &  p 
) [inline]

Definition at line 887 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const Normal &  p 
) [inline]

Definition at line 585 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PPFSignature &  p 
) [inline]

Definition at line 902 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const _Axis &  p 
) [inline]

Definition at line 619 of file point_types.hpp.

template<typename PointT >
std::ostream& pcl::operator<< ( std::ostream &  s,
const pcl::PointCloud< PointT > &  p 
)

Definition at line 1022 of file point_cloud.h.

std::ostream& pcl::operator<< ( std::ostream &  os,
const ReferenceFrame &  p 
) [inline]

Definition at line 1011 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZI &  p 
) [inline]

Definition at line 267 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const RangeImageBorderExtractor::Parameters &  p 
) [inline]

Definition at line 57 of file range_image_border_extractor.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const Correspondence &  c 
) [inline]

overloaded << operator

Definition at line 87 of file correspondence.h.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZRGB &  p 
) [inline]

Definition at line 450 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  s,
const ::pcl::PointIndices v 
) [inline]

Definition at line 29 of file PointIndices.h.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZRGBNormal &  p 
) [inline]

Definition at line 718 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointWithViewpoint &  p 
) [inline]

Definition at line 797 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const MomentInvariants &  p 
) [inline]

Definition at line 810 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const GFPFHSignature16 &  p 
) [inline]

Definition at line 1053 of file point_types.hpp.

template<int N>
std::ostream& pcl::operator<< ( std::ostream &  os,
const Histogram< N > &  p 
) [inline]

Definition at line 1123 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZL &  p 
) [inline]

Definition at line 279 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXY &  p 
) [inline]

Definition at line 527 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const BorderDescription &  p 
) [inline]

Definition at line 1086 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZ &  p 
) [inline]

Definition at line 194 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointXYZRGBL &  p 
) [inline]

Definition at line 476 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointWithRange &  p 
) [inline]

Definition at line 764 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const FPFHSignature33 &  p 
) [inline]

Definition at line 1024 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const PointWithScale &  p 
) [inline]

Definition at line 1139 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const Boundary &  p 
) [inline]

Definition at line 836 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const Axis &  p 
) [inline]

Definition at line 613 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const SHOT &  p 
) [inline]

Definition at line 966 of file point_types.hpp.

std::ostream& pcl::operator<< ( std::ostream &  os,
const RangeImage &  r 
) [inline]

/ingroup range_image

Definition at line 734 of file range_image.h.

std::ostream& pcl::operator<< ( std::ostream &  s,
const ::pcl::ModelCoefficients v 
) [inline]

Definition at line 30 of file ModelCoefficients.h.

void pcl::PointCloudXYZRGBtoXYZHSV ( PointCloud< PointXYZRGB > &  in,
PointCloud< PointXYZHSV > &  out 
)

Convert a XYZRGB point cloud to a XYZHSV.

Parameters:
[in] in the input XYZRGB point cloud
[out] out the output XYZHSV point cloud

Definition at line 141 of file point_types_conversion.h.

void pcl::PointCloudXYZRGBtoXYZI ( PointCloud< PointXYZRGB > &  in,
PointCloud< PointXYZI > &  out 
)

Convert a XYZRGB point cloud to a XYZI.

Parameters:
[in] in the input XYZRGB point cloud
[out] out the output XYZI point cloud

Definition at line 158 of file point_types_conversion.h.

void pcl::PointXYZHSVtoXYZRGB ( PointXYZHSV &  in,
PointXYZRGB &  out 
)

Convert a XYZHSV point type to a XYZRGB.

Parameters:
[in] in the input XYZHSV point
[out] out the output XYZRGB point

Definition at line 103 of file point_types_conversion.h.

void pcl::PointXYZRGBtoXYZHSV ( PointXYZRGB &  in,
PointXYZHSV &  out 
)

Convert a XYZRGB point type to a XYZHSV.

Parameters:
[in] in the input XYZRGB point
[out] out the output XYZHSV point

Definition at line 67 of file point_types_conversion.h.

void pcl::PointXYZRGBtoXYZI ( PointXYZRGB &  in,
PointXYZI &  out 
)

Convert a XYZRGB point type to a XYZI.

Parameters:
[in] in the input XYZRGB point
[out] out the output XYZI point

Definition at line 54 of file point_types_conversion.h.

template<typename Point >
void pcl::projectPoint ( const Point &  p,
const Eigen::Vector4f &  model_coefficients,
Point &  q 
) [inline]

Project a point on a planar model given by a set of normalized coefficients.

Parameters:
[in] p the input point to project
[in] model_coefficients the coefficients of the plane (a, b, c, d) that satisfy ax+by+cz+d=0
[out] q the resultant projected point

Definition at line 55 of file sac_model_plane.h.

template<typename PointType1 , typename PointType2 >
float pcl::squaredEuclideanDistance ( const PointType1 &  p1,
const PointType2 &  p2 
) [inline]

Calculate the squared euclidean distance between the two given points.

Parameters:
[in] p1 the first point
[in] p2 the second point

Definition at line 174 of file distances.h.

void pcl::toROSMsg ( const sensor_msgs::PointCloud2 cloud,
sensor_msgs::Image msg 
) [inline]

Copy the RGB fields of a PointCloud2 msg into sensor_msgs::Image format.

Parameters:
cloud the point cloud message
msg the resultant sensor_msgs::Image will throw std::runtime_error if there is a problem

Definition at line 310 of file conversions.h.

template<typename CloudT >
void pcl::toROSMsg ( const CloudT &  cloud,
sensor_msgs::Image msg 
)

Copy the RGB fields of a PointCloud into sensor_msgs::Image format.

Parameters:
[in] cloud the point cloud message
[out] msg the resultant sensor_msgs::Image CloudT cloud type, CloudT should be akin to pcl::PointCloud<pcl::PointXYZRGBA>
Note:
will throw std::runtime_error if there is a problem

Definition at line 276 of file conversions.h.

template<typename PointT >
void pcl::toROSMsg ( const pcl::PointCloud< PointT > &  cloud,
sensor_msgs::PointCloud2 msg 
)

Convert a pcl::PointCloud<T> object to a PointCloud2 binary data blob.

Parameters:
[in] cloud the input pcl::PointCloud<T>
[out] msg the resultant PointCloud2 binary blob

Definition at line 238 of file conversions.h.

template<typename PointT >
void pcl::transformPointCloudWithNormals ( const pcl::PointCloud< PointT > &  cloud_in,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Affine3f &  transform 
)

Transform a point cloud and rotate its normals using an Eigen transform.

Parameters:
cloud_in the input point cloud
cloud_out the resultant output point cloud
transform an affine transformation (typically a rigid transformation)
Note:
Can be used with cloud_in equal to cloud_out

Definition at line 117 of file transforms.hpp.


Variable Documentation

const unsigned int pcl::edgeTable[256]

Definition at line 59 of file marching_cubes.h.

const int pcl::I_SHIFT_EDGE[3][2]
Initial value:
 {
    {0,1}, {1,3}, {1,2}
  }

Definition at line 58 of file grid_projection.h.

const int pcl::I_SHIFT_EP[12][2]
Initial value:
 {
    {0, 4}, {1, 5}, {2, 6}, {3, 7}, 
    {0, 1}, {1, 2}, {2, 3}, {3, 0},
    {4, 5}, {5, 6}, {6, 7}, {7, 4}
  }

The 12 edges of a cell.

Definition at line 48 of file grid_projection.h.

const int pcl::I_SHIFT_PT[4]
Initial value:
 {
    0, 4, 5, 7
  }

Definition at line 54 of file grid_projection.h.

const int pcl::triTable[256][16]

Definition at line 93 of file marching_cubes.h.