Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
pcl Namespace Reference

Namespaces

namespace  apps
namespace  cloud_composer
namespace  common
namespace  ComparisonOps
namespace  console
namespace  detail
namespace  distances
namespace  features
namespace  fields
namespace  filters
namespace  geometry
namespace  ihs
namespace  io
namespace  ism
namespace  keypoints
namespace  modeler
namespace  ndt2d
namespace  occlusion_reasoning
namespace  octree
namespace  on_nurbs
namespace  outofcore
namespace  people
namespace  poisson
namespace  recognition
namespace  registration
namespace  search
namespace  segmentation
namespace  surface
namespace  test
namespace  texture_mapping
namespace  tracking
namespace  traits
namespace  utils
namespace  visualization

Classes

struct  _Axis
struct  _Intensity
struct  _Intensity32u
struct  _Intensity8u
struct  _Normal
struct  _PointNormal
struct  _PointSurfel
struct  _PointWithRange
struct  _PointWithScale
struct  _PointWithViewpoint
struct  _PointXYZ
struct  _PointXYZHSV
struct  _PointXYZI
 A point structure representing Euclidean xyz coordinates, and the intensity value. More...
struct  _PointXYZINormal
struct  _PointXYZL
struct  _PointXYZRGB
struct  _PointXYZRGBA
struct  _PointXYZRGBL
struct  _PointXYZRGBNormal
struct  _ReferenceFrame
 A structure representing the Local Reference Frame of a point. More...
struct  _RGB
class  AdaptiveRangeCoder
 AdaptiveRangeCoder compression class More...
class  AgastKeypoint2D
 Detects 2D AGAST corner points. Based on the original work and paper reference by. More...
class  AgastKeypoint2D< pcl::PointXYZ, pcl::PointUV >
 Detects 2D AGAST corner points. Based on the original work and paper reference by. More...
class  AgastKeypoint2DBase
 Detects 2D AGAST corner points. Based on the original work and paper reference by. More...
class  ApproximateVoxelGrid
 ApproximateVoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  ASCIIReader
 Ascii Point Cloud Reader. Read any ASCII file by setting the separating characters and input point fields. More...
struct  Axis
 A point structure representing an Axis using its normal coordinates. (SSE friendly) More...
class  BilateralFilter
 A bilateral filter implementation for point cloud data. Uses the intensity data channel. More...
class  BilateralUpsampling
 Bilateral filtering implementation, based on the following paper: * Kopf, Johannes and Cohen, Michael F. and Lischinski, Dani and Uyttendaele, Matt - Joint Bilateral Upsampling, * ACM Transations in Graphics, July 2007. More...
class  BivariatePolynomialT
 This represents a bivariate polynomial and provides some functionality for it. More...
class  BOARDLocalReferenceFrameEstimation
 BOARDLocalReferenceFrameEstimation implements the BOrder Aware Repeatable Directions algorithm for local reference frame estimation as described here: 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  Boundary
 A point structure representing a description of whether a point is lying on a surface boundary or not. More...
class  BoundaryEstimation
 BoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle criterion. The code makes use of the estimated surface normals at each point in the input dataset. More...
struct  BoundingBoxXYZ
class  BoxClipper3D
 Implementation of a box clipper in 3D. Actually it allows affine transformations, thus any parallelepiped in general pose. The affine transformation is used to transform the point before clipping it using the unit cube centered at origin and with an extend of -1 to +1 in each dimension. More...
class  Clipper3D
 Base class for 3D clipper objects. More...
struct  cloud_show
struct  cloud_show_base
class  CloudIterator
 Iterator class for point clouds with or without given indices. More...
class  CloudSurfaceProcessing
 CloudSurfaceProcessing represents the base class for algorithms that takes a point cloud as input and produces a new output cloud that has been modified towards a better surface representation. These types of algorithms include surface smoothing, hole filling, cloud upsampling etc. More...
class  ColorGradientDOTModality
class  ColorGradientModality
 Modality based on max-RGB gradients. More...
class  ColorModality
class  Comparator
 Comparator is the base class for comparators that compare two points given some function. Currently intended for use with OrganizedConnectedComponentSegmentation. More...
class  ComparisonBase
 The (abstract) base class for the comparison object. More...
class  ComputeFailedException
class  ConditionalEuclideanClustering
 ConditionalEuclideanClustering performs segmentation based on Euclidean distance and a user-defined clustering condition. More...
class  ConditionalRemoval
 ConditionalRemoval filters data that satisfies certain conditions. More...
class  ConditionAnd
 AND condition. More...
class  ConditionBase
 Base condition class. More...
class  ConditionOr
 OR condition. More...
class  ConstCloudIterator
 Iterator class for point clouds with or without given indices. More...
struct  CopyIfFieldExists
 A helper functor that can copy a specific value if the given field exists. More...
struct  Correspondence
 Correspondence represents a match between two entities (e.g., points, descriptors, etc). This is represesented via the indices of a source point and a target point, and the distance between them. More...
class  CorrespondenceGrouping
 Abstract base class for Correspondence Grouping algorithms. More...
class  CovarianceSampling
 Point Cloud sampling based on the 6D covariances. It selects the points such that the resulting cloud is as stable as possible for being registered (against a copy of itself) with ICP. The algorithm adds points to the resulting cloud incrementally, while trying to keep all the 6 eigenvalues of the covariance matrix as close to each other as possible. This class also comes with the computeConditionNumber method that returns a number which shows how stable a point cloud will be when used as input for ICP (the closer the value it is to 1.0, the better). More...
class  CrfNormalSegmentation
class  CRHAlignment
 CRHAlignment uses two Camera Roll Histograms (CRH) to find the roll rotation that aligns both views. See: More...
class  CRHEstimation
 CRHEstimation estimates the Camera Roll Histogram (CRH) descriptor for a given point cloud dataset containing XYZ data and normals, as presented in: More...
class  CropBox
 CropBox is a filter that allows the user to filter all the data inside of a given box. More...
class  CropBox< pcl::PCLPointCloud2 >
 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  CustomPointRepresentation
 CustomPointRepresentation extends PointRepresentation to allow for sub-part selection on the point. 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: 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  DefaultIterator
class  DefaultPointRepresentation
 DefaultPointRepresentation extends PointRepresentation to define default behavior for common point types. More...
class  DefaultPointRepresentation< FPFHSignature33 >
class  DefaultPointRepresentation< Narf36 >
class  DefaultPointRepresentation< NormalBasedSignature12 >
class  DefaultPointRepresentation< PFHRGBSignature250 >
class  DefaultPointRepresentation< PFHSignature125 >
class  DefaultPointRepresentation< PointNormal >
class  DefaultPointRepresentation< PointXYZ >
class  DefaultPointRepresentation< PointXYZI >
class  DefaultPointRepresentation< PPFSignature >
class  DefaultPointRepresentation< ShapeContext1980 >
class  DefaultPointRepresentation< SHOT1344 >
class  DefaultPointRepresentation< SHOT352 >
class  DefaultPointRepresentation< VFHSignature308 >
struct  DenseQuantizedMultiModTemplate
struct  DenseQuantizedSingleModTemplate
class  DifferenceOfNormalsEstimation
 A Difference of Normals (DoN) scale filter implementation for point cloud data. More...
class  DinastGrabber
 Grabber for DINAST devices (i.e., IPA-1002, IPA-1110, IPA-2001) More...
class  DistanceMap
 Represents a distance map obtained from a distance transformation. More...
class  DOTMOD
 Template matching using the DOTMOD approach. More...
class  DOTModality
struct  DOTMODDetection
class  EarClipping
 The ear clipping triangulation algorithm. The code is inspired by Flavien Brebion implementation, which is in n^3 and does not handle holes. More...
class  EdgeAwarePlaneComparator
 EdgeAwarePlaneComparator is a Comparator that operates on plane coefficients, for use in planar segmentation. In conjunction with OrganizedConnectedComponentSegmentation, this allows planes to be segmented from organized data. More...
class  EnergyMaps
 Stores a set of energy maps. More...
class  ESFEstimation
 ESFEstimation estimates the ensemble of shape functions descriptors for a given point cloud dataset containing points. Shape functions are D2, D3, A3. For more information about the ESF descriptor, see: Walter Wohlkinger and Markus Vincze, "Ensemble of Shape Functions for 3D Object Classification", IEEE International Conference on Robotics and Biomimetics (IEEE-ROBIO), 2011 More...
struct  ESFSignature640
 A point structure representing the Ensemble of Shape Functions (ESF). More...
class  EuclideanClusterComparator
 EuclideanClusterComparator is a comparator used for finding clusters supported by planar surfaces. This needs to be run as a second pass after extracting planar surfaces, using MultiPlaneSegmentation for example. More...
class  EuclideanClusterExtraction
 EuclideanClusterExtraction represents a segmentation class for cluster extraction in an Euclidean sense. More...
class  EuclideanPlaneCoefficientComparator
 EuclideanPlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar segmentation. In conjunction with OrganizedConnectedComponentSegmentation, this allows planes to be segmented from organized data. More...
class  ExtractIndices
 ExtractIndices extracts a set of indices from a point cloud. More...
class  ExtractIndices< pcl::PCLPointCloud2 >
 ExtractIndices extracts a set of indices from a point cloud.
Usage examples: 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. The polygonal prism is then used to segment all points lying inside it. More...
class  FastBilateralFilter
 Implementation of a fast bilateral filter for smoothing depth information in organized point clouds Based on the following paper: * Sylvain Paris and FrŽdo Durand "A Fast Approximation of the Bilateral Filter using a Signal Processing Approach" European Conference on Computer Vision (ECCV'06) More...
class  FastBilateralFilterOMP
 Implementation of a fast bilateral filter for smoothing depth information in organized point clouds Based on the following paper: * Sylvain Paris and FrÂŽdo Durand "A Fast Approximation of the Bilateral Filter using a Signal Processing Approach" European Conference on Computer Vision (ECCV'06) More...
class  Feature
 Feature represents the base feature class. Some generic 3D operations that are applicable to all features are defined here as static methods. More...
class  FeatureFromLabels
class  FeatureFromNormals
class  FeatureWithLocalReferenceFrames
 FeatureWithLocalReferenceFrames provides a public interface for descriptor extractor classes which need a local reference frame at each input keypoint. More...
class  FieldComparison
 The field-based specialization of the comparison object. More...
struct  FieldMatches
class  FileGrabber
 FileGrabber provides a container-style interface for grabbers which operate on fixed-size input. More...
class  FileReader
 Point Cloud Data (FILE) file format reader interface. Any (FILE) format file reader should implement its virtual methodes. More...
class  FileWriter
 Point Cloud Data (FILE) file format writer. Any (FILE) format file reader should implement its virtual methodes. More...
class  Filter
 Filter represents the base filter class. All filters must inherit from this interface. More...
class  Filter< pcl::PCLPointCloud2 >
 Filter represents the base filter class. All filters must inherit from this interface. More...
class  FilterIndices
 FilterIndices represents the base class for filters that are about binary point removal.
All derived classes have to implement the filter (PointCloud &output) and the filter (std::vector<int> &indices) methods. Ideally they also make use of the negative_, keep_organized_ and extract_removed_indices_ systems. The distinguishment between the negative_ and extract_removed_indices_ systems only makes sense if the class automatically filters non-finite entries in the filtering methods (recommended). More...
class  FilterIndices< pcl::PCLPointCloud2 >
 FilterIndices represents the base class for filters that are about binary point removal.
All derived classes have to implement the filter (PointCloud &output) and the filter (std::vector<int> &indices) methods. Ideally they also make use of the negative_, keep_organized_ and extract_removed_indices_ systems. The distinguishment between the negative_ and extract_removed_indices_ systems only makes sense if the class automatically filters non-finite entries in the filtering methods (recommended). More...
struct  for_each_type_impl
struct  for_each_type_impl< false >
class  FPFHEstimation
 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  FPFHSignature33
 A point structure representing the Fast Point Feature Histogram (FPFH). More...
class  FrustumCulling
 FrustumCulling filters points inside a frustum given by pose and field of view of the camera. More...
struct  Functor
class  GaussianKernel
class  GeneralizedIterativeClosestPoint
 GeneralizedIterativeClosestPoint is an ICP variant that implements the generalized iterative closest point algorithm as described by Alex Segal et al. in http://www.stanford.edu/~avsegal/resources/papers/Generalized_ICP.pdf The approach is based on using anistropic cost functions to optimize the alignment after closest point assignments have been made. The original code uses GSL and ANN while in ours we use an eigen mapped BFGS and FLANN. More...
class  GeometricConsistencyGrouping
 Class implementing a 3D correspondence grouping enforcing geometric consistency among feature correspondences. More...
class  GFPFHEstimation
 GFPFHEstimation estimates the Global Fast Point Feature Histogram (GFPFH) descriptor for a given point cloud dataset containing points and labels. More...
struct  GFPFHSignature16
 A point structure representing the GFPFH descriptor with 16 bins. More...
class  GlobalHypothesesVerification
 A hypothesis verification method proposed in "A Global Hypotheses Verification Method for 3D Object Recognition", A. Aldoma and F. Tombari and L. Di Stefano and Markus Vincze, ECCV 2012. More...
class  Grabber
 Grabber interface for PCL 1.x device drivers. More...
class  GrabCut
 Implementation of the GrabCut segmentation in "GrabCut — Interactive Foreground Extraction using Iterated Graph Cuts" by Carsten Rother, Vladimir Kolmogorov and Andrew Blake. More...
struct  GradientXY
 A point structure representing Euclidean xyz coordinates, and the intensity value. More...
class  GraphRegistration
 GraphRegistration class is the base class for graph-based registration methods More...
class  GreedyProjectionTriangulation
 GreedyProjectionTriangulation is an implementation of a greedy triangulation algorithm for 3D points based on local 2D projections. It assumes locally smooth surfaces and relatively smooth transitions between areas with different point densities. More...
class  GreedyVerification
 A greedy hypothesis verification method. More...
class  GridProjection
 Grid projection surface reconstruction method. More...
class  GroundPlaneComparator
 GroundPlaneComparator is a Comparator for detecting smooth surfaces suitable for driving. In conjunction with OrganizedConnectedComponentSegmentation, this allows smooth groundplanes / road surfaces to be segmented from point clouds. More...
class  HarrisKeypoint2D
 HarrisKeypoint2D detects Harris corners family points. More...
class  HarrisKeypoint3D
 HarrisKeypoint3D uses the idea of 2D Harris keypoints, but instead of using image gradients, it uses surface normals. More...
class  HarrisKeypoint6D
 Keypoint detector for detecting corners in 3D (XYZ), 2D (intensity) AND mixed versions of these. More...
class  HDLGrabber
 Grabber for the Velodyne High-Definition-Laser (HDL) More...
struct  Histogram
 A point structure representing an N-D histogram. More...
class  Hough3DGrouping
 Class implementing a 3D correspondence grouping algorithm that can deal with multiple instances of a model template found into a given scene. Each correspondence casts a vote for a reference point in a 3D Hough Space. The remaining 3 DOF are taken into account by associating each correspondence with a local Reference Frame. The suggested PointModelRfT is pcl::ReferenceFrame. More...
class  HypothesisVerification
 Abstract class for hypotheses verification methods. More...
class  ImageGrabber
class  ImageGrabberBase
 Base class for Image file grabber. More...
class  InitFailedException
 An exception thrown when init can not be performed should be used in all the PCLBase class inheritants. More...
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 organized data using integral images. More...
struct  IntegralImageTypeTraits
struct  IntegralImageTypeTraits< char >
struct  IntegralImageTypeTraits< float >
struct  IntegralImageTypeTraits< int >
struct  IntegralImageTypeTraits< short >
struct  IntegralImageTypeTraits< unsigned char >
struct  IntegralImageTypeTraits< unsigned int >
struct  IntegralImageTypeTraits< unsigned short >
struct  Intensity
 A point structure representing the grayscale intensity in single-channel images. Intensity is represented as a float value. More...
struct  Intensity32u
 A point structure representing the grayscale intensity in single-channel images. Intensity is represented as a uint8_t value. More...
struct  Intensity8u
 A point structure representing the grayscale intensity in single-channel images. Intensity is represented as a uint8_t value. More...
struct  IntensityGradient
 A point structure representing the intensity gradient of an XYZI point cloud. More...
class  IntensityGradientEstimation
 IntensityGradientEstimation estimates the intensity gradient for a point cloud that contains position and intensity values. The intensity gradient at a given point will be a vector orthogonal to the surface normal and pointing in the direction of the greatest increase in local intensity; the vector's magnitude indicates the rate of intensity change. More...
class  IntensitySpinEstimation
 IntensitySpinEstimation estimates the intensity-domain spin image descriptors for a given point cloud dataset containing points and intensity. For more information about the intensity-domain spin image descriptor, see: More...
struct  InterestPoint
 A point structure representing an interest point with Euclidean xyz coordinates, and an interest value. More...
struct  intersect
class  InvalidConversionException
 An exception that is thrown when a PCLPointCloud2 message cannot be converted into a PCL type. 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...
struct  ISMPeak
 This struct is used for storing peak. More...
class  IsNotDenseException
 An exception that is thrown when a PointCloud is not dense but is attemped to be used as dense. More...
class  ISSKeypoint3D
 ISSKeypoint3D detects the Intrinsic Shape Signatures keypoints for a given point cloud. This class is based on a particular implementation made by Federico Tombari and Samuele Salti and it has been explicitly adapted to PCL. More...
class  IterativeClosestPoint
 IterativeClosestPoint provides a base implementation of the Iterative Closest Point algorithm. The transformation is estimated based on Singular Value Decomposition (SVD). More...
class  IterativeClosestPointNonLinear
 IterativeClosestPointNonLinear is an ICP variant that uses Levenberg-Marquardt optimization backend. The resultant transformation is optimized as a quaternion. More...
class  IterativeClosestPointWithNormals
 IterativeClosestPointWithNormals is a special case of IterativeClosestPoint, that uses a transformation estimated based on Point to Plane distances by default. More...
class  IteratorIdx
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. The class is making use of the FLANN (Fast Library for Approximate Nearest Neighbor) project by Marius Muja and David Lowe. More...
class  KernelWidthTooSmallException
 An exception that is thrown when the kernel size is too small. More...
class  Keypoint
 Keypoint represents the base class for key points. More...
struct  Label
class  LabeledEuclideanClusterExtraction
 LabeledEuclideanClusterExtraction represents a segmentation class for cluster extraction in an Euclidean sense, with label info. More...
class  LeastMedianSquares
 LeastMedianSquares represents an implementation of the LMedS (Least Median of Squares) algorithm. LMedS is a RANSAC-like model-fitting algorithm that can tolerate up to 50% outliers without requiring thresholds to be set. See Andrea Fusiello's "Elements of Geometric Computer Vision" (http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/FUSIELLO4/tutorial.html#x1-520007) for more details. More...
class  LinearizedMaps
 Stores a set of linearized maps. More...
class  LinearLeastSquaresNormalEstimation
 Surface normal estimation on dense data using a least-squares estimation based on a first-order Taylor approximation. More...
class  LineIterator
 Organized Index Iterator for iterating over the "pixels" for a given line using the Bresenham algorithm. Supports 4 and 8 neighborhood connectivity. More...
class  LINEMOD
 Template matching using the LINEMOD approach. More...
struct  LINEMOD_OrientationMap
 Map that stores orientations. More...
struct  LINEMODDetection
 Represents a detection of a template using the LINEMOD approach. More...
class  LineRGBD
 High-level class for template matching using the LINEMOD approach based on RGB and Depth data. More...
class  MarchingCubes
 The marching cubes surface reconstruction algorithm. This is an abstract class that takes a grid and extracts the isosurface as a mesh, based on the original marching cubes paper: More...
class  MarchingCubesHoppe
 The marching cubes surface reconstruction algorithm, using a signed distance function based on the distance from tangent planes, proposed by Hoppe et. al. in: Hoppe H., DeRose T., Duchamp T., MC-Donald J., Stuetzle W., "Surface reconstruction from unorganized points", SIGGRAPH '92. More...
class  MarchingCubesRBF
 The marching cubes surface reconstruction algorithm, using a signed distance function based on radial basis functions. Partially based on: Carr J.C., Beatson R.K., Cherrie J.B., Mitchell T.J., Fright W.R., McCallum B.C. and Evans T.R., "Reconstruction and representation of 3D objects with radial basis functions" SIGGRAPH '01. More...
class  MaskMap
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. Torr and A. Zisserman, Computer Vision and Image Understanding, vol 78, 2000. More...
class  MedianFilter
 Implementation of the median filter. The median filter is one of the simplest and wide-spread image processing filters. It is known to perform well with "shot"/impulse noise (some individual pixels having extreme values), it does not reduce contrast across steps in the function (as compared to filters based on averaging), and it is robust to outliers. Furthermore, it is simple to implement and efficient, as it requires a single pass over the image. It consists of a moving window of fixed size that replaces the pixel in the center with the median inside the window. More...
class  MeshConstruction
 MeshConstruction represents a base surface reconstruction class. All mesh constructing methods that take in a point cloud and generate a surface that uses the original data as vertices should inherit from this class. More...
class  MeshProcessing
 MeshProcessing represents the base class for mesh processing algorithms. More...
class  MeshQuadricDecimationVTK
 PCL mesh decimation based on vtkQuadricDecimation from the VTK library. Please check out the original documentation for more details on the inner workings of the algorithm Warning: This wrapper does two fairly computationally expensive conversions from the PCL PolygonMesh data structure to the vtkPolyData data structure and back. More...
class  MeshSmoothingLaplacianVTK
 PCL mesh smoothing based on the vtkSmoothPolyDataFilter algorithm from the VTK library. Please check out the original documentation for more details on the inner workings of the algorithm Warning: This wrapper does two fairly computationally expensive conversions from the PCL PolygonMesh data structure to the vtkPolyData data structure and back. More...
class  MeshSmoothingWindowedSincVTK
 PCL mesh smoothing based on the vtkWindowedSincPolyDataFilter algorithm from the VTK library. Please check out the original documentation for more details on the inner workings of the algorithm Warning: This wrapper does two fairly computationally expensive conversions from the PCL PolygonMesh data structure to the vtkPolyData data structure and back. More...
class  MeshSubdivisionVTK
 PCL mesh smoothing based on the vtkLinearSubdivisionFilter, vtkLoopSubdivisionFilter, vtkButterflySubdivisionFilter depending on the selected MeshSubdivisionVTKFilterType algorithm from the VTK library. Please check out the original documentation for more details on the inner workings of the algorithm Warning: This wrapper does two fairly computationally expensive conversions from the PCL PolygonMesh data structure to the vtkPolyData data structure and back. 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. Torr and A. Zisserman, Computer Vision and Image Understanding, vol 78, 2000. More...
struct  ModelCoefficients
struct  MomentInvariants
 A point structure representing the three moment invariants. More...
class  MomentInvariantsEstimation
 MomentInvariantsEstimation estimates the 3 moment invariants (j1, j2, j3) at each 3D point. More...
class  MovingLeastSquares
 MovingLeastSquares represent an implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation. It also contains methods for upsampling the resulting cloud based on the parametric fit. Reference paper: "Computing and Rendering Point Set Surfaces" by Marc Alexa, Johannes Behr, Daniel Cohen-Or, Shachar Fleishman, David Levin and Claudio T. Silva www.sci.utah.edu/~shachar/Publications/crpss.pdf. 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. Please refer to pcl/features/narf_descriptor.h if you want the class derived from pcl Feature. See B. Steder, R. B. Rusu, K. Konolige, and W. Burgard Point Feature Extraction on 3D Range Scans Taking into Account Object Boundaries In Proc. of the IEEE Int. Conf. on Robotics &Automation (ICRA). 2011. More...
struct  Narf36
 A point structure representing the Narf descriptor. More...
class  NarfDescriptor
class  NarfKeypoint
 NARF (Normal Aligned Radial Feature) keypoints. Input is a range image, output the indices of the keypoints See B. Steder, R. B. Rusu, K. Konolige, and W. Burgard Point Feature Extraction on 3D Range Scans Taking into Account Object Boundaries In Proc. of the IEEE Int. Conf. on Robotics &Automation (ICRA). 2011. More...
struct  NdCentroidFunctor
 Helper functor structure for n-D centroid estimation. More...
struct  NdConcatenateFunctor
 Helper functor structure for concatenate. More...
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  NNClassification
 Nearest neighbor search based classification of PCL point type features. FLANN is used to identify a neighborhood, based on which different scoring schemes can be employed to obtain likelihood values for a specified list of classes. More...
struct  Normal
 A point structure representing normal coordinates and the surface curvature estimate. (SSE friendly) More...
struct  NormalBasedSignature12
 A point structure representing the Normal Based Signature for a feature matrix of 4-by-3. More...
class  NormalBasedSignatureEstimation
 Normal-based feature signature estimation class. Obtains the feature vector by applying Discrete Cosine and Fourier Transforms on an NxM array of real numbers representing the projection distances of the points in the input cloud to a disc around the point of interest. Please consult the following publication for more details: 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  NormalDistributionsTransform
 A 3D Normal Distribution Transform registration implementation for point cloud data. More...
class  NormalDistributionsTransform2D
 NormalDistributionsTransform2D provides an implementation of the Normal Distributions Transform algorithm for scan matching. More...
class  NormalEstimation
 NormalEstimation estimates local surface properties (surface normals and curvatures)at each 3D point. If PointOutT is specified as pcl::Normal, the normal is stored in the first 3 components (0-2), and the curvature is stored in component 3. 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  NormalRefinement
 Normal vector refinement class More...
class  NormalSpaceSampling
 NormalSpaceSampling samples the input point cloud in the space of normal directions computed at every point. More...
class  NotEnoughPointsException
 An exception that is thrown when the number of correspondants is not equal to the minimum required. More...
class  OrganizedConnectedComponentSegmentation
 OrganizedConnectedComponentSegmentation allows connected components to be found within organized point cloud data, given a comparison function. Given an input cloud and a comparator, it will output a PointCloud of labels, giving each connected component a unique id, along with a vector of PointIndices corresponding to each component. See OrganizedMultiPlaneSegmentation for an example application. More...
class  OrganizedFastMesh
 Simple triangulation/surface reconstruction for organized point clouds. Neighboring points (pixels in image space) are connected to construct a triangular mesh. More...
class  OrganizedIndexIterator
 base class for iterators on 2-dimensional maps like images/organized clouds etc. More...
class  OrganizedMultiPlaneSegmentation
 OrganizedMultiPlaneSegmentation finds all planes present in the input cloud, and outputs a vector of plane equations, as well as a vector of point clouds corresponding to the inliers of each detected plane. Only planes with more than min_inliers points are detected. Templated on point type, normal type, and label type. More...
class  OURCVFHEstimation
 OURCVFHEstimation estimates the Oriented, Unique and Repetable Clustered Viewpoint Feature Histogram (CVFH) descriptor for a given point cloud dataset given XYZ data and normals, as presented in: More...
class  PackedHSIComparison
 A packed HSI specialization of the comparison object. More...
class  PackedRGBComparison
 A packed rgb specialization of the comparison object. More...
class  PairwiseGraphRegistration
 PairwiseGraphRegistration class aligns the clouds two by two More...
class  PapazovHV
 A hypothesis verification method proposed in "An Efficient RANSAC for 3D Object Recognition in Noisy and Occluded Scenes", C. Papazov and D. Burschka, ACCV 2010. More...
class  PassThrough
 PassThrough passes points in a cloud based on constraints for one particular field of the point type. More...
class  PassThrough< pcl::PCLPointCloud2 >
 PassThrough uses the base Filter class methods to pass through all data that satisfies the user given constraints. More...
class  PCA
class  PCDGrabber
class  PCDGrabberBase
 Base class for PCD file grabber. More...
class  PCDReader
 Point Cloud Data (PCD) file format reader. More...
class  PCDWriter
 Point Cloud Data (PCD) file format writer. More...
class  PCLBase
 PCL base class. Implements methods that are used by most PCL algorithms. More...
class  PCLBase< pcl::PCLPointCloud2 >
class  PCLException
 A base class for all pcl exceptions which inherits from std::runtime_error. More...
struct  PCLHeader
struct  PCLImage
struct  PCLPointCloud2
struct  PCLPointField
class  PCLSurfaceBase
 Pure abstract class. All types of meshing/reconstruction algorithms in libpcl_surface must inherit from this, in order to make sure we have a consistent API. The methods that we care about here are: More...
class  PFHEstimation
 PFHEstimation estimates the Point Feature Histogram (PFH) descriptor for a given point cloud dataset containing points and normals. More...
class  PFHRGBEstimation
struct  PFHRGBSignature250
 A point structure representing the Point Feature Histogram with colors (PFHRGB). More...
struct  PFHSignature125
 A point structure representing the Point Feature Histogram (PFH). More...
class  PiecewiseLinearFunction
 This provides functionalities to efficiently return values for piecewise linear function. More...
class  PlanarPolygon
 PlanarPolygon represents a planar (2D) polygon, potentially in a 3D space. More...
class  PlanarPolygonFusion
 PlanarPolygonFusion takes a list of 2D planar polygons and attempts to reduce them to a minimum set that best represents the scene, based on various given comparators. More...
class  PlanarRegion
 PlanarRegion represents a set of points that lie in a plane. Inherits summary statistics about these points from Region3D, and summary statistics of a 3D collection of points. More...
class  PlaneClipper3D
 Implementation of a plane clipper in 3D. More...
class  PlaneCoefficientComparator
 PlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar segmentation. In conjunction with OrganizedConnectedComponentSegmentation, this allows planes to be segmented from organized data. More...
class  PlaneRefinementComparator
 PlaneRefinementComparator is a Comparator that operates on plane coefficients, for use in planar segmentation. In conjunction with OrganizedConnectedComponentSegmentation, this allows planes to be segmented from organized data. More...
class  PLYReader
 Point Cloud Data (PLY) file format reader. More...
class  PLYWriter
 Point Cloud Data (PLY) file format writer. More...
class  PointCloud
 PointCloud represents the base class in PCL for storing collections of 3D points. More...
struct  PointCorrespondence3D
 Representation of a (possible) correspondence between two 3D points in two different coordinate frames (e.g. from feature matching) More...
struct  PointCorrespondence6D
 Representation of a (possible) correspondence between two points (e.g. from feature matching), that encode complete 6DOF transoformations. More...
class  PointDataAtOffset
 A datatype that enables type-correct comparisons. More...
struct  PointIndices
struct  PointNormal
 A point structure representing Euclidean xyz coordinates, together with normal coordinates and the surface curvature estimate. (SSE friendly) More...
class  PointRepresentation
 PointRepresentation provides a set of methods for converting a point structs/object into an n-dimensional vector. More...
struct  PointRGB
 A point structure for representing RGB color. 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  PointUV
 A 2D point structure representing pixel image coordinates. More...
struct  PointWithRange
 A point structure representing Euclidean xyz coordinates, padded with an extra range float. More...
struct  PointWithScale
 A point structure representing a 3-D position and scale. More...
struct  PointWithViewpoint
 A point structure representing Euclidean xyz coordinates together with the viewpoint from which it was seen. More...
struct  PointXY
 A 2D point structure representing Euclidean xy coordinates. More...
struct  PointXYZ
 A point structure representing Euclidean xyz coordinates. (SSE friendly) More...
struct  PointXYZHSV
struct  PointXYZI
struct  PointXYZINormal
 A point structure representing Euclidean xyz coordinates, intensity, together with normal coordinates and the surface curvature estimate. More...
struct  PointXYZL
struct  PointXYZRGB
 A point structure representing Euclidean xyz coordinates, and the RGB color. More...
struct  PointXYZRGBA
 A point structure representing Euclidean xyz coordinates, and the RGBA color. More...
struct  PointXYZRGBL
struct  PointXYZRGBNormal
 A point structure representing Euclidean xyz coordinates, and the RGB color, together with normal coordinates and the surface curvature estimate. Due to historical reasons (PCL was first developed as a ROS package), the RGB information is packed into an integer and casted to a float. This is something we wish to remove in the near future, but in the meantime, the following code snippet should help you pack and unpack RGB colors in your PointXYZRGB structure: More...
class  Poisson
 The Poisson surface reconstruction algorithm. More...
struct  PolygonMesh
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  PPFEstimation
 Class that calculates the "surflet" features for each pair in the given pointcloud. Please refer to the following publication for more details: B. Drost, M. Ulrich, N. Navab, S. Ilic Model Globally, Match Locally: Efficient and Robust 3D Object Recognition 2010 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 13-18 June 2010, San Francisco, CA. More...
class  PPFHashMapSearch
class  PPFRegistration
 Class that registers two point clouds based on their sets of PPFSignatures. Please refer to the following publication for more details: B. Drost, M. Ulrich, N. Navab, S. Ilic Model Globally, Match Locally: Efficient and Robust 3D Object Recognition 2010 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 13-18 June 2010, San Francisco, CA. More...
class  PPFRGBEstimation
class  PPFRGBRegionEstimation
struct  PPFRGBSignature
 A point structure for storing the Point Pair Color Feature (PPFRGB) values. More...
struct  PPFSignature
 A point structure for storing the Point Pair Feature (PPF) values. More...
struct  PrincipalCurvatures
 A point structure representing the principal curvatures and their magnitudes. More...
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...
struct  PrincipalRadiiRSD
 A point structure representing the minimum and maximum surface radii (in meters) computed using RSD. 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. and Matas, J.G., CVPR, I: 220-226 2005. 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< pcl::PCLPointCloud2 >
 ProjectInliers uses a model and a set of inlier indices from a PointCloud to project them into a separate PointCloud. More...
class  PyramidFeatureHistogram
 Class that compares two sets of features by using a multiscale representation of the features inside a pyramid. Each level of the pyramid offers information about the similarity of the two feature sets. More...
class  QuantizableModality
 Interface for a quantizable modality. More...
class  QuantizedMap
struct  QuantizedMultiModFeature
 Feature that defines a position and quantized value in a specific modality. More...
struct  QuantizedNormalLookUpTable
 Look-up-table for fast surface normal quantization. More...
class  RadiusOutlierRemoval
 RadiusOutlierRemoval filters points in a cloud based on the number of neighbors they have. More...
class  RadiusOutlierRemoval< pcl::PCLPointCloud2 >
 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  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. Chum and J. Matas, Proc. British Machine Vision Conf. (BMVC '02), vol. 2, BMVA, pp. 448-457, 2002. More...
class  RandomSample
 RandomSample applies a random sampling with uniform probability. Based off Algorithm A from the paper "Faster Methods for Random Sampling" by Jeffrey Scott Vitter. The algorithm runs in O(N) and results in sorted indices http://www.ittc.ku.edu/~jsv/Papers/Vit84.sampling.pdf More...
class  RandomSample< pcl::PCLPointCloud2 >
 RandomSample applies a random sampling with uniform probability. 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. Fischler and Robert C. Bolles, Comm. Of the ACM 24: 381–395, June 1981. More...
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  RangeImageBorderExtractor
 Extract obstacle borders from range images, meaning positions where there is a transition from foreground to background. 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...
class  RangeImageSpherical
 RangeImageSpherical is derived from the original range image and uses a slightly different spherical projection. In the original range image, the image will appear more and more "scaled down" along the y axis, the further away from the mean line of the image a point is. This class removes this scaling, which makes it especially suitable for spinning LIDAR sensors that capure a 360° view, since a rotation of the sensor will now simply correspond to a shift of the range image. (This class is similar to RangeImagePlanar, but changes less of the behaviour of the base class.) More...
struct  ReferenceFrame
class  Region3D
 Region3D represents summary statistics of a 3D collection of points. More...
class  RegionGrowing
 Implements the well known Region Growing algorithm used for segmentation. Description can be found in the article "Segmentation of point clouds using smoothness constraint" by T. Rabbania, F. A. van den Heuvelb, G. Vosselmanc. In addition to residual test, the possibility to test curvature is added. More...
class  RegionGrowingRGB
 Implements the well known Region Growing algorithm used for segmentation based on color of points. Description can be found in the article "Color-based segmentation of point clouds" by Qingming Zhan, Yubin Liang, Yinghui Xiao. More...
struct  RegionXY
 Defines a region in XY-space. More...
class  Registration
 Registration represents the base registration class for general purpose, ICP-like methods. More...
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. A registration algorithm is considered as input and it's covergence is rendered. More...
struct  RGB
 A structure representing RGB color information. More...
class  RGBPlaneCoefficientComparator
 RGBPlaneCoefficientComparator is a Comparator that operates on plane coefficients, for use in planar segmentation. Also takes into account RGB, so we can segmented different colored co-planar regions. In conjunction with OrganizedConnectedComponentSegmentation, this allows planes to be segmented from organized data. More...
class  RIFTEstimation
 RIFTEstimation estimates the Rotation Invariant Feature Transform descriptors for a given point cloud dataset containing points and intensity. For more information about the RIFT descriptor, see: More...
class  RobotEyeGrabber
 Grabber for the Ocular Robotics RobotEye sensor. 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  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  SampleConsensus
 SampleConsensus represents the base class. All sample consensus methods must inherit from this class. 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  SampleConsensusModel
 SampleConsensusModel represents the base model class. All sample consensus models must inherit from this class. More...
class  SampleConsensusModelCircle2D
 SampleConsensusModelCircle2D defines a model for 2D circle segmentation on the X-Y plane. More...
class  SampleConsensusModelCircle3D
 SampleConsensusModelCircle3D defines a model for 3D circle segmentation. More...
class  SampleConsensusModelCone
 SampleConsensusModelCone defines a model for 3D cone segmentation. The model coefficients are defined as: More...
class  SampleConsensusModelCylinder
 SampleConsensusModelCylinder defines a model for 3D cylinder segmentation. The model coefficients are defined as: More...
class  SampleConsensusModelFromNormals
 SampleConsensusModelFromNormals represents the base model class for models that require the use of surface normals for estimation. More...
class  SampleConsensusModelLine
 SampleConsensusModelLine defines a model for 3D line segmentation. The model coefficients are defined as: More...
class  SampleConsensusModelNormalParallelPlane
 SampleConsensusModelNormalParallelPlane defines a model for 3D plane segmentation using additional surface normal constraints. Basically this means that checking for inliers will not only involve a "distance to model" criterion, but also an additional "maximum angular deviation" between the plane's normal and the inlier points normals. In addition, the plane normal must lie parallel to an user-specified axis. More...
class  SampleConsensusModelNormalPlane
 SampleConsensusModelNormalPlane defines a model for 3D plane segmentation using additional surface normal constraints. Basically this means that checking for inliers will not only involve a "distance to model" criterion, but also an additional "maximum angular deviation" between the plane's normal and the inlier points normals. More...
class  SampleConsensusModelNormalSphere
 SampleConsensusModelNormalSphere defines a model for 3D sphere segmentation using additional surface normal constraints. Basically this means that checking for inliers will not only involve a "distance to model" criterion, but also an additional "maximum angular deviation" between the sphere's normal and the inlier points normals. More...
class  SampleConsensusModelParallelLine
 SampleConsensusModelParallelLine defines a model for 3D line segmentation using additional angular constraints. The model coefficients are defined as: More...
class  SampleConsensusModelParallelPlane
 SampleConsensusModelParallelPlane defines a model for 3D plane segmentation using additional angular constraints. The plane must be parallel to a user-specified axis (setAxis) within an user-specified angle threshold (setEpsAngle). More...
class  SampleConsensusModelPerpendicularPlane
 SampleConsensusModelPerpendicularPlane defines a model for 3D plane segmentation using additional angular constraints. The plane must be perpendicular to an user-specified axis (setAxis), up to an user-specified angle threshold (setEpsAngle). The model coefficients are defined as: More...
class  SampleConsensusModelPlane
 SampleConsensusModelPlane defines a model for 3D plane segmentation. The model coefficients are defined as: More...
class  SampleConsensusModelRegistration
 SampleConsensusModelRegistration defines a model for Point-To-Point registration outlier rejection. More...
class  SampleConsensusModelRegistration2D
 SampleConsensusModelRegistration2D defines a model for Point-To-Point registration outlier rejection using distances between 2D pixels. More...
class  SampleConsensusModelSphere
 SampleConsensusModelSphere defines a model for 3D sphere segmentation. The model coefficients are defined as: More...
class  SampleConsensusModelStick
 SampleConsensusModelStick defines a model for 3D stick segmentation. A stick is a line with an user given minimum/maximum width. The model coefficients are defined as: More...
class  SampleConsensusPrerejective
 Pose estimation and alignment class using a prerejective RANSAC routine. More...
class  SamplingSurfaceNormal
 SamplingSurfaceNormal divides the input space into grids until each grid contains a maximum of N points, and samples points randomly within each grid. Normal is computed using the N points of each grid. All points sampled within a grid are assigned the same normal. More...
class  ScopeTime
 Class to measure the time spent in a scope. More...
class  SeededHueSegmentation
 SeededHueSegmentation. 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...
struct  SetIfFieldExists
 A helper functor that can set a specific value in a field if the field exists. More...
class  ShadowPoints
 ShadowPoints removes the ghost points appearing on edge discontinuties More...
struct  ShapeContext1980
 A point structure representing a Shape Context. More...
class  ShapeContext3DEstimation
 ShapeContext3DEstimation implements the 3D shape context descriptor as described in: More...
struct  SHOT1344
 A point structure representing the generic Signature of Histograms of OrienTations (SHOT) - shape+color. More...
struct  SHOT352
 A point structure representing the generic Signature of Histograms of OrienTations (SHOT) - shape only. More...
class  SHOTColorEstimation
 SHOTColorEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points, normals and colors. More...
class  SHOTColorEstimationOMP
 SHOTColorEstimationOMP estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points, normals and colors, in parallel, using the OpenMP standard. 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  SHOTEstimationBase
 SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given point cloud dataset containing points and normals. More...
class  SHOTEstimationOMP
 SHOTEstimationOMP 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  SHOTLocalReferenceFrameEstimation
 SHOTLocalReferenceFrameEstimation estimates the Local Reference Frame used in the calculation of the (SHOT) descriptor. More...
class  SHOTLocalReferenceFrameEstimationOMP
 SHOTLocalReferenceFrameEstimation estimates the Local Reference Frame used in the calculation of the (SHOT) descriptor. More...
class  SIFTKeypoint
 SIFTKeypoint detects the Scale Invariant Feature Transform keypoints for a given point cloud dataset containing points and intensity. This implementation adapts the original algorithm from images to point clouds. More...
struct  SIFTKeypointFieldSelector
struct  SIFTKeypointFieldSelector< PointNormal >
struct  SIFTKeypointFieldSelector< PointXYZ >
struct  SIFTKeypointFieldSelector< PointXYZRGB >
struct  SIFTKeypointFieldSelector< PointXYZRGBA >
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  SolverDidntConvergeException
 An exception that is thrown when the non linear solver didn't converge. More...
struct  SparseQuantizedMultiModTemplate
 A multi-modality template constructed from a set of quantized multi-modality features. More...
class  SpinImageEstimation
 Estimates spin-image descriptors in the given input points. More...
class  StaticRangeCoder
 StaticRangeCoder compression class More...
class  StatisticalMultiscaleInterestRegionExtraction
 Class for extracting interest regions from unstructured point clouds, based on a multi scale statistical approach. Please refer to the following publications for more details: Ranjith Unnikrishnan and Martial Hebert Multi-Scale Interest Regions from Unorganized Point Clouds Workshop on Search in 3D (S3D), IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) June, 2008. More...
class  StatisticalOutlierRemoval
 StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data. More...
class  StatisticalOutlierRemoval< pcl::PCLPointCloud2 >
 StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data. For more information check: More...
class  StopWatch
 Simple stopwatch. More...
class  Supervoxel
 Supervoxel container class - stores a cluster extracted using supervoxel clustering. More...
class  SupervoxelClustering
 Implements a supervoxel algorithm based on voxel structure, normals, and rgb values. More...
class  SurfaceNormalModality
 Modality based on surface normals. More...
class  SurfaceReconstruction
 SurfaceReconstruction represents a base surface reconstruction class. All surface reconstruction methods take in a point cloud and generate a new surface from it, by either re-sampling the data or generating new data altogether. These methods are thus not preserving the topology of the original data. More...
class  SurfelSmoothing
class  SUSANKeypoint
 SUSANKeypoint implements a RGB-D extension of the SUSAN detector inluding normal directions variation in top of intensity variation. It is different from Harris in that it exploits normals directly so it is faster. Original paper "SUSAN — A New Approach to Low Level Image Processing", Smith, Stephen M. and Brady, J. Michael. More...
class  SynchronizedQueue
class  Synchronizer
struct  TexMaterial
class  TextureMapping
 The texture mapping algorithm. More...
struct  TextureMesh
class  TfQuadraticXYZComparison
 A comparison whether the (x,y,z) components of a given point satisfy (p'Ap + 2v'p + c [OP] 0). Here [OP] stands for the defined pcl::ComparisonOps, i.e. for GT, GE, LT, LE or EQ; p = (x,y,z) is a point of the point cloud; A is 3x3 matrix; v is the 3x1 vector; c is a scalar. More...
class  TimeTrigger
 Timer class that invokes registered callback methods periodically. More...
class  TransformationFromCorrespondences
 Calculates a transformation based on corresponding 3D points. More...
class  UnhandledPointTypeException
class  UniformSampling
 UniformSampling assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  UniqueShapeContext
 UniqueShapeContext implements the Unique Shape Context Descriptor described here: More...
class  UnorganizedPointCloudException
 An exception that is thrown when an organized point cloud is needed but not provided. More...
class  VectorAverage
 Calculates the weighted average and the covariance matrix. More...
struct  Vertices
 Describes a set of vertices in a polygon mesh, by basically storing an array of indices. More...
class  VFHClassifierNN
 Utility class for nearest neighbor search based classification of VFH features. More...
class  VFHEstimation
 VFHEstimation estimates the Viewpoint Feature Histogram (VFH) descriptor for a given point cloud dataset containing points and normals. The default VFH implementation uses 45 binning subdivisions for each of the three extended FPFH values, plus another 45 binning subdivisions for the distances between each point and the centroid and 128 binning subdivisions for the viewpoint component, which results in a 308-byte array of float values. These are stored in a pcl::VFHSignature308 point type. A major difference between the PFH/FPFH descriptors and VFH, is that for a given point cloud dataset, only a single VFH descriptor will be estimated (vfhs->points.size() should be 1), while the resultant PFH/FPFH data will have the same number of entries as the number of points in the cloud. More...
struct  VFHSignature308
 A point structure representing the Viewpoint Feature Histogram (VFH). More...
class  VoxelGrid
 VoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  VoxelGrid< pcl::PCLPointCloud2 >
 VoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  VoxelGridCovariance
 A searchable voxel strucure containing the mean and covariance of the data. More...
class  VoxelGridLabel
class  VoxelGridOcclusionEstimation
 VoxelGrid to estimate occluded space in the scene. The ray traversal algorithm is implemented by the work of 'John Amanatides and Andrew Woo, A Fast Voxel Traversal Algorithm for Ray Tracing'. More...
class  VTKUtils
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...

Typedefs

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 BivariatePolynomialT
< float > 
BivariatePolynomial
typedef BivariatePolynomialT
< double > 
BivariatePolynomiald
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 pcl::PointCloud
< pcl::PointXYZRGB
cc
typedef pcl::PointCloud
< pcl::PointXYZRGBA
cca
typedef std::vector
< pcl::Correspondence,
Eigen::aligned_allocator
< pcl::Correspondence > > 
Correspondences
typedef boost::shared_ptr
< const Correspondences
CorrespondencesConstPtr
typedef boost::shared_ptr
< Correspondences
CorrespondencesPtr
typedef pcl::PointCloud
< pcl::PointXYZI
gc
typedef boost::shared_ptr
< PCLHeader const > 
HeaderConstPtr
typedef boost::shared_ptr
< PCLHeader
HeaderPtr
typedef std::vector
< pcl::PointIndices
IndicesClusters
typedef boost::shared_ptr
< std::vector
< pcl::PointIndices > > 
IndicesClustersPtr
typedef boost::shared_ptr
< const std::vector< int > > 
IndicesConstPtr
typedef boost::shared_ptr
< std::vector< int > > 
IndicesPtr
typedef pcl::PointCloud
< pcl::PointXYZ
mc
typedef boost::shared_ptr
< ::pcl::ModelCoefficients
const > 
ModelCoefficientsConstPtr
typedef boost::shared_ptr
< ::pcl::ModelCoefficients
ModelCoefficientsPtr
typedef std::vector
< detail::FieldMapping
MsgFieldMap
typedef boost::shared_ptr
< ::pcl::PCLImage const > 
PCLImageConstPtr
typedef boost::shared_ptr
< ::pcl::PCLImage
PCLImagePtr
typedef boost::shared_ptr
< ::pcl::PCLPointCloud2 const > 
PCLPointCloud2ConstPtr
typedef boost::shared_ptr
< ::pcl::PCLPointCloud2
PCLPointCloud2Ptr
typedef boost::shared_ptr
< ::pcl::PCLPointField const > 
PCLPointFieldConstPtr
typedef boost::shared_ptr
< ::pcl::PCLPointField
PCLPointFieldPtr
typedef std::vector
< PointCorrespondence3D,
Eigen::aligned_allocator
< PointCorrespondence3D > > 
PointCorrespondences3DVector
typedef std::vector
< PointCorrespondence6D,
Eigen::aligned_allocator
< PointCorrespondence6D > > 
PointCorrespondences6DVector
typedef boost::shared_ptr
< ::pcl::PointIndices const > 
PointIndicesConstPtr
typedef boost::shared_ptr
< ::pcl::PointIndices
PointIndicesPtr
typedef boost::shared_ptr
< ::pcl::PolygonMesh const > 
PolygonMeshConstPtr
typedef boost::shared_ptr
< ::pcl::PolygonMesh
PolygonMeshPtr
typedef
PolynomialCalculationsT< float > 
PolynomialCalculations
typedef
PolynomialCalculationsT
< double > 
PolynomialCalculationsd
typedef boost::shared_ptr
< pcl::TextureMesh const > 
TextureMeshConstPtr
typedef boost::shared_ptr
< pcl::TextureMesh
TextureMeshPtr
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 VectorAverage< float, 2 > VectorAverage2f
typedef VectorAverage< float, 3 > VectorAverage3f
typedef VectorAverage< float, 4 > VectorAverage4f
typedef boost::shared_ptr
< Vertices const > 
VerticesConstPtr
typedef boost::shared_ptr
< Vertices
VerticesPtr

Enumerations

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  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  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_NORMAL_SPHERE, SACMODEL_REGISTRATION, SACMODEL_REGISTRATION_2D, SACMODEL_PARALLEL_PLANE,
  SACMODEL_NORMAL_PARALLEL_PLANE, SACMODEL_STICK
}

Functions

template<typename PointT >
void approximatePolygon (const PlanarPolygon< PointT > &polygon, PlanarPolygon< PointT > &approx_polygon, float threshold, bool refine=false, bool closed=true)
 see approximatePolygon2D
template<typename PointT >
void approximatePolygon2D (const typename PointCloud< PointT >::VectorType &polygon, typename PointCloud< PointT >::VectorType &approx_polygon, float threshold, bool refine=false, bool closed=true)
 returns an approximate polygon to given 2D contour. Uses just X and Y values.
template<typename NormalT >
std::vector< float > assignNormalWeights (const PointCloud< NormalT > &, int, const std::vector< int > &k_indices, const std::vector< float > &k_sqr_distances)
 Assign weights of nearby normals used for refinement.
template<typename FloatVectorT >
float B_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the B norm of the vector between two points.
template<typename PointT >
float calculatePolygonArea (const pcl::PointCloud< PointT > &polygon)
 Calculate the area of a polygon given a point cloud that defines the polygon.
bool compareLabeledPointClusters (const pcl::PointIndices &a, const pcl::PointIndices &b)
 Sort clusters method (for std::sort).
bool comparePair (std::pair< float, int > i, std::pair< float, int > j)
 This function is used as a comparator for sorting.
bool comparePointClusters (const pcl::PointIndices &a, const pcl::PointIndices &b)
 Sort clusters method (for std::sort).
template<typename PointT , typename Scalar >
unsigned int compute3DCentroid (ConstCloudIterator< PointT > &cloud_iterator, Eigen::Matrix< Scalar, 4, 1 > &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 (ConstCloudIterator< PointT > &cloud_iterator, Eigen::Vector4f &centroid)
template<typename PointT >
unsigned int compute3DCentroid (ConstCloudIterator< PointT > &cloud_iterator, Eigen::Vector4d &centroid)
template<typename PointT , typename Scalar >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 4, 1 > &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, Eigen::Vector4f &centroid)
template<typename PointT >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Vector4d &centroid)
template<typename PointT , typename Scalar >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix< Scalar, 4, 1 > &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 std::vector< int > &indices, Eigen::Vector4f &centroid)
template<typename PointT >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Vector4d &centroid)
template<typename PointT , typename Scalar >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 4, 1 > &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)
template<typename PointT >
unsigned int compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Vector4d &centroid)
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 PointT , typename Scalar >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute the 3x3 covariance matrix of a given set of points. The result is returned as a Eigen::Matrix3f. Note: the covariance matrix is not normalized with the number of points. For a normalized covariance, please use computeNormalizedCovarianceMatrix.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute the 3x3 covariance matrix of a given set of points using their indices. The result is returned as a Eigen::Matrix3f. Note: the covariance matrix is not normalized with the number of points. For a normalized covariance, please use computeNormalizedCovarianceMatrix.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute the 3x3 covariance matrix of a given set of points using their indices. The result is returned as a Eigen::Matrix3f. Note: the covariance matrix is not normalized with the number of points. For a normalized covariance, please use computeNormalizedCovarianceMatrix.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud. Normalized means that every entry has been divided by the number of entries in indices. For small number of points, or if you want explicitely the sample-variance, scale the covariance matrix with n / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by this function.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud. Normalized means that every entry has been divided by the number of entries in indices. For small number of points, or if you want explicitely the sample-variance, scale the covariance matrix with n / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by this function.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute the normalized 3x3 covariance matrix for a already demeaned point cloud. Normalized means that every entry has been divided by the number of entries in indices. For small number of points, or if you want explicitely the sample-variance, scale the covariance matrix with n / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by this function.
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute normalized the 3x3 covariance matrix of a given set of points. The result is returned as a Eigen::Matrix3f. Normalized means that every entry has been divided by the number of points in the point cloud. For small number of points, or if you want explicitely the sample-variance, use computeCovarianceMatrix and scale the covariance matrix with 1 / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by the computeCovarianceMatrix function.
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute the normalized 3x3 covariance matrix of a given set of points using their indices. The result is returned as a Eigen::Matrix3f. Normalized means that every entry has been divided by the number of entries in indices. For small number of points, or if you want explicitely the sample-variance, use computeCovarianceMatrix and scale the covariance matrix with 1 / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by the computeCovarianceMatrix function.
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix)
 Compute the normalized 3x3 covariance matrix of a given set of points using their indices. The result is returned as a Eigen::Matrix3f. Normalized means that every entry has been divided by the number of entries in indices. For small number of points, or if you want explicitely the sample-variance, use computeCovarianceMatrix and scale the covariance matrix with 1 / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by the computeCovarianceMatrix function.
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4f &centroid, Eigen::Matrix3f &covariance_matrix)
template<typename PointT >
unsigned int computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, Eigen::Matrix3d &covariance_matrix)
template<typename PointT , typename Scalar >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop. Normalized means that every entry has been divided by the number of entries in indices. For small number of points, or if you want explicitely the sample-variance, scale the covariance matrix with n / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by this function.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
template<typename PointT , typename Scalar >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop. Normalized means that every entry has been divided by the number of entries in indices. For small number of points, or if you want explicitely the sample-variance, scale the covariance matrix with n / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by this function.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
template<typename PointT , typename Scalar >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > &centroid)
 Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop. Normalized means that every entry has been divided by the number of entries in indices. For small number of points, or if you want explicitely the sample-variance, scale the covariance matrix with n / (n-1), where n is the number of points used to calculate the covariance matrix and is returned by this function.
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3f &covariance_matrix, Eigen::Vector4f &centroid)
template<typename PointT >
unsigned int computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix3d &covariance_matrix, Eigen::Vector4d &centroid)
template<typename PointT , typename Scalar >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &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, Eigen::VectorXf &centroid)
template<typename PointT >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::VectorXd &centroid)
template<typename PointT , typename Scalar >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &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)
template<typename PointT >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::VectorXd &centroid)
template<typename PointT , typename Scalar >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > &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)
template<typename PointT >
void computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::VectorXd &centroid)
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.
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.
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)
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)
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 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 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 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.
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 pcl::PCLPointCloud2 &cloud1_in, const pcl::PCLPointCloud2 &cloud2_in, pcl::PCLPointCloud2 &cloud_out)
 Concatenate two datasets representing different fields.
PCL_EXPORTS bool concatenatePointCloud (const pcl::PCLPointCloud2 &cloud1, const pcl::PCLPointCloud2 &cloud2, pcl::PCLPointCloud2 &cloud_out)
 Concatenate two pcl::PCLPointCloud2.
PCL_EXPORTS void copyPointCloud (const pcl::PCLPointCloud2 &cloud_in, const std::vector< int > &indices, pcl::PCLPointCloud2 &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
PCL_EXPORTS void copyPointCloud (const pcl::PCLPointCloud2 &cloud_in, const std::vector< int, Eigen::aligned_allocator< int > > &indices, pcl::PCLPointCloud2 &cloud_out)
 Extract the indices of a given point cloud as a new point cloud.
PCL_EXPORTS void copyPointCloud (const pcl::PCLPointCloud2 &cloud_in, pcl::PCLPointCloud2 &cloud_out)
 Copy fields and point cloud data from cloud_in to cloud_out.
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 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 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, pcl::PointCloud< PointOutT > &cloud_out)
 Copy all the fields from a given point cloud into 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 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 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 Type >
void copyStringValue (const std::string &st, pcl::PCLPointCloud2 &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, pcl::PCLPointCloud2 &cloud, unsigned int point_index, unsigned int field_idx, unsigned int fields_count)
template<>
void copyStringValue< uint8_t > (const std::string &st, pcl::PCLPointCloud2 &cloud, unsigned int point_index, unsigned int field_idx, unsigned int fields_count)
template<typename Type >
void copyValueString (const pcl::PCLPointCloud2 &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 pcl::PCLPointCloud2 &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 pcl::PCLPointCloud2 &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 PointT >
void createMapping (const std::vector< pcl::PCLPointField > &msg_fields, MsgFieldMap &field_map)
template<typename FloatVectorT >
float CS_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the CS norm of the vector between two points.
float deg2rad (float alpha)
 Convert an angle from degrees to radians.
double deg2rad (double alpha)
 Convert an angle from degrees to radians.
template<typename PointT , typename Scalar >
void demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Matrix< Scalar, 4, 1 > &centroid, pcl::PointCloud< PointT > &cloud_out, int npts=0)
 Subtract a centroid from a point cloud and return the de-meaned representation.
template<typename PointT >
void demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out, int npts=0)
template<typename PointT >
void demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4d &centroid, pcl::PointCloud< PointT > &cloud_out, int npts=0)
template<typename PointT , typename Scalar >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Matrix< Scalar, 4, 1 > &centroid, pcl::PointCloud< PointT > &cloud_out)
 Subtract a centroid from a point cloud and return the de-meaned representation.
template<typename PointT >
void demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT >
void demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4d &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT , typename Scalar >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > &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)
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, const Eigen::Vector4d &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT , typename Scalar >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &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 pcl::PointIndices &indices, const Eigen::Vector4f &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, pcl::PointCloud< PointT > &cloud_out)
template<typename PointT , typename Scalar >
void demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &cloud_out, int npts=0)
 Subtract a centroid from a point cloud and return the de-meaned representation as an Eigen matrix.
template<typename PointT >
void demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out, int npts=0)
template<typename PointT >
void demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Vector4d &centroid, Eigen::MatrixXd &cloud_out, int npts=0)
template<typename PointT , typename Scalar >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &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 Eigen::Vector4f &centroid, Eigen::MatrixXf &cloud_out)
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Vector4d &centroid, Eigen::MatrixXd &cloud_out)
template<typename PointT , typename Scalar >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &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)
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, const Eigen::Vector4d &centroid, Eigen::MatrixXd &cloud_out)
template<typename PointT , typename Scalar >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > &centroid, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > &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)
template<typename PointT >
void demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Vector4d &centroid, Eigen::MatrixXd &cloud_out)
template<typename Matrix >
Matrix::Scalar determinant3x3Matrix (const Matrix &matrix)
template<typename FloatVectorT >
float Div_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the div norm of the vector between two points.
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 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 PointT >
double estimateProjectionMatrix (typename pcl::PointCloud< PointT >::ConstPtr cloud, Eigen::Matrix< float, 3, 4, Eigen::RowMajor > &projection_matrix, const std::vector< int > &indices=std::vector< int >())
 Estimates the projection matrix P = K * (R|-R*t) from organized point clouds, with K = [[fx, s, cx], [0, fy, cy], [0, 0, 1]] R = rotation matrix and t = translation vector.
template<typename PointType1 , typename PointType2 >
float euclideanDistance (const PointType1 &p1, const PointType2 &p2)
 Calculate the euclidean distance between the two given points.
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.
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< unsigned int >::max(), unsigned int max_label=std::numeric_limits< unsigned int >::max())
 Decompose a region of space into clusters based on the Euclidean distance between points.
template<typename PointT , typename Scalar >
void flipNormalTowardsViewpoint (const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Matrix< Scalar, 4, 1 > &normal)
 Flip (in place) the estimated normal of a point towards a given viewpoint.
template<typename PointT , typename Scalar >
void flipNormalTowardsViewpoint (const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Matrix< Scalar, 3, 1 > &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.
template<typename Sequence , typename F >
void for_each_type (F f)
template<typename PointT >
void fromPCLPointCloud2 (const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map)
 Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud<T> object using a field_map.
template<typename PointT >
void fromPCLPointCloud2 (const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud)
 Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud<T> object.
template<typename PointT >
void fromROSMsg (const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map)
template<typename PointT >
void fromROSMsg (const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud)
Eigen::MatrixXi getAllNeighborCellIndices ()
 Get the relative cell indices of all the 26 neighbors.
void getAllPcdFilesInDirectory (const std::string &directory, std::vector< std::string > &file_names)
 Find all *.pcd files in the directory and return them sorted.
double getAngle3D (const Eigen::Vector4f &v1, const Eigen::Vector4f &v2)
 Compute the smallest angle between two vectors in the [ 0, PI ) interval in 3D.
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. The coordinates of the two point clouds can differ. The method uses an internal KdTree for finding the closest neighbors from cloud_in in cloud_ref.
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. The coordinates of the two point clouds can differ. The method uses an internal KdTree for finding the closest neighbors from cloud_in in cloud_ref.
PCL_EXPORTS void getCameraMatrixFromProjectionMatrix (const Eigen::Matrix< float, 3, 4, Eigen::RowMajor > &projection_matrix, Eigen::Matrix3f &camera_matrix)
 Determines the camera matrix from the given projection matrix.
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.
PCL_EXPORTS bool getEigenAsPointCloud (Eigen::MatrixXf &in, pcl::PCLPointCloud2 &out)
 Copy the XYZ dimensions from an Eigen MatrixXf into a pcl::PCLPointCloud2 message.
void getEulerAngles (const Eigen::Affine3f &t, float &roll, float &pitch, float &yaw)
 Extract the Euler angles (XYZ-convention) from the given transformation.
template<int N>
void getFeaturePointCloud (const std::vector< Eigen::MatrixXf, Eigen::aligned_allocator< 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>). Can be used to transform the 2D histograms obtained in RSDEstimation into a point cloud.
int getFieldIndex (const pcl::PCLPointCloud2 &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< pcl::PCLPointField > &fields)
 Get the index of a specified field (i.e., dimension/channel)
template<typename PointT >
int getFieldIndex (const std::string &field_name, std::vector< pcl::PCLPointField > &fields)
 Get the index of a specified field (i.e., dimension/channel)
template<typename PointT >
void getFields (const pcl::PointCloud< PointT > &cloud, std::vector< pcl::PCLPointField > &fields)
 Get the list of available fields (i.e., dimension/channel)
template<typename PointT >
void getFields (std::vector< pcl::PCLPointField > &fields)
 Get the list of available fields (i.e., dimension/channel)
int getFieldSize (const int datatype)
 Obtains the size of a specific field data type in bytes.
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 pcl::PCLPointCloud2 &cloud)
 Get the available point cloud fields as a space separated string.
PCL_EXPORTS void getFieldsSizes (const std::vector< pcl::PCLPointField > &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 PCLPointField from a specific size and type.
char getFieldType (const int type)
 Obtains the type of the PCLPointField from a specific PCLPointField as a char.
template<typename PointT , typename ValT >
void getFieldValue (const PointT &pt, size_t field_offset, ValT &value)
 Get the value at a specified field in a point.
std::string getFileExtension (const std::string &input)
 Get the file extension from the given string (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 getFilenameWithoutPath (const std::string &input)
 Remove the path from the given string and return only the filename (the remaining string after the last '/')
Eigen::MatrixXi getHalfNeighborCellIndices ()
 Get the relative cell indices of the "upper half" 13 neighbors.
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 >
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.
void getMeanStd (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 getMeanStdDev (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 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 pcl::PCLPointCloud2 &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 getMinMax3D (const pcl::PCLPointCloud2ConstPtr &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 pcl::PCLPointCloud2ConstPtr &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.
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 >
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 PointT >
void getMinMax3D (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const std::vector< int > &indices, 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.
PCL_EXPORTS bool getPointCloudAsEigen (const pcl::PCLPointCloud2 &in, Eigen::MatrixXf &out)
 Copy the XYZ dimensions of a pcl::PCLPointCloud2 into Eigen format.
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.
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 , typename Scalar >
double getPrincipalTransformation (const pcl::PointCloud< PointT > &cloud, Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
 Calculates the principal (PCA-based) alignment of the point cloud.
template<typename PointT >
double getPrincipalTransformation (const pcl::PointCloud< PointT > &cloud, Eigen::Affine3f &transform)
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.
double getTime ()
template<typename Scalar >
void getTransformation (Scalar x, Scalar y, Scalar z, Scalar roll, Scalar pitch, Scalar yaw, Eigen::Transform< Scalar, 3, Eigen::Affine > &t)
 Create a transformation from the given translation and Euler angles (XYZ-convention)
void getTransformation (float x, float y, float z, float roll, float pitch, float yaw, Eigen::Affine3f &t)
void getTransformation (double x, double y, double z, double roll, double pitch, double yaw, Eigen::Affine3d &t)
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)
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 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 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 getTranslationAndEulerAngles (const Eigen::Affine3f &t, float &x, float &y, float &z, float &roll, float &pitch, float &yaw)
template<typename FloatVectorT >
float HIK_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the HIK norm of the vector between two points.
template<typename Matrix >
Matrix::Scalar invert2x2 (const Matrix &matrix, Matrix &inverse)
 Calculate the inverse of a 2x2 matrix.
template<typename Matrix >
Matrix::Scalar invert3x3Matrix (const Matrix &matrix, Matrix &inverse)
 Calculate the inverse of a general 3x3 matrix.
template<typename Matrix >
Matrix::Scalar invert3x3SymMatrix (const Matrix &matrix, Matrix &inverse)
 Calculate the inverse of a 3x3 symmetric matrix.
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 PointT >
bool isFinite (const PointT &pt)
template<>
bool isFinite< pcl::Axis > (const pcl::Axis &)
template<>
bool isFinite< pcl::BorderDescription > (const pcl::BorderDescription &p)
template<>
bool isFinite< pcl::Boundary > (const pcl::Boundary &)
template<>
bool isFinite< pcl::ESFSignature640 > (const pcl::ESFSignature640 &)
template<>
bool isFinite< pcl::FPFHSignature33 > (const pcl::FPFHSignature33 &)
template<>
bool isFinite< pcl::IntensityGradient > (const pcl::IntensityGradient &)
template<>
bool isFinite< pcl::Label > (const pcl::Label &)
template<>
bool isFinite< pcl::MomentInvariants > (const pcl::MomentInvariants &)
template<>
bool isFinite< pcl::Normal > (const pcl::Normal &n)
template<>
bool isFinite< pcl::NormalBasedSignature12 > (const pcl::NormalBasedSignature12 &)
template<>
bool isFinite< pcl::PFHRGBSignature250 > (const pcl::PFHRGBSignature250 &)
template<>
bool isFinite< pcl::PFHSignature125 > (const pcl::PFHSignature125 &)
template<>
bool isFinite< pcl::PointXY > (const pcl::PointXY &p)
template<>
bool isFinite< pcl::PPFRGBSignature > (const pcl::PPFRGBSignature &)
template<>
bool isFinite< pcl::PPFSignature > (const pcl::PPFSignature &)
template<>
bool isFinite< pcl::PrincipalCurvatures > (const pcl::PrincipalCurvatures &)
template<>
bool isFinite< pcl::PrincipalRadiiRSD > (const pcl::PrincipalRadiiRSD &)
template<>
bool isFinite< pcl::ReferenceFrame > (const pcl::ReferenceFrame &)
template<>
bool isFinite< pcl::RGB > (const pcl::RGB &)
template<>
bool isFinite< pcl::ShapeContext1980 > (const pcl::ShapeContext1980 &)
template<>
bool isFinite< pcl::SHOT1344 > (const pcl::SHOT1344 &)
template<>
bool isFinite< pcl::SHOT352 > (const pcl::SHOT352 &)
template<>
bool isFinite< pcl::VFHSignature308 > (const pcl::VFHSignature308 &)
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 Point1T , typename Point2T >
bool isSamePointType ()
 Check if two given point types are the same or not.
template<typename Type >
bool isValueFinite (const pcl::PCLPointCloud2 &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.
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.
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. This method assumes that both the point and the polygon are projected onto the XY plane.
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 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 L1_Norm (FloatVectorT A, FloatVectorT B, int dim)
 Compute the L1 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 L2_Norm_SQR (FloatVectorT A, FloatVectorT B, int dim)
 Compute the squared L2 norm of the vector between two points.
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.
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.
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 Derived >
void loadBinary (Eigen::MatrixBase< Derived > const &matrix, std::istream &file)
 Read a matrix from an input stream.
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. The result will be stored at out_data up to a maximum of out_len characters.
float normAngle (float alpha)
 Normalize an angle to (-PI, PI].
std::ostream & operator<< (std::ostream &s, const ::pcl::Vertices &v)
std::ostream & operator<< (std::ostream &s, const ::pcl::PointIndices &v)
std::ostream & operator<< (std::ostream &s, const ::pcl::ModelCoefficients &v)
std::ostream & operator<< (std::ostream &out, const PCLHeader &h)
std::ostream & operator<< (std::ostream &s, const ::pcl::PolygonMesh &v)
std::ostream & operator<< (std::ostream &s, const ::pcl::PCLImage &v)
std::ostream & operator<< (std::ostream &s, const ::pcl::PCLPointField &v)
std::ostream & operator<< (std::ostream &s, const ::pcl::PCLPointCloud2 &v)
std::ostream & operator<< (std::ostream &os, const RangeImageBorderExtractor::Parameters &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Correspondence &c)
 overloaded << operator
std::ostream & operator<< (std::ostream &os, const GradientXY &p)
template<typename real >
std::ostream & operator<< (std::ostream &os, const BivariatePolynomialT< real > &p)
std::ostream & operator<< (std::ostream &os, const _Axis &p)
std::ostream & operator<< (std::ostream &os, const NarfKeypoint::Parameters &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZ &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const RGB &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Intensity &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Intensity8u &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Intensity32u &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZI &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZL &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Label &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZRGBA &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZRGB &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZRGBL &p)
template<typename PointT >
std::ostream & operator<< (std::ostream &s, const pcl::PointCloud< PointT > &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZHSV &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXY &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointUV &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const InterestPoint &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Normal &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Axis &p)
std::ostream & operator<< (std::ostream &os, const RangeImage &r)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointNormal &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZRGBNormal &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointXYZINormal &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointWithRange &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointWithViewpoint &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const MomentInvariants &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PrincipalRadiiRSD &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Boundary &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PrincipalCurvatures &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PFHSignature125 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PFHRGBSignature250 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PPFSignature &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PPFRGBSignature &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const NormalBasedSignature12 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const ShapeContext1980 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const SHOT352 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const SHOT1344 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const ReferenceFrame &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const FPFHSignature33 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const VFHSignature308 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const ESFSignature640 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const GFPFHSignature16 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const Narf36 &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const BorderDescription &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const IntensityGradient &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointWithScale &p)
PCL_EXPORTS std::ostream & operator<< (std::ostream &os, const PointSurfel &p)
template<int N>
std::ostream & operator<< (std::ostream &os, const Histogram< N > &p)
 PCL_DEPRECATED (template< typename PointT > void fromROSMsg(const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map),"pcl::fromROSMsg is deprecated, please use fromPCLPointCloud2 instead.")
 Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud<T> object using a field_map.
 PCL_DEPRECATED (template< typename PointT > void fromROSMsg(const pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud),"pcl::fromROSMsg is deprecated, please use fromPCLPointCloud2 instead.")
 Convert a PCLPointCloud2 binary data blob into a pcl::PointCloud<T> object.
 PCL_DEPRECATED (template< typename PointT > void toROSMsg(const pcl::PointCloud< PointT > &cloud, pcl::PCLPointCloud2 &msg),"pcl::fromROSMsg is deprecated, please use fromPCLPointCloud2 instead.")
 Convert a pcl::PointCloud<T> object to a PCLPointCloud2 binary data blob.
 PCL_DEPRECATED (template< typename CloudT > void toROSMsg(const CloudT &cloud, pcl::PCLImage &msg),"pcl::fromROSMsg is deprecated, please use fromPCLPointCloud2 instead.")
 Copy the RGB fields of a PointCloud into pcl::PCLImage format.
 PCL_DEPRECATED (inline void toROSMsg(const pcl::PCLPointCloud2 &cloud, pcl::PCLImage &msg),"pcl::fromROSMsg is deprecated, please use fromPCLPointCloud2 instead.")
 Copy the RGB fields of a PCLPointCloud2 msg into pcl::PCLImage format.
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.
PCL_EXPORTS bool planeWithPlaneIntersection (const Eigen::Vector4f &plane_a, const Eigen::Vector4f &fplane_b, Eigen::VectorXf &line, double angular_tolerance=0.1)
 Determine the line of intersection of two non-parallel planes using lagrange multipliers.
void PointCloudDepthAndRGBtoXYZRGBA (PointCloud< Intensity > &depth, PointCloud< RGB > &image, float &focal, PointCloud< PointXYZRGBA > &out)
 Convert registered Depth image and RGB image to PointCloudXYZRGBA.
void PointCloudRGBtoI (PointCloud< RGB > &in, PointCloud< Intensity > &out)
 Convert a RGB point cloud to a Intensity.
void PointCloudRGBtoI (PointCloud< RGB > &in, PointCloud< Intensity8u > &out)
 Convert a RGB point cloud to a Intensity.
void PointCloudRGBtoI (PointCloud< RGB > &in, PointCloud< Intensity32u > &out)
 Convert a RGB point cloud to a Intensity.
void PointCloudXYZRGBAtoXYZHSV (PointCloud< PointXYZRGBA > &in, PointCloud< PointXYZHSV > &out)
 Convert a XYZRGB point cloud to a XYZHSV.
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.
void PointRGBtoI (RGB &in, Intensity &out)
 Convert a RGB point type to a I.
void PointRGBtoI (RGB &in, Intensity8u &out)
 Convert a RGB point type to a I.
void PointRGBtoI (RGB &in, Intensity32u &out)
 Convert a RGB point type to a I.
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 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.
void PointXYZHSVtoXYZRGB (PointXYZHSV &in, PointXYZRGB &out)
void PointXYZRGBAtoXYZHSV (PointXYZRGBA &in, PointXYZHSV &out)
 Convert a XYZRGB point type to a XYZHSV.
void PointXYZRGBtoXYZHSV (PointXYZRGB &in, PointXYZHSV &out)
 Convert a XYZRGB point type to a XYZHSV.
void PointXYZRGBtoXYZI (PointXYZRGB &in, PointXYZI &out)
 Convert a XYZRGB point type to a XYZI.
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.
float rad2deg (float alpha)
 Convert an angle from radians to degrees.
double rad2deg (double alpha)
 Convert an angle from radians to degrees.
template<class Type >
void read (std::istream &stream, Type &value)
 Function for reading data from a stream.
template<class Type >
void read (std::istream &stream, Type *value, int nr_values)
 Function for reading data arrays from a stream.
template<typename NormalT >
bool refineNormal (const PointCloud< NormalT > &cloud, int index, const std::vector< int > &k_indices, const std::vector< float > &k_sqr_distances, NormalT &point)
 Refine an indexed point based on its neighbors, this function only writes to the normal_* fields.
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.
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 removeNaNNormalsFromPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, std::vector< int > &index)
 Removes points that have their normals invalid (i.e., equal to NaN)
static const std::map
< pcl::SacModel, unsigned int > 
SAC_SAMPLE_SIZE (sample_size_pairs, sample_size_pairs+sizeof(sample_size_pairs)/sizeof(SampleSizeModel))
template<typename Derived >
void saveBinary (const Eigen::MatrixBase< Derived > &matrix, std::ostream &file)
 Write a matrix to an output stream.
void seededHueSegmentation (const PointCloud< PointXYZRGB > &cloud, const boost::shared_ptr< search::Search< PointXYZRGB > > &tree, float tolerance, PointIndices &indices_in, PointIndices &indices_out, float delta_hue=0.0)
 Decompose a region of space into clusters based on the Euclidean distance between points.
void seededHueSegmentation (const PointCloud< PointXYZRGB > &cloud, const boost::shared_ptr< search::Search< PointXYZRGBL > > &tree, float tolerance, PointIndices &indices_in, PointIndices &indices_out, float delta_hue=0.0)
 Decompose a region of space into clusters based on the Euclidean distance between points.
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 PointT , typename ValT >
void setFieldValue (PointT &pt, size_t field_offset, const ValT &value)
 Set the value at a specified field in a point.
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.
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<>
float squaredEuclideanDistance (const pcl::segmentation::grabcut::Color &c1, const pcl::segmentation::grabcut::Color &c2)
template<typename PointType1 , typename PointType2 >
float squaredEuclideanDistance (const PointType1 &p1, const PointType2 &p2)
 Calculate the squared euclidean distance between the two given points.
template<>
float squaredEuclideanDistance (const PointXY &p1, const PointXY &p2)
 Calculate the squared euclidean distance between the two given 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 PointT >
void toPCLPointCloud2 (const pcl::PointCloud< PointT > &cloud, pcl::PCLPointCloud2 &msg)
 Convert a pcl::PointCloud<T> object to a PCLPointCloud2 binary data blob.
template<typename CloudT >
void toPCLPointCloud2 (const CloudT &cloud, pcl::PCLImage &msg)
 Copy the RGB fields of a PointCloud into pcl::PCLImage format.
void toPCLPointCloud2 (const pcl::PCLPointCloud2 &cloud, pcl::PCLImage &msg)
 Copy the RGB fields of a PCLPointCloud2 msg into pcl::PCLImage format.
template<typename PointT >
void toROSMsg (const pcl::PointCloud< PointT > &cloud, pcl::PCLPointCloud2 &msg)
template<typename CloudT >
void toROSMsg (const CloudT &cloud, pcl::PCLImage &msg)
void toROSMsg (const pcl::PCLPointCloud2 &cloud, pcl::PCLImage &msg)
template<typename PointT , typename Scalar >
PointT transformPoint (const PointT &point, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
 Transform a point with members x,y,z.
template<typename PointT >
PointT transformPoint (const PointT &point, const Eigen::Affine3f &transform)
template<typename PointT , typename Scalar >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
 Apply an affine transform defined by an Eigen Transform.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Affine3f &transform)
template<typename PointT , typename Scalar >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &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)
template<typename PointT , typename Scalar >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
 Apply an affine transform defined by an Eigen Transform.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Affine3f &transform)
template<typename PointT , typename Scalar >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform)
 Apply a rigid transform defined by a 4x4 matrix.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix4f &transform)
template<typename PointT , typename Scalar >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform)
 Apply a rigid transform defined by a 4x4 matrix.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix4f &transform)
template<typename PointT , typename Scalar >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform)
 Apply a rigid transform defined by a 4x4 matrix.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix4f &transform)
template<typename PointT , typename Scalar >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 3, 1 > &offset, const Eigen::Quaternion< Scalar > &rotation)
 Apply a rigid transform defined by a 3D offset and a quaternion.
template<typename PointT >
void transformPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Vector3f &offset, const Eigen::Quaternionf &rotation)
template<typename PointT , typename Scalar >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Affine3f &transform)
template<typename PointT , typename Scalar >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Affine3f &transform)
template<typename PointT , typename Scalar >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Affine3f &transform)
template<typename PointT , typename Scalar >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix4f &transform)
template<typename PointT , typename Scalar >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix4f &transform)
template<typename PointT , typename Scalar >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix4f &transform)
template<typename PointT , typename Scalar >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 3, 1 > &offset, const Eigen::Quaternion< Scalar > &rotation)
 Transform a point cloud and rotate its normals using an Eigen transform.
template<typename PointT >
void transformPointCloudWithNormals (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Vector3f &offset, const Eigen::Quaternionf &rotation)
template<typename Derived , typename OtherDerived >
Eigen::internal::umeyama_transform_matrix_type
< Derived, OtherDerived >
::type 
umeyama (const Eigen::MatrixBase< Derived > &src, const Eigen::MatrixBase< OtherDerived > &dst, bool with_scaling=false)
 Returns the transformation between two point sets. The algorithm is based on: "Least-squares estimation of transformation parameters between two point patterns", Shinji Umeyama, PAMI 1991, DOI: 10.1109/34.88573.
template<class Type >
void write (std::ostream &stream, Type value)
 Function for writing data to a stream.
template<class Type >
void write (std::ostream &stream, Type *value, int nr_values)
 Function for writing data arrays to a stream.

Variables

const unsigned int edgeTable [256]
struct pcl::_PointXYZHSV EIGEN_ALIGN16
const int I_SHIFT_EDGE [3][2]
const int I_SHIFT_EP [12][2]
 The 12 edges of a cell.
const int I_SHIFT_PT [4]
static const int SAC_LMEDS = 1
static const int SAC_MLESAC = 5
static const int SAC_MSAC = 2
static const int SAC_PROSAC = 6
static const int SAC_RANSAC = 0
static const int SAC_RMSAC = 4
static const int SAC_RRANSAC = 3
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.

$Id$


Typedef Documentation

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

Definition at line 212 of file point_types.hpp.

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

Definition at line 213 of file point_types.hpp.

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

Definition at line 214 of file point_types.hpp.

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

Definition at line 215 of file point_types.hpp.

Definition at line 137 of file bivariate_polynomial.h.

Definition at line 136 of file bivariate_polynomial.h.

Definition at line 95 of file visualization/src/cloud_viewer.cpp.

Definition at line 94 of file visualization/src/cloud_viewer.cpp.

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

Definition at line 92 of file correspondence.h.

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

Definition at line 94 of file correspondence.h.

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

Definition at line 93 of file correspondence.h.

Definition at line 96 of file visualization/src/cloud_viewer.cpp.

typedef boost::shared_ptr<PCLHeader const> pcl::HeaderConstPtr

Definition at line 31 of file PCLHeader.h.

typedef boost::shared_ptr<PCLHeader> pcl::HeaderPtr

Definition at line 30 of file PCLHeader.h.

Definition at line 46 of file conditional_euclidean_clustering.h.

typedef boost::shared_ptr<std::vector<pcl::PointIndices> > pcl::IndicesClustersPtr

Definition at line 47 of file conditional_euclidean_clustering.h.

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

Definition at line 61 of file pcl_base.h.

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

Definition at line 60 of file pcl_base.h.

Definition at line 97 of file visualization/src/cloud_viewer.cpp.

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 65 of file point_cloud.h.

typedef boost::shared_ptr< ::pcl::PCLImage const> pcl::PCLImageConstPtr

Definition at line 38 of file PCLImage.h.

typedef boost::shared_ptr< ::pcl::PCLImage> pcl::PCLImagePtr

Definition at line 37 of file PCLImage.h.

typedef boost::shared_ptr< ::pcl::PCLPointCloud2 const> pcl::PCLPointCloud2ConstPtr

Definition at line 56 of file PCLPointCloud2.h.

typedef boost::shared_ptr< ::pcl::PCLPointCloud2> pcl::PCLPointCloud2Ptr

Definition at line 55 of file PCLPointCloud2.h.

typedef boost::shared_ptr< ::pcl::PCLPointField const> pcl::PCLPointFieldConstPtr

Definition at line 42 of file PCLPointField.h.

typedef boost::shared_ptr< ::pcl::PCLPointField> pcl::PCLPointFieldPtr

Definition at line 41 of file PCLPointField.h.

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

Definition at line 133 of file correspondence.h.

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

Definition at line 149 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 110 of file TextureMesh.h.

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

Definition at line 109 of file TextureMesh.h.

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

Definition at line 216 of file point_types.hpp.

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

Definition at line 217 of file point_types.hpp.

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

Definition at line 218 of file point_types.hpp.

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

Definition at line 219 of file point_types.hpp.

Definition at line 111 of file vector_average.h.

Definition at line 112 of file vector_average.h.

Definition at line 113 of file vector_average.h.

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

Definition at line 27 of file Vertices.h.

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

Definition at line 26 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_NORMAL_SPHERE 
SACMODEL_REGISTRATION 
SACMODEL_REGISTRATION_2D 
SACMODEL_PARALLEL_PLANE 
SACMODEL_NORMAL_PARALLEL_PLANE 
SACMODEL_STICK 

Definition at line 48 of file model_types.h.


Function Documentation

template<typename PointT >
void pcl::approximatePolygon ( const PlanarPolygon< PointT > &  polygon,
PlanarPolygon< PointT > &  approx_polygon,
float  threshold,
bool  refine = false,
bool  closed = true 
)

see approximatePolygon2D

Author:
Suat Gedikli <gedikli@willowgarage.com>

Definition at line 43 of file polygon_operations.hpp.

template<typename PointT >
void pcl::approximatePolygon2D ( const typename PointCloud< PointT >::VectorType &  polygon,
typename PointCloud< PointT >::VectorType &  approx_polygon,
float  threshold,
bool  refine = false,
bool  closed = true 
)

returns an approximate polygon to given 2D contour. Uses just X and Y values.

Note:
if refinement is not turned on, the resulting polygon will contain points from the original contour with their original z values (if any)
if refinement is turned on, the z values of the refined polygon are not valid and should be set to 0 if point contains z attribute.
Parameters:
[in]polygoninput polygon
[out]approx_polygonapproximate polygon
[in]thresholdmaximum allowed distance of an input vertex to an output edge
[in]closedwhether it is a closed polygon or a polyline
Author:
Suat Gedikli <gedikli@willowgarage.com>

Definition at line 71 of file polygon_operations.hpp.

template<typename NormalT >
std::vector<float> pcl::assignNormalWeights ( const PointCloud< NormalT > &  ,
int  ,
const std::vector< int > &  k_indices,
const std::vector< float > &  k_sqr_distances 
) [inline]

Assign weights of nearby normals used for refinement.

Todo:
Currently, this function equalizes all weights to 1
Parameters:
cloudthe point cloud data
indexa valid index in cloud representing a valid (i.e., finite) query point
k_indicesindices of neighboring points
k_sqr_distancessquared distances to the neighboring points
Returns:
weights

Definition at line 55 of file normal_refinement.h.

bool pcl::compareLabeledPointClusters ( const pcl::PointIndices a,
const pcl::PointIndices b 
) [inline]

Sort clusters method (for std::sort).

Definition at line 183 of file extract_labeled_clusters.h.

bool pcl::comparePair ( std::pair< float, int >  i,
std::pair< float, int >  j 
) [inline]

This function is used as a comparator for sorting.

Definition at line 342 of file region_growing.h.

bool pcl::comparePointClusters ( const pcl::PointIndices a,
const pcl::PointIndices b 
) [inline]

Sort clusters method (for std::sort).

Definition at line 418 of file extract_clusters.h.

template<typename PointT >
unsigned int pcl::compute3DCentroid ( ConstCloudIterator< PointT > &  cloud_iterator,
Eigen::Vector4f &  centroid 
) [inline]

Definition at line 68 of file centroid.h.

template<typename PointT >
unsigned int pcl::compute3DCentroid ( ConstCloudIterator< PointT > &  cloud_iterator,
Eigen::Vector4d &  centroid 
) [inline]

Definition at line 75 of file centroid.h.

template<typename PointT >
unsigned int pcl::compute3DCentroid ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Vector4f &  centroid 
) [inline]

Definition at line 93 of file centroid.h.

template<typename PointT >
unsigned int pcl::compute3DCentroid ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Vector4d &  centroid 
) [inline]

Definition at line 100 of file centroid.h.

template<typename PointT >
unsigned int pcl::compute3DCentroid ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::Vector4f &  centroid 
) [inline]

Definition at line 121 of file centroid.h.

template<typename PointT >
unsigned int pcl::compute3DCentroid ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::Vector4d &  centroid 
) [inline]

Definition at line 129 of file centroid.h.

template<typename PointT >
unsigned int pcl::compute3DCentroid ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
Eigen::Vector4f &  centroid 
) [inline]

Definition at line 151 of file centroid.h.

template<typename PointT >
unsigned int pcl::compute3DCentroid ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
Eigen::Vector4d &  centroid 
) [inline]

Definition at line 159 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const Eigen::Vector4f &  centroid,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 185 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const Eigen::Vector4d &  centroid,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 193 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
const Eigen::Vector4f &  centroid,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 254 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
const Eigen::Vector4d &  centroid,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 263 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
const Eigen::Vector4f &  centroid,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 291 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
const Eigen::Vector4d &  centroid,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 300 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 508 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 515 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 539 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 547 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 572 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 580 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrixNormalized ( const pcl::PointCloud< PointT > &  cloud,
const Eigen::Vector4f &  centroid,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 219 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrixNormalized ( const pcl::PointCloud< PointT > &  cloud,
const Eigen::Vector4d &  centroid,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 227 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrixNormalized ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
const Eigen::Vector4f &  centroid,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 330 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrixNormalized ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
const Eigen::Vector4d &  centroid,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 339 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrixNormalized ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
const Eigen::Vector4f &  centroid,
Eigen::Matrix3f &  covariance_matrix 
) [inline]

Definition at line 368 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeCovarianceMatrixNormalized ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
const Eigen::Vector4d &  centroid,
Eigen::Matrix3d &  covariance_matrix 
) [inline]

Definition at line 377 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeMeanAndCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Matrix3f &  covariance_matrix,
Eigen::Vector4f &  centroid 
) [inline]

Definition at line 403 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeMeanAndCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Matrix3d &  covariance_matrix,
Eigen::Vector4d &  centroid 
) [inline]

Definition at line 411 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeMeanAndCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::Matrix3f &  covariance_matrix,
Eigen::Vector4f &  centroid 
) [inline]

Definition at line 438 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeMeanAndCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::Matrix3d &  covariance_matrix,
Eigen::Vector4d &  centroid 
) [inline]

Definition at line 447 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeMeanAndCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
Eigen::Matrix3f &  covariance_matrix,
Eigen::Vector4f &  centroid 
) [inline]

Definition at line 475 of file centroid.h.

template<typename PointT >
unsigned int pcl::computeMeanAndCovarianceMatrix ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
Eigen::Matrix3d &  covariance_matrix,
Eigen::Vector4d &  centroid 
) [inline]

Definition at line 484 of file centroid.h.

template<typename PointT >
void pcl::computeNDCentroid ( const pcl::PointCloud< PointT > &  cloud,
Eigen::VectorXf &  centroid 
) [inline]

Definition at line 879 of file centroid.h.

template<typename PointT >
void pcl::computeNDCentroid ( const pcl::PointCloud< PointT > &  cloud,
Eigen::VectorXd &  centroid 
) [inline]

Definition at line 886 of file centroid.h.

template<typename PointT >
void pcl::computeNDCentroid ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::VectorXf &  centroid 
) [inline]

Definition at line 905 of file centroid.h.

template<typename PointT >
void pcl::computeNDCentroid ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::VectorXd &  centroid 
) [inline]

Definition at line 913 of file centroid.h.

template<typename PointT >
void pcl::computeNDCentroid ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
Eigen::VectorXf &  centroid 
) [inline]

Definition at line 933 of file centroid.h.

template<typename PointT >
void pcl::computeNDCentroid ( const pcl::PointCloud< PointT > &  cloud,
const pcl::PointIndices indices,
Eigen::VectorXd &  centroid 
) [inline]

Definition at line 941 of file centroid.h.

bool pcl::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.

Note:
For explanations about the features, please see the literature mentioned above (the order of the features might be different).
Parameters:
[in]p1the first XYZ point
[in]n1the first surface normal
[in]p2the second XYZ point
[in]n2the second surface normal
[out]f1the first angular feature (angle between the projection of nq_idx and u)
[out]f2the second angular feature (angle between nq_idx and v)
[out]f3the third angular feature (angle between np_idx and |p_idx - q_idx|)
[out]f4the distance feature (p_idx - q_idx)
Note:
For efficiency reasons, we assume that the point data passed to the method is finite.

Definition at line 45 of file pfh.cpp.

template<typename PointT >
void pcl::computePointNormal ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Vector4f &  plane_parameters,
float &  curvature 
) [inline]

Compute the Least-Squares plane fit for a given set of points, and return the estimated plane parameters together with the surface curvature.

Parameters:
cloudthe input point cloud
plane_parametersthe plane parameters as: a, b, c, d (ax + by + cz + d = 0)
curvaturethe estimated surface curvature as a measure of

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

Definition at line 60 of file normal_3d.h.

template<typename PointT >
void pcl::computePointNormal ( const pcl::PointCloud< PointT > &  cloud,
const std::vector< int > &  indices,
Eigen::Vector4f &  plane_parameters,
float &  curvature 
) [inline]

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.

Parameters:
cloudthe input point cloud
indicesthe point cloud indices that need to be used
plane_parametersthe plane parameters as: a, b, c, d (ax + by + cz + d = 0)
curvaturethe estimated surface curvature as a measure of

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

Definition at line 92 of file normal_3d.h.

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

Definition at line 44 of file ppf.cpp.

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 
)

Definition at line 107 of file pfh.cpp.

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]minput matrix
[out]rootsroots of the characteristic polynomial of the input matrix m, which are the eigenvalues

Definition at line 92 of file common/include/pcl/common/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]blinear parameter
[in]cconstant parameter
[out]rootssolutions of x^2 + b*x + c = 0

Definition at line 74 of file common/include/pcl/common/eigen.h.

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::MatrixXf pcl::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.

Parameters:
[in]surfacethe dataset containing the XYZ points
[in]normalsthe dataset containing the surface normals at each point in the dataset
[in]indicesthe neighborhood point indices in the dataset (first point is used as the reference)
[in]max_distthe upper bound for the considered distance interval
[in]nr_subdivthe number of subdivisions for the considered distance interval
[in]plane_radiusmaximum radius, above which everything can be considered planar
[in]radiithe output point of a type that should have r_min and r_max fields
[in]compute_histogramif not false, the full neighborhood histogram is provided, usable as a point signature
Note:
: orientation is neglected!
: we neglect points that are outside the specified interval!

Definition at line 49 of file rsd.hpp.

template<typename PointNT , typename PointOutT >
Eigen::MatrixXf pcl::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.

Parameters:
[in]normalsthe dataset containing the surface normals at each point in the dataset
[in]indicesthe neighborhood point indices in the dataset (first point is used as the reference)
[in]sqr_diststhe squared distances from the first to all points in the neighborhood
[in]max_distthe upper bound for the considered distance interval
[in]nr_subdivthe number of subdivisions for the considered distance interval
[in]plane_radiusmaximum radius, above which everything can be considered planar
[in]radiithe output point of a type that should have r_min and r_max fields
[in]compute_histogramif not false, the full neighborhood histogram is provided, usable as a point signature
Note:
: orientation is neglected!
: we neglect points that are outside the specified interval!

Definition at line 150 of file rsd.hpp.

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:
pointspoint cloud for feature extraction
radiussearch 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,
pcl::PCLPointCloud2 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]stthe string containing the value to convert and copy
[out]cloudthe cloud to copy it to
[in]point_indexthe index of the point
[in]field_idxthe index of the dimension/field
[in]fields_countthe current fields count

Definition at line 317 of file io/include/pcl/io/file_io.h.

template<>
void pcl::copyStringValue< int8_t > ( const std::string st,
pcl::PCLPointCloud2 cloud,
unsigned int  point_index,
unsigned int  field_idx,
unsigned int  fields_count 
) [inline]

Definition at line 340 of file io/include/pcl/io/file_io.h.

template<>
void pcl::copyStringValue< uint8_t > ( const std::string st,
pcl::PCLPointCloud2 cloud,
unsigned int  point_index,
unsigned int  field_idx,
unsigned int  fields_count 
) [inline]

Definition at line 366 of file io/include/pcl/io/file_io.h.

template<typename Type >
void pcl::copyValueString ( const pcl::PCLPointCloud2 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]cloudthe cloud to copy from
[in]point_indexthe index of the point
[in]point_sizethe size of the point in the cloud
[in]field_idxthe index of the dimension/field
[in]fields_countthe current fields count
[out]streamthe ostringstream to copy into

Definition at line 234 of file io/include/pcl/io/file_io.h.

template<>
void pcl::copyValueString< int8_t > ( const pcl::PCLPointCloud2 cloud,
const unsigned int  point_index,
const int  point_size,
const unsigned int  field_idx,
const unsigned int  fields_count,
std::ostream &  stream 
) [inline]

Definition at line 249 of file io/include/pcl/io/file_io.h.

template<>
void pcl::copyValueString< uint8_t > ( const pcl::PCLPointCloud2 cloud,
const unsigned int  point_index,
const int  point_size,
const unsigned int  field_idx,
const unsigned int  fields_count,
std::ostream &  stream 
) [inline]

Definition at line 265 of file io/include/pcl/io/file_io.h.

template<typename PointT >
void pcl::createMapping ( const std::vector< pcl::PCLPointField > &  msg_fields,
MsgFieldMap &  field_map 
)
Todo:
One could construct a pathological case where the struct has a field where the serialized data has padding

Definition at line 123 of file conversions.h.

template<typename PointT >
void pcl::demeanPointCloud ( ConstCloudIterator< PointT > &  cloud_iterator,
const Eigen::Vector4f &  centroid,
pcl::PointCloud< PointT > &  cloud_out,
int  npts = 0 
)

Definition at line 601 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( ConstCloudIterator< PointT > &  cloud_iterator,
const Eigen::Vector4d &  centroid,
pcl::PointCloud< PointT > &  cloud_out,
int  npts = 0 
)

Definition at line 610 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( ConstCloudIterator< PointT > &  cloud_iterator,
const Eigen::Vector4f &  centroid,
pcl::PointCloud< PointT > &  cloud_out 
)

Definition at line 630 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( ConstCloudIterator< PointT > &  cloud_iterator,
const Eigen::Vector4d &  centroid,
pcl::PointCloud< PointT > &  cloud_out 
)

Definition at line 638 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const std::vector< int > &  indices,
const Eigen::Vector4f &  centroid,
pcl::PointCloud< PointT > &  cloud_out 
)

Definition at line 659 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const std::vector< int > &  indices,
const Eigen::Vector4d &  centroid,
pcl::PointCloud< PointT > &  cloud_out 
)

Definition at line 668 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const pcl::PointIndices indices,
const Eigen::Vector4f &  centroid,
pcl::PointCloud< PointT > &  cloud_out 
)

Definition at line 690 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const pcl::PointIndices indices,
const Eigen::Vector4d &  centroid,
pcl::PointCloud< PointT > &  cloud_out 
)

Definition at line 699 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( ConstCloudIterator< PointT > &  cloud_iterator,
const Eigen::Vector4f &  centroid,
Eigen::MatrixXf &  cloud_out,
int  npts = 0 
)

Definition at line 723 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( ConstCloudIterator< PointT > &  cloud_iterator,
const Eigen::Vector4d &  centroid,
Eigen::MatrixXd &  cloud_out,
int  npts = 0 
)

Definition at line 732 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const Eigen::Vector4f &  centroid,
Eigen::MatrixXf &  cloud_out 
)

Definition at line 754 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const Eigen::Vector4d &  centroid,
Eigen::MatrixXd &  cloud_out 
)

Definition at line 762 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const std::vector< int > &  indices,
const Eigen::Vector4f &  centroid,
Eigen::MatrixXf &  cloud_out 
)

Definition at line 785 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const std::vector< int > &  indices,
const Eigen::Vector4d &  centroid,
Eigen::MatrixXd &  cloud_out 
)

Definition at line 794 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const pcl::PointIndices indices,
const Eigen::Vector4f &  centroid,
Eigen::MatrixXf &  cloud_out 
)

Definition at line 818 of file centroid.h.

template<typename PointT >
void pcl::demeanPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const pcl::PointIndices indices,
const Eigen::Vector4d &  centroid,
Eigen::MatrixXd &  cloud_out 
)

Definition at line 827 of file centroid.h.

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

Definition at line 650 of file common/include/pcl/common/eigen.h.

template<typename PointT >
double pcl::estimateProjectionMatrix ( typename pcl::PointCloud< PointT >::ConstPtr  cloud,
Eigen::Matrix< float, 3, 4, Eigen::RowMajor > &  projection_matrix,
const std::vector< int > &  indices = std::vector<int> () 
)

Estimates the projection matrix P = K * (R|-R*t) from organized point clouds, with K = [[fx, s, cx], [0, fy, cy], [0, 0, 1]] R = rotation matrix and t = translation vector.

Parameters:
[in]cloudinput cloud. Must be organized and from a projective device. e.g. stereo or kinect, ...
[out]projection_matrixoutput projection matrix
[in]indicesThe indices to be used to determine the projection matrix
Returns:
the resudial error. A high residual indicates, that the point cloud was not from a projective device.

Definition at line 78 of file projection_matrix.hpp.

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]p1the first point
[in]p2the second point

Definition at line 196 of file common/include/pcl/common/distances.h.

template<typename PointT >
void pcl::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.

Parameters:
cloudthe point cloud message
treethe spatial locator (e.g., kd-tree) used for nearest neighbors searching
Note:
the tree has to be created as a spatial locator on cloud
Parameters:
tolerancethe spatial cluster tolerance as a measure in L2 Euclidean space
clustersthe resultant clusters containing point indices (as a vector of PointIndices)
min_pts_per_clusterminimum number of points that a cluster may contain (default: 1)
max_pts_per_clustermaximum number of points that a cluster may contain (default: max int)

Definition at line 45 of file extract_clusters.hpp.

template<typename PointT >
void pcl::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.

Parameters:
cloudthe point cloud message
indicesa list of point indices to use from cloud
treethe spatial locator (e.g., kd-tree) used for nearest neighbors searching
Note:
the tree has to be created as a spatial locator on cloud and indices
Parameters:
tolerancethe spatial cluster tolerance as a measure in L2 Euclidean space
clustersthe resultant clusters containing point indices (as a vector of PointIndices)
min_pts_per_clusterminimum number of points that a cluster may contain (default: 1)
max_pts_per_clustermaximum number of points that a cluster may contain (default: max int)
Todo:
: fix the return value, make sure the exit is not needed anymore

Definition at line 118 of file extract_clusters.hpp.

template<typename PointT , typename Normal >
void pcl::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.

Parameters:
cloudthe point cloud message
normalsthe point cloud message containing normal information
treethe spatial locator (e.g., kd-tree) used for nearest neighbors searching
Note:
the tree has to be created as a spatial locator on cloud
Parameters:
tolerancethe spatial cluster tolerance as a measure in the L2 Euclidean space
clustersthe resultant clusters containing point indices (as a vector of PointIndices)
eps_anglethe maximum allowed difference between normals in radians for cluster/region growing
min_pts_per_clusterminimum number of points that a cluster may contain (default: 1)
max_pts_per_clustermaximum number of points that a cluster may contain (default: max int)

Definition at line 99 of file extract_clusters.h.

template<typename PointT , typename Normal >
void pcl::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.

Parameters:
cloudthe point cloud message
normalsthe point cloud message containing normal information
indicesa list of point indices to use from cloud
treethe spatial locator (e.g., kd-tree) used for nearest neighbors searching
Note:
the tree has to be created as a spatial locator on cloud
Parameters:
tolerancethe spatial cluster tolerance as a measure in the L2 Euclidean space
clustersthe resultant clusters containing point indices (as PointIndices)
eps_anglethe maximum allowed difference between normals in degrees for cluster/region growing
min_pts_per_clusterminimum number of points that a cluster may contain (default: 1)
max_pts_per_clustermaximum number of points that a cluster may contain (default: max int)

Definition at line 198 of file extract_clusters.h.

template<typename PointT >
void pcl::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<unsigned int>::max (),
unsigned int  max_label = std::numeric_limits<unsigned int>::max () 
)

Decompose a region of space into clusters based on the Euclidean distance between points.

Parameters:
[in]cloudthe point cloud message
[in]treethe spatial locator (e.g., kd-tree) used for nearest neighbors searching
Note:
the tree has to be created as a spatial locator on cloud
Parameters:
[in]tolerancethe spatial cluster tolerance as a measure in L2 Euclidean space
[out]labeled_clustersthe resultant clusters containing point indices (as a vector of PointIndices)
[in]min_pts_per_clusterminimum number of points that a cluster may contain (default: 1)
[in]max_pts_per_clustermaximum number of points that a cluster may contain (default: max int)
[in]max_label

Definition at line 44 of file extract_labeled_clusters.hpp.

template<typename PointT , typename Scalar >
void pcl::flipNormalTowardsViewpoint ( const PointT point,
float  vp_x,
float  vp_y,
float  vp_z,
Eigen::Matrix< Scalar, 4, 1 > &  normal 
) [inline]

Flip (in place) the estimated normal of a point towards a given viewpoint.

Parameters:
pointa given point
vp_xthe X coordinate of the viewpoint
vp_ythe X coordinate of the viewpoint
vp_zthe X coordinate of the viewpoint
normalthe plane normal to be flipped

Definition at line 119 of file normal_3d.h.

template<typename PointT , typename Scalar >
void pcl::flipNormalTowardsViewpoint ( const PointT point,
float  vp_x,
float  vp_y,
float  vp_z,
Eigen::Matrix< Scalar, 3, 1 > &  normal 
) [inline]

Flip (in place) the estimated normal of a point towards a given viewpoint.

Parameters:
pointa given point
vp_xthe X coordinate of the viewpoint
vp_ythe X coordinate of the viewpoint
vp_zthe X coordinate of the viewpoint
normalthe plane normal to be flipped

Definition at line 146 of file normal_3d.h.

template<typename PointT >
void pcl::flipNormalTowardsViewpoint ( const PointT point,
float  vp_x,
float  vp_y,
float  vp_z,
float &  nx,
float &  ny,
float &  nz 
) [inline]

Flip (in place) the estimated normal of a point towards a given viewpoint.

Parameters:
pointa given point
vp_xthe X coordinate of the viewpoint
vp_ythe X coordinate of the viewpoint
vp_zthe X coordinate of the viewpoint
nxthe resultant X component of the plane normal
nythe resultant Y component of the plane normal
nzthe resultant Z component of the plane normal

Definition at line 167 of file normal_3d.h.

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

Definition at line 91 of file for_each_type.h.

template<typename PointT >
void pcl::fromPCLPointCloud2 ( const pcl::PCLPointCloud2 msg,
pcl::PointCloud< PointT > &  cloud,
const MsgFieldMap &  field_map 
)

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

Parameters:
[in]msgthe PCLPointCloud2 binary blob
[out]cloudthe resultant pcl::PointCloud<T>
[in]field_mapa MsgFieldMap object
Note:
Use fromPCLPointCloud2 (PCLPointCloud2, PointCloud<T>) directly or create you own MsgFieldMap using:
 MsgFieldMap field_map;
 createMapping<PointT> (msg.fields, field_map);

Definition at line 167 of file conversions.h.

template<typename PointT >
void pcl::fromPCLPointCloud2 ( const pcl::PCLPointCloud2 msg,
pcl::PointCloud< PointT > &  cloud 
)

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

Parameters:
[in]msgthe PCLPointCloud2 binary blob
[out]cloudthe resultant pcl::PointCloud<T>

Definition at line 225 of file conversions.h.

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

Definition at line 71 of file ros/conversions.h.

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

Definition at line 85 of file ros/conversions.h.

Eigen::MatrixXi pcl::getAllNeighborCellIndices ( ) [inline]

Get the relative cell indices of all the 26 neighbors.

Note:
Useful in combination with getNeighborCentroidIndices() from VoxelGrid

Definition at line 122 of file voxel_grid.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:
directorythe directory to be searched
file_namesthe resulting (sorted) list of .pcd files

Definition at line 46 of file file_io.hpp.

template<typename PointT >
void pcl::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. The coordinates of the two point clouds can differ. The method uses an internal KdTree for finding the closest neighbors from cloud_in in cloud_ref.

Parameters:
[in]cloud_inthe input point cloud dataset
[in]cloud_refthe reference point cloud dataset
[out]indicesthe resultant set of nearest neighbor indices of cloud_in in cloud_ref

Definition at line 68 of file kdtree/include/pcl/kdtree/impl/io.hpp.

template<typename Point1T , typename Point2T >
void pcl::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. The coordinates of the two point clouds can differ. The method uses an internal KdTree for finding the closest neighbors from cloud_in in cloud_ref.

Parameters:
[in]cloud_inthe input point cloud dataset
[in]cloud_refthe reference point cloud dataset
[out]indicesthe resultant set of nearest neighbor indices of cloud_in in cloud_ref

Definition at line 48 of file kdtree/include/pcl/kdtree/impl/io.hpp.

void pcl::getCameraMatrixFromProjectionMatrix ( const Eigen::Matrix< float, 3, 4, Eigen::RowMajor > &  projection_matrix,
Eigen::Matrix3f &  camera_matrix 
)

Determines the camera matrix from the given projection matrix.

Note:
This method does NOT use a RQ decomposition, but uses the fact that the left 3x3 matrix P' of P squared eliminates the rotational part. P' = K * R -> P' * P'^T = K * R * R^T * K = K * K^T
Parameters:
[in]projection_matrix
[out]camera_matrix

Definition at line 42 of file projection_matrix.cpp.

template<int N>
void pcl::getFeaturePointCloud ( const std::vector< Eigen::MatrixXf, Eigen::aligned_allocator< 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>). Can be used to transform the 2D histograms obtained in RSDEstimation into a point cloud.

Note:
The template paramter N should be (greater or) equal to the product of the number of rows and columns.
Parameters:
[in]histograms2Dthe list of neighborhood 2D histograms
[out]histogramsPCthe dataset containing the linearized matrices

Definition at line 56 of file rsd.h.

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

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

Parameters:
[in]fieldsthe input vector containing the fields
[out]field_sizesthe resultant field sizes in bytes
template<typename PointT , typename ValT >
void pcl::getFieldValue ( const PointT pt,
size_t  field_offset,
ValT &  value 
) [inline]

Get the value at a specified field in a point.

Parameters:
[in]ptthe point to get the value from
[in]field_offsetthe offset of the field
[out]valuethe value to retreive

Definition at line 297 of file point_traits.h.

std::string pcl::getFileExtension ( const std::string input) [inline]

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

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

Definition at line 81 of file file_io.hpp.

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

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

Definition at line 75 of file file_io.hpp.

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

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

Definition at line 69 of file file_io.hpp.

Eigen::MatrixXi pcl::getHalfNeighborCellIndices ( ) [inline]

Get the relative cell indices of the "upper half" 13 neighbors.

Note:
Useful in combination with getNeighborCentroidIndices() from VoxelGrid

Definition at line 85 of file voxel_grid.h.

void pcl::getMinMax3D ( const pcl::PCLPointCloud2ConstPtr 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]cloudthe pointer to a pcl::PCLPointCloud2 dataset
[in]x_idxthe index of the X channel
[in]y_idxthe index of the Y channel
[in]z_idxthe index of the Z channel
[out]min_ptthe minimum data point
[out]max_ptthe maximum data point

Definition at line 49 of file filters/src/voxel_grid.cpp.

void pcl::getMinMax3D ( const pcl::PCLPointCloud2ConstPtr 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]cloudthe pointer to a pcl::PCLPointCloud2 dataset
[in]x_idxthe index of the X channel
[in]y_idxthe index of the Y channel
[in]z_idxthe index of the Z channel
[in]distance_field_namethe name of the dimension to filter data along to
[in]min_distancethe minimum acceptable value in distance_field_name data
[in]max_distancethe maximum acceptable value in distance_field_name data
[out]min_ptthe minimum data point
[out]max_ptthe maximum data point
[in]limit_negativefalse if data inside of the [min_distance; max_distance] interval should be considered, true otherwise.

Definition at line 94 of file filters/src/voxel_grid.cpp.

template<typename PointT >
void pcl::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.

Parameters:
[in]cloudthe point cloud data message
[in]distance_field_namethe field name that contains the distance values
[in]min_distancethe minimum distance a point will be considered from
[in]max_distancethe maximum distance a point will be considered to
[out]min_ptthe resultant minimum bounds
[out]max_ptthe resultant maximum bounds
[in]limit_negativeif set to true, then all points outside of the interval (min_distance;max_distace) are considered

Definition at line 47 of file voxel_grid.hpp.

template<typename PointT >
void pcl::getMinMax3D ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const std::vector< int > &  indices,
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.

Parameters:
[in]cloudthe point cloud data message
[in]indicesthe vector of indices to use
[in]distance_field_namethe field name that contains the distance values
[in]min_distancethe minimum distance a point will be considered from
[in]max_distancethe maximum distance a point will be considered to
[out]min_ptthe resultant minimum bounds
[out]max_ptthe resultant maximum bounds
[in]limit_negativeif set to true, then all points outside of the interval (min_distance;max_distace) are considered

Definition at line 125 of file voxel_grid.hpp.

template<typename PointT >
void pcl::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.

Parameters:
srcthe input point cloud source
tgtthe input point cloud target we need to obtain the difference against
thresholdthe distance threshold (tolerance) for point correspondences. (e.g., check if f a point p1 from src has a correspondence > threshold than a point p2 from tgt)
treethe spatial locator (e.g., kd-tree) used for nearest neighbors searching built over tgt
outputthe resultant output point cloud difference

Definition at line 46 of file segment_differences.hpp.

template<typename PointT , typename Scalar >
double pcl::getPrincipalTransformation ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Transform< Scalar, 3, Eigen::Affine > &  transform 
) [inline]

Calculates the principal (PCA-based) alignment of the point cloud.

Parameters:
[in]cloudthe input point cloud
[out]transformthe resultant transform
Returns:
the ratio lambda1/lambda2 or lambda2/lambda3, whatever is closer to 1.
Note:
If the return value is close to one then the transformation might be not unique -> two principal directions have almost same variance (extend)

Definition at line 309 of file transforms.hpp.

template<typename PointT >
double pcl::getPrincipalTransformation ( const pcl::PointCloud< PointT > &  cloud,
Eigen::Affine3f &  transform 
) [inline]

Definition at line 411 of file common/include/pcl/common/transforms.h.

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_beforeVector of correspondences before rejection
[in]correspondences_afterVector of correspondences after rejection
[out]indicesQuery point indices of correspondences that have been rejected
[in]presorting_requiredEnable/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.

Definition at line 45 of file correspondence.cpp.

double pcl::getTime ( ) [inline]

Definition at line 146 of file common/time.h.

void pcl::getTransformation ( float  x,
float  y,
float  z,
float  roll,
float  pitch,
float  yaw,
Eigen::Affine3f &  t 
) [inline]

Definition at line 781 of file common/include/pcl/common/eigen.h.

void pcl::getTransformation ( double  x,
double  y,
double  z,
double  roll,
double  pitch,
double  yaw,
Eigen::Affine3d &  t 
) [inline]

Definition at line 788 of file common/include/pcl/common/eigen.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 53 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::Axis > ( const pcl::Axis ) [inline]

Definition at line 68 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::BorderDescription > ( const pcl::BorderDescription p) [inline]

Definition at line 96 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::Boundary > ( const pcl::Boundary ) [inline]

Definition at line 71 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::ESFSignature640 > ( const pcl::ESFSignature640 ) [inline]

Definition at line 84 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::FPFHSignature33 > ( const pcl::FPFHSignature33 ) [inline]

Definition at line 82 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::IntensityGradient > ( const pcl::IntensityGradient ) [inline]

Definition at line 85 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::Label > ( const pcl::Label ) [inline]

Definition at line 67 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::MomentInvariants > ( const pcl::MomentInvariants ) [inline]

Definition at line 69 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::Normal > ( const pcl::Normal n) [inline]

Definition at line 103 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::NormalBasedSignature12 > ( const pcl::NormalBasedSignature12 ) [inline]

Definition at line 81 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::PFHRGBSignature250 > ( const pcl::PFHRGBSignature250 ) [inline]

Definition at line 78 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::PFHSignature125 > ( const pcl::PFHSignature125 ) [inline]

Definition at line 77 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::PointXY > ( const pcl::PointXY p) [inline]

Definition at line 89 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::PPFRGBSignature > ( const pcl::PPFRGBSignature ) [inline]

Definition at line 80 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::PPFSignature > ( const pcl::PPFSignature ) [inline]

Definition at line 79 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::PrincipalCurvatures > ( const pcl::PrincipalCurvatures ) [inline]

Definition at line 72 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::PrincipalRadiiRSD > ( const pcl::PrincipalRadiiRSD ) [inline]

Definition at line 70 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::ReferenceFrame > ( const pcl::ReferenceFrame ) [inline]

Definition at line 75 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::RGB > ( const pcl::RGB ) [inline]

Definition at line 66 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::ShapeContext1980 > ( const pcl::ShapeContext1980 ) [inline]

Definition at line 76 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::SHOT1344 > ( const pcl::SHOT1344 ) [inline]

Definition at line 74 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::SHOT352 > ( const pcl::SHOT352 ) [inline]

Definition at line 73 of file point_tests.h.

template<>
bool pcl::isFinite< pcl::VFHSignature308 > ( const pcl::VFHSignature308 ) [inline]

Definition at line 83 of file point_tests.h.

template<typename PointT >
bool pcl::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.

Note:
this method accepts any general 3D point that is projected onto the 2D polygon, but performs an internal XY projection of both the polygon and the point.
Parameters:
pointa 3D point projected onto the same plane as the polygon
polygona polygon

Definition at line 47 of file extract_polygonal_prism_data.hpp.

template<typename Point1T , typename Point2T >
bool pcl::isSamePointType ( ) [inline]

Check if two given point types are the same or not.

Definition at line 273 of file common/include/pcl/common/io.h.

template<typename Type >
bool pcl::isValueFinite ( const pcl::PCLPointCloud2 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]cloudthe cloud that contains the data
[in]point_indexthe index of the point
[in]point_sizethe size of the point in the cloud
[in]field_idxthe index of the dimension/field
[in]fields_countthe current fields count
Returns:
true if the value is finite, false otherwise

Definition at line 292 of file io/include/pcl/io/file_io.h.

bool pcl::isVisible ( const Eigen::Vector2f &  X,
const Eigen::Vector2f &  S1,
const Eigen::Vector2f &  S2,
const Eigen::Vector2f &  R = Eigen::Vector2f::Zero () 
) [inline]

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.

Parameters:
X2D coordinate of the point
S12D coordinate of the segment's first point
S22D coordinate of the segment's secont point
R2D coorddinate of the reference point (defaults to 0,0)

Definition at line 68 of file gp3.h.

template<typename PointT >
bool pcl::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. This method assumes that both the point and the polygon are projected onto the XY plane.

Note:
(This is highly optimized code taken from http://www.visibone.com/inpoly/) Copyright (c) 1995-1996 Galacticomm, Inc. Freeware source code.
Parameters:
pointa 3D point projected onto the same plane as the polygon
polygona polygon

Definition at line 107 of file extract_polygonal_prism_data.hpp.

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_datathe input uncompressed buffer
[in]in_lenthe length of the input buffer
[out]out_datathe output buffer where the compressed result will be stored
[out]out_lenthe length of the output buffer

Definition at line 84 of file lzf.cpp.

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_datathe input compressed buffer
[in]in_lenthe length of the input buffer
[out]out_datathe output buffer (must be resized to out_len)
[out]out_lenthe length of the output buffer

Definition at line 276 of file lzf.cpp.

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

Definition at line 29 of file Vertices.h.

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 &  s,
const ::pcl::ModelCoefficients v 
) [inline]

Definition at line 30 of file ModelCoefficients.h.

std::ostream& pcl::operator<< ( std::ostream &  out,
const PCLHeader &  h 
) [inline]

Definition at line 33 of file PCLHeader.h.

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::PCLImage v 
) [inline]

Definition at line 40 of file PCLImage.h.

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

Definition at line 44 of file PCLPointField.h.

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

Definition at line 58 of file PCLPointCloud2.h.

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

Definition at line 60 of file range_image_border_extractor.hpp.

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

overloaded << operator

Definition at line 88 of file correspondence.cpp.

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

Definition at line 107 of file color_gradient_dot_modality.h.

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

Definition at line 230 of file bivariate_polynomial.hpp.

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

Definition at line 165 of file point_types.cpp.

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

Definition at line 197 of file narf_keypoint.h.

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

Definition at line 42 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const RGB p 
)

Definition at line 49 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const Intensity &  p 
)

Definition at line 60 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const Intensity8u &  p 
)

Definition at line 67 of file point_types.cpp.

PCL_EXPORTS std::ostream& pcl::operator<< ( std::ostream &  os,
const Intensity32u &  p 
)
std::ostream & pcl::operator<< ( std::ostream &  os,
const PointXYZI &  p 
)

Definition at line 74 of file point_types.cpp.

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

Definition at line 81 of file point_types.cpp.

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

Definition at line 88 of file point_types.cpp.

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

Definition at line 95 of file point_types.cpp.

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

Definition at line 106 of file point_types.cpp.

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

Definition at line 116 of file point_types.cpp.

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

Definition at line 602 of file point_cloud.h.

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

Definition at line 123 of file point_types.cpp.

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

Definition at line 130 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const PointUV &  p 
)

Definition at line 137 of file point_types.cpp.

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

Definition at line 144 of file point_types.cpp.

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

Definition at line 151 of file point_types.cpp.

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

Definition at line 158 of file point_types.cpp.

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

/ingroup range_image

Definition at line 817 of file range_image.h.

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

Definition at line 172 of file point_types.cpp.

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

Definition at line 179 of file point_types.cpp.

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

Definition at line 186 of file point_types.cpp.

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

Definition at line 193 of file point_types.cpp.

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

Definition at line 200 of file point_types.cpp.

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

Definition at line 207 of file point_types.cpp.

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

Definition at line 214 of file point_types.cpp.

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

Definition at line 221 of file point_types.cpp.

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

Definition at line 228 of file point_types.cpp.

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

Definition at line 235 of file point_types.cpp.

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

Definition at line 243 of file point_types.cpp.

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

Definition at line 251 of file point_types.cpp.

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

Definition at line 258 of file point_types.cpp.

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

Definition at line 266 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const ShapeContext1980 &  p 
)

Definition at line 274 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const SHOT352 &  p 
)

Definition at line 284 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const SHOT1344 &  p 
)

Definition at line 294 of file point_types.cpp.

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

Definition at line 304 of file point_types.cpp.

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

Definition at line 314 of file point_types.cpp.

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

Definition at line 322 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const ESFSignature640 &  p 
)

Definition at line 330 of file point_types.cpp.

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

Definition at line 338 of file point_types.cpp.

std::ostream & pcl::operator<< ( std::ostream &  os,
const Narf36 &  p 
)

Definition at line 346 of file point_types.cpp.

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

Definition at line 355 of file point_types.cpp.

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

Definition at line 362 of file point_types.cpp.

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

Definition at line 369 of file point_types.cpp.

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

Definition at line 376 of file point_types.cpp.

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

Definition at line 1484 of file point_types.hpp.

pcl::PCL_DEPRECATED ( template< typename PointT > void   fromROSMsgconst pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud, const MsgFieldMap &field_map,
"pcl::fromROSMsg is  deprecated,
please use fromPCLPointCloud2 instead."   
)

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

Parameters:
[in]msgthe PCLPointCloud2 binary blob
[out]cloudthe resultant pcl::PointCloud<T>
[in]field_mapa MsgFieldMap object
Note:
Use fromROSMsg (PCLPointCloud2, PointCloud<T>) directly or create you own MsgFieldMap using:
 MsgFieldMap field_map;
 createMapping<PointT> (msg.fields, field_map);
pcl::PCL_DEPRECATED ( template< typename PointT > void   fromROSMsgconst pcl::PCLPointCloud2 &msg, pcl::PointCloud< PointT > &cloud,
"pcl::fromROSMsg is  deprecated,
please use fromPCLPointCloud2 instead."   
)

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

Parameters:
[in]msgthe PCLPointCloud2 binary blob
[out]cloudthe resultant pcl::PointCloud<T>
pcl::PCL_DEPRECATED ( template< typename PointT > void   toROSMsgconst pcl::PointCloud< PointT > &cloud, pcl::PCLPointCloud2 &msg,
"pcl::fromROSMsg is  deprecated,
please use fromPCLPointCloud2 instead."   
)

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

Parameters:
[in]cloudthe input pcl::PointCloud<T>
[out]msgthe resultant PCLPointCloud2 binary blob
pcl::PCL_DEPRECATED ( template< typename CloudT > void   toROSMsgconst CloudT &cloud, pcl::PCLImage &msg,
"pcl::fromROSMsg is  deprecated,
please use fromPCLPointCloud2 instead."   
)

Copy the RGB fields of a PointCloud into pcl::PCLImage format.

Parameters:
[in]cloudthe point cloud message
[out]msgthe resultant pcl::PCLImage CloudT cloud type, CloudT should be akin to pcl::PointCloud<pcl::PointXYZRGBA>
Note:
will throw std::runtime_error if there is a problem
pcl::PCL_DEPRECATED ( inline void   toROSMsgconst pcl::PCLPointCloud2 &cloud, pcl::PCLImage &msg,
"pcl::fromROSMsg is  deprecated,
please use fromPCLPointCloud2 instead."   
)

Copy the RGB fields of a PCLPointCloud2 msg into pcl::PCLImage format.

Parameters:
cloudthe point cloud message
msgthe resultant pcl::PCLImage will throw std::runtime_error if there is a problem
bool pcl::planeWithPlaneIntersection ( const Eigen::Vector4f &  plane_a,
const Eigen::Vector4f &  fplane_b,
Eigen::VectorXf &  line,
double  angular_tolerance = 0.1 
)

Determine the line of intersection of two non-parallel planes using lagrange multipliers.

Note:
Described in: "Intersection of Two Planes, John Krumm, Microsoft Research, Redmond, WA, USA"
Parameters:
[in]plane_acoefficients of plane A and plane B in the form ax + by + cz + d = 0
[out]plane_bcoefficients of line where line.tail<3>() = direction vector and line.head<3>() the point on the line clossest to (0, 0, 0)
Returns:
true if succeeded/planes aren't parallel

Definition at line 71 of file intersections.cpp.

void pcl::PointCloudDepthAndRGBtoXYZRGBA ( PointCloud< Intensity > &  depth,
PointCloud< RGB > &  image,
float &  focal,
PointCloud< PointXYZRGBA > &  out 
)

Convert registered Depth image and RGB image to PointCloudXYZRGBA.

Parameters:
[in]depththe input depth image as intensity points in float
[in]imagethe input RGB image
[in]focalthe focal length
[out]outthe output pointcloud

Definition at line 354 of file point_types_conversion.h.

void pcl::PointCloudRGBtoI ( PointCloud< RGB > &  in,
PointCloud< Intensity > &  out 
) [inline]

Convert a RGB point cloud to a Intensity.

Parameters:
[in]inthe input RGB point cloud
[out]outthe output Intensity point cloud

Definition at line 244 of file point_types_conversion.h.

void pcl::PointCloudRGBtoI ( PointCloud< RGB > &  in,
PointCloud< Intensity8u > &  out 
) [inline]

Convert a RGB point cloud to a Intensity.

Parameters:
[in]inthe input RGB point cloud
[out]outthe output Intensity point cloud

Definition at line 262 of file point_types_conversion.h.

void pcl::PointCloudRGBtoI ( PointCloud< RGB > &  in,
PointCloud< Intensity32u > &  out 
) [inline]

Convert a RGB point cloud to a Intensity.

Parameters:
[in]inthe input RGB point cloud
[out]outthe output Intensity point cloud

Definition at line 280 of file point_types_conversion.h.

void pcl::PointCloudXYZRGBAtoXYZHSV ( PointCloud< PointXYZRGBA > &  in,
PointCloud< PointXYZHSV > &  out 
) [inline]

Convert a XYZRGB point cloud to a XYZHSV.

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

Definition at line 316 of file point_types_conversion.h.

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

Convert a XYZRGB point cloud to a XYZHSV.

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

Definition at line 298 of file point_types_conversion.h.

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

Convert a XYZRGB point cloud to a XYZI.

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

Definition at line 334 of file point_types_conversion.h.

void pcl::PointRGBtoI ( RGB in,
Intensity &  out 
) [inline]

Convert a RGB point type to a I.

Parameters:
[in]inthe input RGB point
[out]outthe output Intensity point

Definition at line 68 of file point_types_conversion.h.

void pcl::PointRGBtoI ( RGB in,
Intensity8u &  out 
) [inline]

Convert a RGB point type to a I.

Parameters:
[in]inthe input RGB point
[out]outthe output Intensity point

Definition at line 79 of file point_types_conversion.h.

void pcl::PointRGBtoI ( RGB in,
Intensity32u &  out 
) [inline]

Convert a RGB point type to a I.

Parameters:
[in]inthe input RGB point
[out]outthe output Intensity point

Definition at line 91 of file point_types_conversion.h.

template<typename Point >
double pcl::pointToPlaneDistance ( const Point p,
double  a,
double  b,
double  c,
double  d 
) [inline]

Get the distance from a point to a plane (unsigned) defined by ax+by+cz+d=0.

Parameters:
pa point
athe normalized a coefficient of a plane
bthe normalized b coefficient of a plane
cthe normalized c coefficient of a plane
dthe normalized d coefficient of a plane

Definition at line 108 of file sac_model_plane.h.

template<typename Point >
double pcl::pointToPlaneDistance ( const Point p,
const Eigen::Vector4f &  plane_coefficients 
) [inline]

Get the distance from a point to a plane (unsigned) defined by ax+by+cz+d=0.

Parameters:
pa point
plane_coefficientsthe normalized coefficients (a, b, c, d) of a plane

Definition at line 119 of file sac_model_plane.h.

template<typename Point >
double pcl::pointToPlaneDistanceSigned ( const Point p,
double  a,
double  b,
double  c,
double  d 
) [inline]

Get the distance from a point to a plane (signed) defined by ax+by+cz+d=0.

Parameters:
pa point
athe normalized a coefficient of a plane
bthe normalized b coefficient of a plane
cthe normalized c coefficient of a plane
dthe normalized d coefficient of a plane

Definition at line 83 of file sac_model_plane.h.

template<typename Point >
double pcl::pointToPlaneDistanceSigned ( const Point p,
const Eigen::Vector4f &  plane_coefficients 
) [inline]

Get the distance from a point to a plane (signed) defined by ax+by+cz+d=0.

Parameters:
pa point
plane_coefficientsthe normalized coefficients (a, b, c, d) of a plane

Definition at line 94 of file sac_model_plane.h.

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

Definition at line 176 of file point_types_conversion.h.

void pcl::PointXYZRGBAtoXYZHSV ( PointXYZRGBA &  in,
PointXYZHSV &  out 
) [inline]

Convert a XYZRGB point type to a XYZHSV.

Parameters:
[in]inthe input XYZRGB point
[out]outthe output XYZHSV point
Todo:
include the A parameter but how?

Definition at line 140 of file point_types_conversion.h.

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

Convert a XYZRGB point type to a XYZHSV.

Parameters:
[in]inthe input XYZRGB point
[out]outthe output XYZHSV point

Definition at line 103 of file point_types_conversion.h.

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

Convert a XYZRGB point type to a XYZI.

Parameters:
[in]inthe input XYZRGB point
[out]outthe output XYZI point

Definition at line 56 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]pthe input point to project
[in]model_coefficientsthe coefficients of the plane (a, b, c, d) that satisfy ax+by+cz+d=0
[out]qthe resultant projected point

Definition at line 56 of file sac_model_plane.h.

template<class Type >
void pcl::read ( std::istream &  stream,
Type &  value 
)

Function for reading data from a stream.

Definition at line 47 of file region_xy.h.

template<class Type >
void pcl::read ( std::istream &  stream,
Type *  value,
int  nr_values 
)

Function for reading data arrays from a stream.

Definition at line 54 of file region_xy.h.

template<typename NormalT >
bool pcl::refineNormal ( const PointCloud< NormalT > &  cloud,
int  index,
const std::vector< int > &  k_indices,
const std::vector< float > &  k_sqr_distances,
NormalT point 
) [inline]

Refine an indexed point based on its neighbors, this function only writes to the normal_* fields.

Note:
If the indexed point has only NaNs in its neighborhood, the resulting normal will be zero.
Parameters:
cloudthe point cloud data
indexa valid index in cloud representing a valid (i.e., finite) query point
k_indicesindices of neighboring points
k_sqr_distancessquared distances to the neighboring points
pointthe output point, only normal_* fields are written
Returns:
false if an error occurred (norm of summed normals zero or all neighbors NaN)

Definition at line 81 of file normal_refinement.h.

template<typename PointT >
void pcl::removeNaNFromPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
std::vector< int > &  index 
)

Removes points with x, y, or z equal to NaN.

Parameters:
cloud_inthe input point cloud
indexthe mapping (ordered): cloud_out.points[i] = cloud_in.points[index[i]]
Note:
The density of the point cloud is lost.
Can be called with cloud_in == cloud_out

Definition at line 45 of file filter_indices.hpp.

template<typename PointT >
void pcl::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.

Parameters:
[in]cloud_inthe input point cloud
[out]cloud_outthe input point cloud
[out]indexthe mapping (ordered): cloud_out.points[i] = cloud_in.points[index[i]]
Note:
The density of the point cloud is lost.
Can be called with cloud_in == cloud_out

Definition at line 46 of file filter.hpp.

template<typename PointT >
void pcl::removeNaNNormalsFromPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
pcl::PointCloud< PointT > &  cloud_out,
std::vector< int > &  index 
)

Removes points that have their normals invalid (i.e., equal to NaN)

Parameters:
[in]cloud_inthe input point cloud
[out]cloud_outthe input point cloud
[out]indexthe mapping (ordered): cloud_out.points[i] = cloud_in.points[index[i]]
Note:
The density of the point cloud is lost.
Can be called with cloud_in == cloud_out

Definition at line 97 of file filter.hpp.

static const std::map<pcl::SacModel, unsigned int> pcl::SAC_SAMPLE_SIZE ( sample_size_pairs  ,
sample_size_pairs sizeofsample_size_pairs)/sizeof(SampleSizeModel 
) [static]
void pcl::seededHueSegmentation ( const PointCloud< PointXYZRGB > &  cloud,
const boost::shared_ptr< search::Search< PointXYZRGB > > &  tree,
float  tolerance,
PointIndices &  indices_in,
PointIndices &  indices_out,
float  delta_hue = 0.0 
)

Decompose a region of space into clusters based on the Euclidean distance between points.

Parameters:
[in]cloudthe point cloud message
[in]treethe spatial locator (e.g., kd-tree) used for nearest neighbors searching
Note:
the tree has to be created as a spatial locator on cloud
Parameters:
[in]tolerancethe spatial cluster tolerance as a measure in L2 Euclidean space
[in]indices_inthe cluster containing the seed point indices (as a vector of PointIndices)
[out]indices_out
[in]delta_hue
Todo:
look how to make this templated!

Definition at line 46 of file seeded_hue_segmentation.hpp.

void pcl::seededHueSegmentation ( const PointCloud< PointXYZRGB > &  cloud,
const boost::shared_ptr< search::Search< PointXYZRGBL > > &  tree,
float  tolerance,
PointIndices &  indices_in,
PointIndices &  indices_out,
float  delta_hue = 0.0 
)

Decompose a region of space into clusters based on the Euclidean distance between points.

Parameters:
[in]cloudthe point cloud message
[in]treethe spatial locator (e.g., kd-tree) used for nearest neighbors searching
Note:
the tree has to be created as a spatial locator on cloud
Parameters:
[in]tolerancethe spatial cluster tolerance as a measure in L2 Euclidean space
[in]indices_inthe cluster containing the seed point indices (as a vector of PointIndices)
[out]indices_out
[in]delta_hue
Todo:
look how to make this templated!

Definition at line 122 of file seeded_hue_segmentation.hpp.

template<typename PointT , typename ValT >
void pcl::setFieldValue ( PointT pt,
size_t  field_offset,
const ValT &  value 
) [inline]

Set the value at a specified field in a point.

Parameters:
[out]ptthe point to set the value to
[in]field_offsetthe offset of the field
[in]valuethe value to set

Definition at line 285 of file point_traits.h.

void pcl::solvePlaneParameters ( const Eigen::Matrix3f &  covariance_matrix,
const Eigen::Vector4f &  point,
Eigen::Vector4f &  plane_parameters,
float &  curvature 
) [inline]

Solve the eigenvalues and eigenvectors of a given 3x3 covariance matrix, and estimate the least-squares plane normal and surface curvature.

Parameters:
covariance_matrixthe 3x3 covariance matrix
pointa point lying on the least-squares plane (SSE aligned)
plane_parametersthe resultant plane parameters as: a, b, c, d (ax + by + cz + d = 0)
curvaturethe estimated surface curvature as a measure of

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

Definition at line 48 of file feature.hpp.

void pcl::solvePlaneParameters ( const Eigen::Matrix3f &  covariance_matrix,
float &  nx,
float &  ny,
float &  nz,
float &  curvature 
) [inline]

Solve the eigenvalues and eigenvectors of a given 3x3 covariance matrix, and estimate the least-squares plane normal and surface curvature.

Parameters:
covariance_matrixthe 3x3 covariance matrix
nxthe resultant X component of the plane normal
nythe resultant Y component of the plane normal
nzthe resultant Z component of the plane normal
curvaturethe estimated surface curvature as a measure of

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

Definition at line 61 of file feature.hpp.

Definition at line 15 of file grabcut.hpp.

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]p1the first point
[in]p2the second point

Definition at line 174 of file common/include/pcl/common/distances.h.

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

Calculate the squared euclidean distance between the two given points.

Parameters:
[in]p1the first point
[in]p2the second point

Definition at line 185 of file common/include/pcl/common/distances.h.

template<typename PointT >
void pcl::toPCLPointCloud2 ( const pcl::PointCloud< PointT > &  cloud,
pcl::PCLPointCloud2 msg 
)

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

Parameters:
[in]cloudthe input pcl::PointCloud<T>
[out]msgthe resultant PCLPointCloud2 binary blob
Todo:
msg.is_bigendian = ?;

Definition at line 237 of file conversions.h.

template<typename CloudT >
void pcl::toPCLPointCloud2 ( const CloudT cloud,
pcl::PCLImage msg 
)

Copy the RGB fields of a PointCloud into pcl::PCLImage format.

Parameters:
[in]cloudthe point cloud message
[out]msgthe resultant pcl::PCLImage 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 275 of file conversions.h.

void pcl::toPCLPointCloud2 ( const pcl::PCLPointCloud2 cloud,
pcl::PCLImage msg 
) [inline]

Copy the RGB fields of a PCLPointCloud2 msg into pcl::PCLImage format.

Parameters:
cloudthe point cloud message
msgthe resultant pcl::PCLImage will throw std::runtime_error if there is a problem

Definition at line 308 of file conversions.h.

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

Definition at line 98 of file ros/conversions.h.

template<typename CloudT >
void pcl::toROSMsg ( const CloudT cloud,
pcl::PCLImage msg 
)

Definition at line 113 of file ros/conversions.h.

void pcl::toROSMsg ( const pcl::PCLPointCloud2 cloud,
pcl::PCLImage msg 
) [inline]

Definition at line 127 of file ros/conversions.h.

template<typename PointT >
PointT pcl::transformPoint ( const PointT point,
const Eigen::Affine3f &  transform 
) [inline]

Definition at line 393 of file common/include/pcl/common/transforms.h.

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

Definition at line 63 of file common/include/pcl/common/transforms.h.

template<typename PointT >
void pcl::transformPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const std::vector< int > &  indices,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Affine3f &  transform 
)

Definition at line 84 of file common/include/pcl/common/transforms.h.

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

Definition at line 109 of file common/include/pcl/common/transforms.h.

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

Definition at line 199 of file common/include/pcl/common/transforms.h.

template<typename PointT >
void pcl::transformPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const std::vector< int > &  indices,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Matrix4f &  transform 
)

Definition at line 224 of file common/include/pcl/common/transforms.h.

template<typename PointT >
void pcl::transformPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
const pcl::PointIndices indices,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Matrix4f &  transform 
)

Definition at line 249 of file common/include/pcl/common/transforms.h.

template<typename PointT >
void pcl::transformPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Vector3f &  offset,
const Eigen::Quaternionf &  rotation 
) [inline]

Definition at line 352 of file common/include/pcl/common/transforms.h.

template<typename PointT , typename Scalar >
void pcl::transformPointCloudWithNormals ( const pcl::PointCloud< PointT > &  cloud_in,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Transform< Scalar, 3, Eigen::Affine > &  transform 
)

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

Parameters:
[in]cloud_inthe input point cloud
[out]cloud_outthe resultant output point cloud
[in]transforman affine transformation (typically a rigid transformation)
Note:
Can be used with cloud_in equal to cloud_out

Definition at line 143 of file transforms.hpp.

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

Definition at line 129 of file common/include/pcl/common/transforms.h.

template<typename PointT , typename Scalar >
void pcl::transformPointCloudWithNormals ( const pcl::PointCloud< PointT > &  cloud_in,
const std::vector< int > &  indices,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Transform< Scalar, 3, Eigen::Affine > &  transform 
)

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

Parameters:
[in]cloud_inthe input point cloud
[in]indicesthe set of point indices to use from the input point cloud
[out]cloud_outthe resultant output point cloud
[in]transforman affine transformation (typically a rigid transformation)

Definition at line 207 of file transforms.hpp.

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

Definition at line 149 of file common/include/pcl/common/transforms.h.

template<typename PointT , typename Scalar >
void pcl::transformPointCloudWithNormals ( const pcl::PointCloud< PointT > &  cloud_in,
const pcl::PointIndices indices,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Transform< Scalar, 3, Eigen::Affine > &  transform 
)

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

Parameters:
[in]cloud_inthe input point cloud
[in]indicesthe set of point indices to use from the input point cloud
[out]cloud_outthe resultant output point cloud
[in]transforman affine transformation (typically a rigid transformation)

Definition at line 164 of file common/include/pcl/common/transforms.h.

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

Definition at line 174 of file common/include/pcl/common/transforms.h.

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

Definition at line 275 of file common/include/pcl/common/transforms.h.

template<typename PointT >
void pcl::transformPointCloudWithNormals ( const pcl::PointCloud< PointT > &  cloud_in,
const std::vector< int > &  indices,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Matrix4f &  transform 
)

Definition at line 302 of file common/include/pcl/common/transforms.h.

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

Definition at line 330 of file common/include/pcl/common/transforms.h.

template<typename PointT >
void pcl::transformPointCloudWithNormals ( const pcl::PointCloud< PointT > &  cloud_in,
pcl::PointCloud< PointT > &  cloud_out,
const Eigen::Vector3f &  offset,
const Eigen::Quaternionf &  rotation 
)

Definition at line 374 of file common/include/pcl/common/transforms.h.

template<typename Derived , typename OtherDerived >
Eigen::internal::umeyama_transform_matrix_type< Derived, OtherDerived >::type pcl::umeyama ( const Eigen::MatrixBase< Derived > &  src,
const Eigen::MatrixBase< OtherDerived > &  dst,
bool  with_scaling = false 
)

Returns the transformation between two point sets. The algorithm is based on: "Least-squares estimation of transformation parameters between two point patterns", Shinji Umeyama, PAMI 1991, DOI: 10.1109/34.88573.

It estimates parameters $ c, \mathbf{R}, $ and $ \mathbf{t} $ such that

\begin{align*} \frac{1}{n} \sum_{i=1}^n \vert\vert y_i - (c\mathbf{R}x_i + \mathbf{t}) \vert\vert_2^2 \end{align*}

is minimized.

The algorithm is based on the analysis of the covariance matrix $ \Sigma_{\mathbf{x}\mathbf{y}} \in \mathbb{R}^{d \times d} $ of the input point sets $ \mathbf{x} $ and $ \mathbf{y} $ where $d$ is corresponding to the dimension (which is typically small). The analysis is involving the SVD having a complexity of $O(d^3)$ though the actual computational effort lies in the covariance matrix computation which has an asymptotic lower bound of $O(dm)$ when the input point sets have dimension $d \times m$.

Parameters:
[in]srcSource points $ \mathbf{x} = \left( x_1, \hdots, x_n \right) $
[in]dstDestination points $ \mathbf{y} = \left( y_1, \hdots, y_n \right) $.
[in]with_scalingSets $ c=1 $ when false is passed. (default: false)
Returns:
The homogeneous transformation

\begin{align*} T = \begin{bmatrix} c\mathbf{R} & \mathbf{t} \\ \mathbf{0} & 1 \end{bmatrix} \end{align*}

minimizing the resudiual above. This transformation is always returned as an Eigen::Matrix.

Definition at line 212 of file eigen.hpp.

template<class Type >
void pcl::write ( std::ostream &  stream,
Type  value 
)

Function for writing data to a stream.

Definition at line 64 of file region_xy.h.

template<class Type >
void pcl::write ( std::ostream &  stream,
Type *  value,
int  nr_values 
)

Function for writing data arrays to a stream.

Definition at line 71 of file region_xy.h.


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 57 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 47 of file grid_projection.h.

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

Definition at line 53 of file grid_projection.h.

const int pcl::SAC_LMEDS = 1 [static]

Definition at line 47 of file method_types.h.

const int pcl::SAC_MLESAC = 5 [static]

Definition at line 51 of file method_types.h.

const int pcl::SAC_MSAC = 2 [static]

Definition at line 48 of file method_types.h.

const int pcl::SAC_PROSAC = 6 [static]

Definition at line 52 of file method_types.h.

const int pcl::SAC_RANSAC = 0 [static]

Definition at line 46 of file method_types.h.

const int pcl::SAC_RMSAC = 4 [static]

Definition at line 50 of file method_types.h.

const int pcl::SAC_RRANSAC = 3 [static]

Definition at line 49 of file method_types.h.

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

Definition at line 93 of file marching_cubes.h.



pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:38:54