Point Cloud Library (PCL)
1.7.1
|
The pcl_common library contains the common data structures and methods used by the majority of PCL libraries. The core data structures include the PointCloud class and a multitude of point types that are used to represent points, surface normals, RGB color values, feature descriptors, etc. It also contains numerous functions for computing distances/norms, means and covariances, angular conversions, geometric transformations, and more.
Classes | |
class | pcl::BivariatePolynomialT< real > |
This represents a bivariate polynomial and provides some functionality for it. More... | |
struct | pcl::NdConcatenateFunctor< PointInT, PointOutT > |
Helper functor structure for concatenate. More... | |
class | pcl::GaussianKernel |
Class GaussianKernel assembles all the method for computing, convolving, smoothing, gradients computing an image using a gaussian kernel. More... | |
class | pcl::PCA< PointT > |
Principal Component analysis (PCA) class. More... | |
class | pcl::PiecewiseLinearFunction |
This provides functionalities to efficiently return values for piecewise linear function. More... | |
struct | pcl::PolynomialCalculationsT< real >::Parameters |
Parameters used in this class. More... | |
class | pcl::PolynomialCalculationsT< real > |
This provides some functionality for polynomials, like finding roots or approximating bivariate polynomials. More... | |
struct | pcl::PosesFromMatches::Parameters |
Parameters used in this class. More... | |
struct | pcl::PosesFromMatches::PoseEstimate::IsBetter |
struct | pcl::PosesFromMatches::PoseEstimate |
A result of the pose estimation process. More... | |
class | pcl::PosesFromMatches |
calculate 3D transformation based on point correspondencdes More... | |
class | pcl::StopWatch |
Simple stopwatch. More... | |
class | pcl::ScopeTime |
Class to measure the time spent in a scope. More... | |
class | pcl::TimeTrigger |
Timer class that invokes registered callback methods periodically. More... | |
class | pcl::TransformationFromCorrespondences |
Calculates a transformation based on corresponding 3D points. More... | |
class | pcl::VectorAverage< real, dimension > |
Calculates the weighted average and the covariance matrix. More... | |
struct | pcl::Correspondence |
Correspondence represents a match between two entities (e.g., points, descriptors, etc). More... | |
struct | pcl::PointCorrespondence3D |
Representation of a (possible) correspondence between two 3D points in two different coordinate frames (e.g. More... | |
struct | pcl::PointCorrespondence6D |
Representation of a (possible) correspondence between two points (e.g. More... | |
struct | pcl::PointXYZ |
A point structure representing Euclidean xyz coordinates. More... | |
struct | pcl::Intensity |
A point structure representing the grayscale intensity in single-channel images. More... | |
struct | pcl::Intensity8u |
A point structure representing the grayscale intensity in single-channel images. More... | |
struct | pcl::Intensity32u |
A point structure representing the grayscale intensity in single-channel images. More... | |
struct | pcl::_PointXYZI |
A point structure representing Euclidean xyz coordinates, and the intensity value. More... | |
struct | pcl::PointXYZRGBA |
A point structure representing Euclidean xyz coordinates, and the RGBA color. More... | |
struct | pcl::PointXYZRGB |
A point structure representing Euclidean xyz coordinates, and the RGB color. More... | |
struct | pcl::PointXY |
A 2D point structure representing Euclidean xy coordinates. More... | |
struct | pcl::PointUV |
A 2D point structure representing pixel image coordinates. More... | |
struct | pcl::InterestPoint |
A point structure representing an interest point with Euclidean xyz coordinates, and an interest value. More... | |
struct | pcl::Normal |
A point structure representing normal coordinates and the surface curvature estimate. More... | |
struct | pcl::Axis |
A point structure representing an Axis using its normal coordinates. More... | |
struct | pcl::PointNormal |
A point structure representing Euclidean xyz coordinates, together with normal coordinates and the surface curvature estimate. More... | |
struct | pcl::PointXYZRGBNormal |
A point structure representing Euclidean xyz coordinates, and the RGB color, together with normal coordinates and the surface curvature estimate. More... | |
struct | pcl::PointXYZINormal |
A point structure representing Euclidean xyz coordinates, intensity, together with normal coordinates and the surface curvature estimate. More... | |
struct | pcl::PointWithRange |
A point structure representing Euclidean xyz coordinates, padded with an extra range float. More... | |
struct | pcl::PointWithViewpoint |
A point structure representing Euclidean xyz coordinates together with the viewpoint from which it was seen. More... | |
struct | pcl::MomentInvariants |
A point structure representing the three moment invariants. More... | |
struct | pcl::PrincipalRadiiRSD |
A point structure representing the minimum and maximum surface radii (in meters) computed using RSD. More... | |
struct | pcl::Boundary |
A point structure representing a description of whether a point is lying on a surface boundary or not. More... | |
struct | pcl::PrincipalCurvatures |
A point structure representing the principal curvatures and their magnitudes. More... | |
struct | pcl::PFHSignature125 |
A point structure representing the Point Feature Histogram (PFH). More... | |
struct | pcl::PFHRGBSignature250 |
A point structure representing the Point Feature Histogram with colors (PFHRGB). More... | |
struct | pcl::PPFSignature |
A point structure for storing the Point Pair Feature (PPF) values. More... | |
struct | pcl::PPFRGBSignature |
A point structure for storing the Point Pair Color Feature (PPFRGB) values. More... | |
struct | pcl::NormalBasedSignature12 |
A point structure representing the Normal Based Signature for a feature matrix of 4-by-3. More... | |
struct | pcl::ShapeContext1980 |
A point structure representing a Shape Context. More... | |
struct | pcl::SHOT352 |
A point structure representing the generic Signature of Histograms of OrienTations (SHOT) - shape only. More... | |
struct | pcl::SHOT1344 |
A point structure representing the generic Signature of Histograms of OrienTations (SHOT) - shape+color. More... | |
struct | pcl::_ReferenceFrame |
A structure representing the Local Reference Frame of a point. More... | |
struct | pcl::FPFHSignature33 |
A point structure representing the Fast Point Feature Histogram (FPFH). More... | |
struct | pcl::VFHSignature308 |
A point structure representing the Viewpoint Feature Histogram (VFH). More... | |
struct | pcl::ESFSignature640 |
A point structure representing the Ensemble of Shape Functions (ESF). More... | |
struct | pcl::GFPFHSignature16 |
A point structure representing the GFPFH descriptor with 16 bins. More... | |
struct | pcl::Narf36 |
A point structure representing the Narf descriptor. More... | |
struct | pcl::BorderDescription |
A structure to store if a point in a range image lies on a border between an obstacle and the background. More... | |
struct | pcl::IntensityGradient |
A point structure representing the intensity gradient of an XYZI point cloud. More... | |
struct | pcl::Histogram< N > |
A point structure representing an N-D histogram. More... | |
struct | pcl::PointWithScale |
A point structure representing a 3-D position and scale. More... | |
struct | pcl::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... | |
class | pcl::PCLBase< PointT > |
PCL base class. More... | |
struct | pcl::PointRGB |
A point structure for representing RGB color. More... | |
struct | pcl::GradientXY |
A point structure representing Euclidean xyz coordinates, and the intensity value. More... | |
Files | |
file | angles.h |
Define standard C methods to do angle calculations. | |
file | centroid.h |
Define methods for centroid estimation and covariance matrix calculus. | |
file | common.h |
Define standard C methods and C++ classes that are common to all methods. | |
file | distances.h |
Define standard C methods to do distance calculations. | |
file | file_io.h |
Define some helper functions for reading and writing files. | |
file | random.h |
CloudGenerator class generates a point cloud using some randoom number generator. | |
file | geometry.h |
Defines some geometrical functions and utility functions. | |
file | intersections.h |
Define line with line intersection functions. | |
file | norms.h |
Define standard C methods to calculate different norms. | |
file | geometry.h |
Defines some geometrical functions and utility functions. | |
file | time.h |
Define methods for measuring time spent in code blocks. | |
file | point_types.h |
Defines all the PCL implemented PointT point type structures. | |
Typedefs | |
typedef std::bitset< 32 > | pcl::BorderTraits |
Data type to store extended information about a transition from foreground to backgroundSpecification of the fields for BorderDescription::traits. More... | |
Functions | |
float | pcl::rad2deg (float alpha) |
Convert an angle from radians to degrees. More... | |
float | pcl::deg2rad (float alpha) |
Convert an angle from degrees to radians. More... | |
double | pcl::rad2deg (double alpha) |
Convert an angle from radians to degrees. More... | |
double | pcl::deg2rad (double alpha) |
Convert an angle from degrees to radians. More... | |
float | pcl::normAngle (float alpha) |
Normalize an angle to (-PI, PI]. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::compute3DCentroid (ConstCloudIterator< PointT > &cloud_iterator, Eigen::Matrix< Scalar, 4, 1 > ¢roid) |
Compute the 3D (X-Y-Z) centroid of a set of points and return it as a 3D vector. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 4, 1 > ¢roid) |
Compute the 3D (X-Y-Z) centroid of a set of points and return it as a 3D vector. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix< Scalar, 4, 1 > ¢roid) |
Compute the 3D (X-Y-Z) centroid of a set of points using their indices and return it as a 3D vector. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::compute3DCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 4, 1 > ¢roid) |
Compute the 3D (X-Y-Z) centroid of a set of points using their indices and return it as a 3D vector. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix) |
Compute the 3x3 covariance matrix of a given set of points. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix) |
Compute normalized the 3x3 covariance matrix of a given set of points. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix) |
Compute the 3x3 covariance matrix of a given set of points using their indices. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix) |
Compute the 3x3 covariance matrix of a given set of points using their indices. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix) |
Compute the normalized 3x3 covariance matrix of a given set of points using their indices. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeCovarianceMatrixNormalized (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix) |
Compute the normalized 3x3 covariance matrix of a given set of points using their indices. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > ¢roid) |
Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > ¢roid) |
Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::computeMeanAndCovarianceMatrix (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, 3, 3 > &covariance_matrix, Eigen::Matrix< Scalar, 4, 1 > ¢roid) |
Compute the normalized 3x3 covariance matrix and the centroid of a given set of points in a single loop. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
unsigned int | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, pcl::PointCloud< PointT > &cloud_out, int npts=0) |
Subtract a centroid from a point cloud and return the de-meaned representation. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, pcl::PointCloud< PointT > &cloud_out) |
Subtract a centroid from a point cloud and return the de-meaned representation. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, pcl::PointCloud< PointT > &cloud_out) |
Subtract a centroid from a point cloud and return the de-meaned representation. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, pcl::PointCloud< PointT > &cloud_out) |
Subtract a centroid from a point cloud and return the de-meaned representation. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::demeanPointCloud (ConstCloudIterator< PointT > &cloud_iterator, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, 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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, 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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const std::vector< int > &indices, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, 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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::demeanPointCloud (const pcl::PointCloud< PointT > &cloud_in, const pcl::PointIndices &indices, const Eigen::Matrix< Scalar, 4, 1 > ¢roid, 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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > ¢roid) |
General, all purpose nD centroid estimation for a set of points using their indices. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const std::vector< int > &indices, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > ¢roid) |
General, all purpose nD centroid estimation for a set of points using their indices. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::computeNDCentroid (const pcl::PointCloud< PointT > &cloud, const pcl::PointIndices &indices, Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > ¢roid) |
General, all purpose nD centroid estimation for a set of points using their indices. More... | |
double | pcl::getAngle3D (const Eigen::Vector4f &v1, const Eigen::Vector4f &v2) |
Compute the smallest angle between two vectors in the [ 0, PI ) interval in 3D. More... | |
void | pcl::getMeanStd (const std::vector< float > &values, double &mean, double &stddev) |
Compute both the mean and the standard deviation of an array of values. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
double | pcl::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. More... | |
template<typename PointT > | |
void | pcl::getMinMax (const PointT &histogram, int len, float &min_p, float &max_p) |
Get the minimum and maximum values on a point histogram. More... | |
template<typename PointT > | |
float | pcl::calculatePolygonArea (const pcl::PointCloud< PointT > &polygon) |
Calculate the area of a polygon given a point cloud that defines the polygon. More... | |
PCL_EXPORTS void | pcl::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. More... | |
PCL_EXPORTS void | pcl::getMeanStdDev (const std::vector< float > &values, double &mean, double &stddev) |
Compute both the mean and the standard deviation of an array of values. More... | |
PCL_EXPORTS void | pcl::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. More... | |
double | pcl::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) More... | |
double | pcl::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) More... | |
template<typename PointT > | |
double | pcl::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. More... | |
template<typename PointT > | |
double | pcl::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. More... | |
template<typename Matrix , typename Vector > | |
void | pcl::eigen22 (const Matrix &mat, typename Matrix::Scalar &eigenvalue, Vector &eigenvector) |
determine the smallest eigenvalue and its corresponding eigenvector More... | |
template<typename Matrix , typename Vector > | |
void | pcl::eigen22 (const Matrix &mat, Matrix &eigenvectors, Vector &eigenvalues) |
determine the smallest eigenvalue and its corresponding eigenvector More... | |
template<typename Matrix , typename Vector > | |
void | pcl::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 More... | |
template<typename Matrix , typename Vector > | |
void | pcl::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 More... | |
template<typename Matrix , typename Vector > | |
void | pcl::eigen33 (const Matrix &mat, Vector &evals) |
determines the eigenvalues of the symmetric positive semi definite input matrix More... | |
template<typename Matrix , typename Vector > | |
void | pcl::eigen33 (const Matrix &mat, Matrix &evecs, Vector &evals) |
determines the eigenvalues and corresponding eigenvectors of the symmetric positive semi definite input matrix More... | |
template<typename Matrix > | |
Matrix::Scalar | pcl::invert2x2 (const Matrix &matrix, Matrix &inverse) |
Calculate the inverse of a 2x2 matrix. More... | |
template<typename Matrix > | |
Matrix::Scalar | pcl::invert3x3SymMatrix (const Matrix &matrix, Matrix &inverse) |
Calculate the inverse of a 3x3 symmetric matrix. More... | |
template<typename Matrix > | |
Matrix::Scalar | pcl::invert3x3Matrix (const Matrix &matrix, Matrix &inverse) |
Calculate the inverse of a general 3x3 matrix. More... | |
void | pcl::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) More... | |
Eigen::Affine3f | pcl::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) More... | |
void | pcl::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) More... | |
Eigen::Affine3f | pcl::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) More... | |
void | pcl::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) More... | |
Eigen::Affine3f | pcl::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) More... | |
void | pcl::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) More... | |
void | pcl::getEulerAngles (const Eigen::Affine3f &t, float &roll, float &pitch, float &yaw) |
Extract the Euler angles (XYZ-convention) from the given transformation. More... | |
void | pcl::getTranslationAndEulerAngles (const Eigen::Affine3f &t, float &x, float &y, float &z, float &roll, float &pitch, float &yaw) |
Extract x,y,z and the Euler angles (XYZ-convention) from the given transformation. More... | |
template<typename Scalar > | |
void | pcl::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) More... | |
Eigen::Affine3f | pcl::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) More... | |
template<typename Derived > | |
void | pcl::saveBinary (const Eigen::MatrixBase< Derived > &matrix, std::ostream &file) |
Write a matrix to an output stream. More... | |
template<typename Derived > | |
void | pcl::loadBinary (Eigen::MatrixBase< Derived > const &matrix, std::istream &file) |
Read a matrix from an input stream. More... | |
PCL_EXPORTS bool | pcl::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. More... | |
PCL_EXPORTS bool | pcl::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. More... | |
int | pcl::getFieldIndex (const pcl::PCLPointCloud2 &cloud, const std::string &field_name) |
Get the index of a specified field (i.e., dimension/channel) More... | |
template<typename PointT > | |
int | pcl::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) More... | |
template<typename PointT > | |
int | pcl::getFieldIndex (const std::string &field_name, std::vector< pcl::PCLPointField > &fields) |
Get the index of a specified field (i.e., dimension/channel) More... | |
template<typename PointT > | |
void | pcl::getFields (const pcl::PointCloud< PointT > &cloud, std::vector< pcl::PCLPointField > &fields) |
Get the list of available fields (i.e., dimension/channel) More... | |
template<typename PointT > | |
void | pcl::getFields (std::vector< pcl::PCLPointField > &fields) |
Get the list of available fields (i.e., dimension/channel) More... | |
template<typename PointT > | |
std::string | pcl::getFieldsList (const pcl::PointCloud< PointT > &cloud) |
Get the list of all fields available in a given cloud. More... | |
std::string | pcl::getFieldsList (const pcl::PCLPointCloud2 &cloud) |
Get the available point cloud fields as a space separated string. More... | |
int | pcl::getFieldSize (const int datatype) |
Obtains the size of a specific field data type in bytes. More... | |
int | pcl::getFieldType (const int size, char type) |
Obtains the type of the PCLPointField from a specific size and type. More... | |
char | pcl::getFieldType (const int type) |
Obtains the type of the PCLPointField from a specific PCLPointField as a char. More... | |
PCL_EXPORTS bool | pcl::concatenatePointCloud (const pcl::PCLPointCloud2 &cloud1, const pcl::PCLPointCloud2 &cloud2, pcl::PCLPointCloud2 &cloud_out) |
Concatenate two pcl::PCLPointCloud2. More... | |
PCL_EXPORTS void | pcl::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. More... | |
PCL_EXPORTS void | pcl::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. More... | |
PCL_EXPORTS void | pcl::copyPointCloud (const pcl::PCLPointCloud2 &cloud_in, pcl::PCLPointCloud2 &cloud_out) |
Copy fields and point cloud data from cloud_in to cloud_out. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointT > | |
void | pcl::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. More... | |
template<typename PointInT , typename PointOutT > | |
void | pcl::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. More... | |
template<typename PointInT , typename PointOutT > | |
void | pcl::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. More... | |
template<typename PointInT , typename PointOutT > | |
void | pcl::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. More... | |
template<typename PointInT , typename PointOutT > | |
void | pcl::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. More... | |
template<typename PointInT , typename PointOutT > | |
void | pcl::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. More... | |
template<typename PointIn1T , typename PointIn2T , typename PointOutT > | |
void | pcl::concatenateFields (const pcl::PointCloud< PointIn1T > &cloud1_in, const pcl::PointCloud< PointIn2T > &cloud2_in, pcl::PointCloud< PointOutT > &cloud_out) |
Concatenate two datasets representing different fields. More... | |
PCL_EXPORTS bool | pcl::concatenateFields (const pcl::PCLPointCloud2 &cloud1_in, const pcl::PCLPointCloud2 &cloud2_in, pcl::PCLPointCloud2 &cloud_out) |
Concatenate two datasets representing different fields. More... | |
PCL_EXPORTS bool | pcl::getPointCloudAsEigen (const pcl::PCLPointCloud2 &in, Eigen::MatrixXf &out) |
Copy the XYZ dimensions of a pcl::PCLPointCloud2 into Eigen format. More... | |
PCL_EXPORTS bool | pcl::getEigenAsPointCloud (Eigen::MatrixXf &in, pcl::PCLPointCloud2 &out) |
Copy the XYZ dimensions from an Eigen MatrixXf into a pcl::PCLPointCloud2 message. More... | |
template<std::size_t N> | |
void | pcl::io::swapByte (char *bytes) |
swap bytes order of a char array of length N More... | |
template<typename FloatVectorT > | |
float | pcl::selectNorm (FloatVectorT A, FloatVectorT B, int dim, NormType norm_type) |
Method that calculates any norm type available, based on the norm_type variable. More... | |
template<typename FloatVectorT > | |
float | pcl::L1_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the L1 norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::L2_Norm_SQR (FloatVectorT A, FloatVectorT B, int dim) |
Compute the squared L2 norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::L2_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the L2 norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::Linf_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the L-infinity norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::JM_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the JM norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::B_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the B norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::Sublinear_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the sublinear norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::CS_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the CS norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::Div_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the div norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::PF_Norm (FloatVectorT A, FloatVectorT B, int dim, float P1, float P2) |
Compute the PF norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::K_Norm (FloatVectorT A, FloatVectorT B, int dim, float P1, float P2) |
Compute the K norm of the vector between two points. More... | |
template<typename FloatVectorT > | |
float | pcl::KL_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the KL between two discrete probability density functions. More... | |
template<typename FloatVectorT > | |
float | pcl::HIK_Norm (FloatVectorT A, FloatVectorT B, int dim) |
Compute the HIK norm of the vector between two points. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
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::Matrix< Scalar, 4, 4 > &transform) |
Transform a point cloud and rotate its normals using an Eigen transform. More... | |
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::Matrix< Scalar, 4, 4 > &transform) |
Transform a point cloud and rotate its normals using an Eigen transform. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
void | pcl::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. More... | |
template<typename PointT , typename Scalar > | |
PointT | pcl::transformPoint (const PointT &point, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform) |
Transform a point with members x,y,z. More... | |
bool | pcl::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);. More... | |
typedef std::bitset<32> pcl::BorderTraits |
Data type to store extended information about a transition from foreground to backgroundSpecification of the fields for BorderDescription::traits.
Definition at line 263 of file point_types.h.
enum pcl::BorderTrait |
Specification of the fields for BorderDescription::traits.
Definition at line 273 of file point_types.h.
enum pcl::PCA::FLAG |
enum pcl::NormType |
|
inline |
Compute the B norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 139 of file norms.hpp.
Referenced by pcl::selectNorm().
|
inline |
Calculate the area of a polygon given a point cloud that defines the polygon.
polygon | point cloud that contains those vertices that comprises the polygon. Vertices are stored in counterclockwise. |
Definition at line 391 of file common.hpp.
References pcl::PointCloud< PointT >::size().
|
inline |
Compute the 3D (X-Y-Z) centroid of a set of points and return it as a 3D vector.
[in] | cloud_iterator | an iterator over the input point cloud |
[out] | centroid | the output centroid |
Definition at line 50 of file centroid.hpp.
References pcl::ConstCloudIterator< PointT >::isValid().
Referenced by pcl::compute3DCentroid(), pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal(), pcl::MomentInvariantsEstimation< PointInT, PointOutT >::computePointMomentInvariants(), pcl::registration::TransformationEstimation2D< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), pcl::SampleConsensusModelLine< PointT >::optimizeModelCoefficients(), pcl::ConvexHull< PointInT >::performReconstruction2D(), and pcl::ESFEstimation< PointInT, PointOutT >::scale_points_unit_sphere().
|
inline |
Compute the 3D (X-Y-Z) centroid of a set of points and return it as a 3D vector.
[in] | cloud | the input point cloud |
[out] | centroid | the output centroid |
Definition at line 80 of file centroid.hpp.
References pcl::PointCloud< PointT >::empty(), pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), and pcl::PointCloud< PointT >::size().
|
inline |
Compute the 3D (X-Y-Z) centroid of a set of points using their indices and return it as a 3D vector.
[in] | cloud | the input point cloud |
[in] | indices | the point cloud indices that need to be used |
[out] | centroid | the output centroid |
Definition at line 127 of file centroid.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::isFinite().
|
inline |
Compute the 3D (X-Y-Z) centroid of a set of points using their indices and return it as a 3D vector.
[in] | cloud | the input point cloud |
[in] | indices | the point cloud indices that need to be used |
[out] | centroid | the output centroid |
Definition at line 172 of file centroid.hpp.
References pcl::compute3DCentroid(), and pcl::PointIndices::indices.
|
inline |
determines the corresponding eigenvector to the given eigenvalue of the symmetric positive semi definite input matrix
[in] | mat | symmetric positive semi definite input matrix |
[in] | eigenvalue | the eigenvalue which corresponding eigenvector is to be computed |
[out] | eigenvector | the corresponding eigenvector for the input eigenvalue |
Definition at line 266 of file eigen.h.
Referenced by pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::computePointPrincipalCurvatures(), pcl::SampleConsensusModelLine< PointT >::optimizeModelCoefficients(), and pcl::SampleConsensusModelStick< PointT >::optimizeModelCoefficients().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | centroid | the centroid of the set of points in the cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Referenced by pcl::CovarianceSampling< PointT, PointNT >::computeConditionNumber(), pcl::computeCovarianceMatrix(), pcl::computeCovarianceMatrixNormalized(), pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal(), and pcl::SampleConsensusModelLine< PointT >::optimizeModelCoefficients().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | indices | the point cloud indices that need to be used |
[in] | centroid | the centroid of the set of points in the cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 264 of file centroid.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::isFinite().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | indices | the point cloud indices that need to be used |
[in] | centroid | the centroid of the set of points in the cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 335 of file centroid.hpp.
References pcl::computeCovarianceMatrix(), and pcl::PointIndices::indices.
|
inline |
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.
[in] | cloud | the input point cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 373 of file centroid.hpp.
References pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), and pcl::PointCloud< PointT >::size().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | indices | subset of points given by their indices |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 427 of file centroid.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::isFinite().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | indices | subset of points given by their indices |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 481 of file centroid.hpp.
References pcl::computeCovarianceMatrix(), and pcl::PointIndices::indices.
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | centroid | the centroid of the set of points in the cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 252 of file centroid.hpp.
References pcl::computeCovarianceMatrix().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | indices | the point cloud indices that need to be used |
[in] | centroid | the centroid of the set of points in the cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 345 of file centroid.hpp.
References pcl::computeCovarianceMatrix().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | indices | the point cloud indices that need to be used |
[in] | centroid | the centroid of the set of points in the cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 359 of file centroid.hpp.
References pcl::computeCovarianceMatrix(), and pcl::PointIndices::indices.
|
inline |
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.
[in] | cloud | the input point cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
[out] | centroid | the centroid of the set of points in the cloud |
Definition at line 490 of file centroid.hpp.
References pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), and pcl::PointCloud< PointT >::size().
Referenced by pcl::ConvexHull< PointInT >::calculateInputDimension(), pcl::computeMeanAndCovarianceMatrix(), pcl::computePointNormal(), pcl::NormalEstimation< PointInT, PointOutT >::computePointNormal(), pcl::SampleConsensusModelRegistration< PointT >::computeSampleDistanceThreshold(), pcl::getPrincipalTransformation(), pcl::GridProjection< PointNT >::getProjectionWithPlaneFit(), pcl::isPointIn2DPolygon(), pcl::SampleConsensusModelStick< PointT >::optimizeModelCoefficients(), pcl::SampleConsensusModelPlane< PointT >::optimizeModelCoefficients(), pcl::ConcaveHull< PointInT >::performReconstruction(), pcl::ConvexHull< PointInT >::performReconstruction2D(), pcl::ExtractPolygonalPrismData< PointT >::segment(), and pcl::OrganizedMultiPlaneSegmentation< PointT, PointNT, PointLT >::segment().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | indices | subset of points given by their indices |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
[out] | centroid | the centroid of the set of points in the cloud |
Definition at line 555 of file centroid.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::isFinite().
|
inline |
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.
[in] | cloud | the input point cloud |
[in] | indices | subset of points given by their indices |
[out] | centroid | the centroid of the set of points in the cloud |
[out] | covariance_matrix | the resultant 3x3 covariance matrix |
Definition at line 622 of file centroid.hpp.
References pcl::computeMeanAndCovarianceMatrix(), and pcl::PointIndices::indices.
|
inline |
General, all purpose nD centroid estimation for a set of points using their indices.
cloud | the input point cloud |
centroid | the output centroid |
Definition at line 810 of file centroid.hpp.
References pcl::PointCloud< PointT >::empty(), and pcl::PointCloud< PointT >::size().
Referenced by pcl::computeNDCentroid().
|
inline |
General, all purpose nD centroid estimation for a set of points using their indices.
cloud | the input point cloud |
indices | the point cloud indices that need to be used |
centroid | the output centroid |
Definition at line 832 of file centroid.hpp.
|
inline |
General, all purpose nD centroid estimation for a set of points using their indices.
cloud | the input point cloud |
indices | the point cloud indices that need to be used |
centroid | the output centroid |
Definition at line 855 of file centroid.hpp.
References pcl::computeNDCentroid(), and pcl::PointIndices::indices.
void pcl::concatenateFields | ( | const pcl::PointCloud< PointIn1T > & | cloud1_in, |
const pcl::PointCloud< PointIn2T > & | cloud2_in, | ||
pcl::PointCloud< PointOutT > & | cloud_out | ||
) |
Concatenate two datasets representing different fields.
[in] | cloud1_in | the first input dataset |
[in] | cloud2_in | the second input dataset (overwrites the fields of the first dataset for those that are shared) |
[out] | cloud_out | the resultant output dataset created by the concatenation of all the fields in the input datasets |
Definition at line 636 of file io.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, and pcl::PointCloud< PointT >::width.
PCL_EXPORTS bool pcl::concatenateFields | ( | const pcl::PCLPointCloud2 & | cloud1_in, |
const pcl::PCLPointCloud2 & | cloud2_in, | ||
pcl::PCLPointCloud2 & | cloud_out | ||
) |
Concatenate two datasets representing different fields.
[in] | cloud1_in | the first input dataset |
[in] | cloud2_in | the second input dataset (overwrites the fields of the first dataset for those that are shared) |
[out] | cloud_out | the output dataset created by concatenating all the fields in the input datasets |
PCL_EXPORTS bool pcl::concatenatePointCloud | ( | const pcl::PCLPointCloud2 & | cloud1, |
const pcl::PCLPointCloud2 & | cloud2, | ||
pcl::PCLPointCloud2 & | cloud_out | ||
) |
Concatenate two pcl::PCLPointCloud2.
[in] | cloud1 | the first input point cloud dataset |
[in] | cloud2 | the second input point cloud dataset |
[out] | cloud_out | the resultant output point cloud dataset |
Referenced by pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::insertRange(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes_subsample(), and pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::read().
PCL_EXPORTS void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the vector of indices representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Referenced by pcl::HypothesisVerification< ModelT, SceneT >::addModels(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::addPointCloud_and_genLOD(), pcl::LineRGBD< PointXYZT, PointRGBT >::addTemplate(), pcl::FastBilateralFilterOMP< PointT >::applyFilter(), pcl::MedianFilter< PointT >::applyFilter(), pcl::FastBilateralFilter< PointT >::applyFilter(), pcl::ExtractIndices< PointT >::applyFilter(), pcl::RandomSample< PointT >::applyFilter(), pcl::RadiusOutlierRemoval< PointT >::applyFilter(), pcl::StatisticalOutlierRemoval< PointT >::applyFilter(), pcl::NormalSpaceSampling< PointT, NormalT >::applyFilter(), pcl::CropBox< PointT >::applyFilter(), pcl::PassThrough< PointT >::applyFilter(), pcl::FrustumCulling< PointT >::applyFilter(), ObjectRecognition::applyFiltersAndSegment(), pcl::LineRGBD< PointXYZT, PointRGBT >::createAndAddTemplate(), pcl::HarrisKeypoint6D< PointInT, PointOutT, NormalT >::detectKeypoints(), pcl::occlusion_reasoning::ZBuffering< ModelT, SceneT >::filter(), pcl::occlusion_reasoning::filter(), pcl::SupervoxelClustering< PointT >::getColoredCloud(), pcl::SupervoxelClustering< PointT >::getColoredVoxelCloud(), pcl::SupervoxelClustering< PointT >::getLabeledCloud(), pcl::SupervoxelClustering< PointT >::getLabeledVoxelCloud(), pcl::occlusion_reasoning::getOccludedCloud(), pcl::SupervoxelClustering< PointT >::getVoxelCentroidCloud(), pcl::ConcaveHull< PointInT >::performReconstruction(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes(), and pcl::io::savePLYFile().
PCL_EXPORTS void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the vector of indices representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
PCL_EXPORTS void pcl::copyPointCloud | ( | const pcl::PCLPointCloud2 & | cloud_in, |
pcl::PCLPointCloud2 & | cloud_out | ||
) |
Copy fields and point cloud data from cloud_in to cloud_out.
[in] | cloud_in | the input point cloud dataset |
[out] | cloud_out | the resultant output point cloud dataset |
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the vector of indices representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 181 of file io.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the vector of indices representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 208 of file io.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the PointIndices structure representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 385 of file io.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointIndices::indices, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the vector of indices representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 487 of file io.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 110 of file io.hpp.
References pcl::getFieldSize(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the vector of indices representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 235 of file io.hpp.
References pcl::getFieldSize(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the vector of indices representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 310 of file io.hpp.
References pcl::getFieldSize(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the PointIndices structure representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 412 of file io.hpp.
References pcl::getFieldSize(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointIndices::indices, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud dataset |
[in] | indices | the vector of indices representing the points to be copied from cloud_in |
[out] | cloud_out | the resultant output point cloud dataset |
Definition at line 527 of file io.hpp.
References pcl::getFieldSize(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
|
inline |
Compute the CS norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 168 of file norms.hpp.
Referenced by pcl::selectNorm().
|
inline |
Convert an angle from degrees to radians.
alpha | the input angle (in degrees) |
Definition at line 67 of file angles.hpp.
Referenced by pcl::RangeImage::createFromPointCloud(), pcl::RangeImage::createFromPointCloudWithKnownSize(), pcl::RangeImage::getImpactAngleBasedOnLocalNormal(), pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::initCompute(), and pcl::ShapeContext3DEstimation< PointInT, PointNT, PointOutT >::initCompute().
|
inline |
Convert an angle from degrees to radians.
alpha | the input angle (in degrees) |
Definition at line 79 of file angles.hpp.
void pcl::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.
[in] | cloud_iterator | an iterator over the input point cloud |
[in] | centroid | the centroid of the point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | npts | the number of samples guaranteed to be left in the input cloud, accessible by the iterator. If not given, it will be calculated. |
Definition at line 632 of file centroid.hpp.
References pcl::PointCloud< PointT >::height, pcl::ConstCloudIterator< PointT >::isValid(), pcl::ConstCloudIterator< PointT >::reset(), pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.
Referenced by pcl::demeanPointCloud(), pcl::registration::TransformationEstimation2D< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), pcl::registration::TransformationEstimationSVD< PointSource, PointTarget, Scalar >::estimateRigidTransformation(), pcl::ConcaveHull< PointInT >::performReconstruction(), pcl::ESFEstimation< PointInT, PointOutT >::scale_points_unit_sphere(), and pcl::OURCVFHEstimation< PointInT, PointNT, PointOutT >::sgurf().
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | centroid | the centroid of the point cloud |
[out] | cloud_out | the resultant output point cloud |
Definition at line 665 of file centroid.hpp.
References pcl::PointCloud< PointT >::points.
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[out] | centroid | the centroid of the point cloud |
cloud_out | the resultant output point cloud |
Definition at line 682 of file centroid.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::resize(), and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[out] | centroid | the centroid of the point cloud |
cloud_out | the resultant output point cloud |
Definition at line 712 of file centroid.hpp.
References pcl::demeanPointCloud(), and pcl::PointIndices::indices.
void pcl::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.
[in] | cloud_iterator | an iterator over the input point cloud |
[in] | centroid | the centroid of the point cloud |
[out] | cloud_out | the resultant output XYZ0 dimensions of cloud_in as an Eigen matrix (4 rows, N pts columns) |
[in] | npts | the number of samples guaranteed to be left in the input cloud, accessible by the iterator. If not given, it will be calculated. |
Definition at line 722 of file centroid.hpp.
References pcl::ConstCloudIterator< PointT >::isValid(), and pcl::ConstCloudIterator< PointT >::reset().
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | centroid | the centroid of the point cloud |
[out] | cloud_out | the resultant output XYZ0 dimensions of cloud_in as an Eigen matrix (4 rows, N pts columns) |
Definition at line 753 of file centroid.hpp.
References pcl::PointCloud< PointT >::size().
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[in] | centroid | the centroid of the point cloud |
[out] | cloud_out | the resultant output XYZ0 dimensions of cloud_in as an Eigen matrix (4 rows, N pts columns) |
Definition at line 776 of file centroid.hpp.
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[in] | centroid | the centroid of the point cloud |
[out] | cloud_out | the resultant output XYZ0 dimensions of cloud_in as an Eigen matrix (4 rows, N pts columns) |
Definition at line 800 of file centroid.hpp.
References pcl::demeanPointCloud(), and pcl::PointIndices::indices.
|
inline |
Compute the div norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 182 of file norms.hpp.
Referenced by pcl::selectNorm().
|
inline |
determine the smallest eigenvalue and its corresponding eigenvector
[in] | mat | input matrix that needs to be symmetric and positive semi definite |
[out] | eigenvalue | the smallest eigenvalue of the input matrix |
[out] | eigenvector | the corresponding eigenvector to the smallest eigenvalue of the input matrix |
Definition at line 163 of file eigen.h.
Referenced by pcl::approximatePolygon2D().
|
inline |
determine the smallest eigenvalue and its corresponding eigenvector
[in] | mat | input matrix that needs to be symmetric and positive semi definite |
[out] | eigenvectors | the corresponding eigenvector to the smallest eigenvalue of the input matrix |
[out] | eigenvalues | the smallest eigenvalue of the input matrix |
|
inline |
determines the eigenvector and eigenvalue of the smallest eigenvalue of the symmetric positive semi definite input matrix
[in] | mat | symmetric positive semi definite input matrix |
[out] | eigenvalue | smallest eigenvalue of the input matrix |
[out] | eigenvector | the corresponding eigenvector for the input eigenvalue |
Definition at line 304 of file eigen.h.
References pcl::computeRoots().
Referenced by pcl::ConvexHull< PointInT >::calculateInputDimension(), pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal(), pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::computePointNormal(), pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::computePointNormalMirror(), pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::computePointPrincipalCurvatures(), pcl::SampleConsensusModelRegistration< PointT >::computeSampleDistanceThreshold(), pcl::VectorAverage< real, dimension >::doPCA(), pcl::VectorAverage< real, dimension >::getEigenVector1(), pcl::getPrincipalTransformation(), pcl::GridProjection< PointNT >::getProjectionWithPlaneFit(), pcl::isPointIn2DPolygon(), pcl::SampleConsensusModelLine< PointT >::optimizeModelCoefficients(), pcl::SampleConsensusModelStick< PointT >::optimizeModelCoefficients(), pcl::SampleConsensusModelPlane< PointT >::optimizeModelCoefficients(), pcl::ConcaveHull< PointInT >::performReconstruction(), pcl::ConvexHull< PointInT >::performReconstruction2D(), pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::responseTomasi(), pcl::ExtractPolygonalPrismData< PointT >::segment(), pcl::OrganizedMultiPlaneSegmentation< PointT, PointNT, PointLT >::segment(), and pcl::solvePlaneParameters().
|
inline |
determines the eigenvalues of the symmetric positive semi definite input matrix
[in] | mat | symmetric positive semi definite input matrix |
[out] | evals | resulting eigenvalues in ascending order |
Definition at line 345 of file eigen.h.
References pcl::computeRoots().
|
inline |
determines the eigenvalues and corresponding eigenvectors of the symmetric positive semi definite input matrix
[in] | mat | symmetric positive semi definite input matrix |
[out] | evecs | resulting eigenvalues in ascending order |
[out] | evals | corresponding eigenvectors in correct order according to eigenvalues |
Definition at line 364 of file eigen.h.
References pcl::computeRoots().
|
inline |
Compute the smallest angle between two vectors in the [ 0, PI ) interval in 3D.
v1 | the first 3D vector (represented as a Eigen::Vector4f) |
v2 | the second 3D vector (represented as a Eigen::Vector4f) |
Definition at line 46 of file common.hpp.
Referenced by pcl::tracking::NormalCoherence< PointInT >::computeCoherence(), pcl::tracking::ParticleFilterTracker< PointInT, StateT >::computeTransformedPointCloudWithNormal(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::countWithinDistance(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::countWithinDistance(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::countWithinDistance(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::countWithinDistance(), pcl::SampleConsensusModelCone< PointT, PointNT >::countWithinDistance(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::getDistancesToModel(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::getDistancesToModel(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::getDistancesToModel(), pcl::SampleConsensusModelCone< PointT, PointNT >::getDistancesToModel(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::getDistancesToModel(), pcl::SampleConsensusModelParallelLine< PointT >::isModelValid(), pcl::SampleConsensusModelPerpendicularPlane< PointT >::isModelValid(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::isModelValid(), pcl::SampleConsensusModelCone< PointT, PointNT >::isModelValid(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::selectWithinDistance(), and pcl::SampleConsensusModelCone< PointT, PointNT >::selectWithinDistance().
|
inline |
Compute the radius of a circumscribed circle for a triangle formed of three points pa, pb, and pc.
pa | the first point |
pb | the second point |
pc | the third point |
Definition at line 360 of file common.hpp.
Referenced by pcl::ConcaveHull< PointInT >::performReconstruction().
PCL_EXPORTS bool pcl::getEigenAsPointCloud | ( | Eigen::MatrixXf & | in, |
pcl::PCLPointCloud2 & | out | ||
) |
Copy the XYZ dimensions from an Eigen MatrixXf into a pcl::PCLPointCloud2 message.
[in] | in | the Eigen MatrixXf format containing XYZ0 / point |
[out] | out | the resultant point cloud message |
|
inline |
|
inline |
Get the index of a specified field (i.e., dimension/channel)
[in] | cloud | the the point cloud message |
[in] | field_name | the string defining the field name |
Definition at line 58 of file io.h.
References pcl::PCLPointCloud2::fields.
Referenced by pcl::visualization::PCLVisualizer::addPolygonMesh(), pcl::ApproximateVoxelGrid< PointT >::applyFilter(), pcl::VoxelGrid< PointT >::applyFilter(), pcl::VoxelGridCovariance< PointT >::applyFilter(), pcl::PassThrough< PointT >::applyFilterIndices(), pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::decodePointCloud(), pcl::io::OctreePointCloudCompression< PointT, LeafT, BranchT, OctreeT >::encodePointCloud(), pcl::io::PointCloudImageExtractorWithScaling< PointT >::extract(), pcl::io::PointCloudImageExtractorFromNormalField< PointT >::extract(), pcl::io::PointCloudImageExtractorFromRGBField< PointT >::extract(), pcl::io::PointCloudImageExtractorFromLabelField< PointT >::extract(), pcl::getMinMax3D(), pcl::OrganizedFastMesh< PointInT >::performReconstruction(), pcl::visualization::PointCloudColorHandlerHSVField< PointT >::PointCloudColorHandlerHSVField(), pcl::visualization::PointCloudGeometryHandlerCustom< PointT >::PointCloudGeometryHandlerCustom(), pcl::visualization::PointCloudGeometryHandlerSurfaceNormal< PointT >::PointCloudGeometryHandlerSurfaceNormal(), pcl::visualization::PointCloudGeometryHandlerXYZ< PointT >::PointCloudGeometryHandlerXYZ(), pcl::PCDGrabber< PointT >::publish(), pcl::visualization::PointCloudColorHandlerRGBField< PointT >::setInputCloud(), pcl::visualization::PointCloudColorHandlerGenericField< PointT >::setInputCloud(), pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::sortOctantIndices(), and pcl::visualization::PCLVisualizer::updatePolygonMesh().
|
inline |
Get the index of a specified field (i.e., dimension/channel)
[in] | cloud | the the point cloud message |
[in] | field_name | the string defining the field name |
[out] | fields | a vector to the original PCLPointField vector that the raw PointCloud message contains |
|
inline |
Get the index of a specified field (i.e., dimension/channel)
[in] | field_name | the string defining the field name |
[out] | fields | a vector to the original PCLPointField vector that the raw PointCloud message contains |
|
inline |
Get the list of available fields (i.e., dimension/channel)
[in] | cloud | the point cloud message |
[out] | fields | a vector to the original PCLPointField vector that the raw PointCloud message contains |
Definition at line 78 of file io.hpp.
Referenced by pcl::RandomSample< PointT >::applyFilter(), pcl::FieldComparison< PointT >::FieldComparison(), pcl::PCDWriter::generateHeader(), pcl::PackedHSIComparison< PointT >::PackedHSIComparison(), pcl::PackedRGBComparison< PointT >::PackedRGBComparison(), pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >::setInputSource(), pcl::IterativeClosestPoint< PointSource, PointTarget >::setInputSource(), pcl::IterativeClosestPoint< PointSource, PointTarget >::setInputTarget(), pcl::TfQuadraticXYZComparison< PointT >::TfQuadraticXYZComparison(), pcl::PCDWriter::writeASCII(), pcl::PCDWriter::writeBinary(), and pcl::PCDWriter::writeBinaryCompressed().
|
inline |
Get the list of available fields (i.e., dimension/channel)
[out] | fields | a vector to the original PCLPointField vector that the raw PointCloud message contains |
|
inline |
Obtains the size of a specific field data type in bytes.
[in] | datatype | the field data type (see PCLPointField.h) |
Definition at line 127 of file io.h.
References pcl::PCLPointField::FLOAT32, pcl::PCLPointField::FLOAT64, pcl::PCLPointField::INT16, pcl::PCLPointField::INT32, pcl::PCLPointField::INT8, pcl::PCLPointField::UINT16, pcl::PCLPointField::UINT32, and pcl::PCLPointField::UINT8.
Referenced by pcl::copyPointCloud(), pcl::PCDWriter::generateHeader(), pcl::visualization::PointCloudColorHandlerGenericField< PointT >::getColor(), pcl::PCDWriter::writeBinary(), and pcl::PCDWriter::writeBinaryCompressed().
|
inline |
|
inline |
Get the available point cloud fields as a space separated string.
[in] | cloud | a pointer to the PointCloud message |
Definition at line 113 of file io.h.
References pcl::PCLPointCloud2::fields.
|
inline |
Obtains the type of the PCLPointField from a specific size and type.
[in] | size | the size in bytes of the data field |
[in] | type | a char describing the type of the field ('F' = float, 'I' = signed, 'U' = unsigned) |
Definition at line 166 of file io.h.
References pcl::PCLPointField::FLOAT32, pcl::PCLPointField::FLOAT64, pcl::PCLPointField::INT16, pcl::PCLPointField::INT32, pcl::PCLPointField::INT8, pcl::PCLPointField::UINT16, pcl::PCLPointField::UINT32, and pcl::PCLPointField::UINT8.
Referenced by pcl::PCDWriter::generateHeader().
|
inline |
Obtains the type of the PCLPointField from a specific PCLPointField as a char.
[in] | type | the PCLPointField field type |
Definition at line 204 of file io.h.
References pcl::PCLPointField::FLOAT32, pcl::PCLPointField::FLOAT64, pcl::PCLPointField::INT16, pcl::PCLPointField::INT32, pcl::PCLPointField::INT8, pcl::PCLPointField::UINT16, pcl::PCLPointField::UINT32, and pcl::PCLPointField::UINT8.
|
inline |
Get the point at maximum distance from a given point and a given pointcloud.
cloud | the point cloud data message |
pivot_pt | the point from where to compute the distance |
max_pt | the point in cloud that is the farthest point away from pivot_pt |
Definition at line 116 of file common.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::PointCloud< PointT >::points.
Referenced by pcl::VFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature(), pcl::OURCVFHEstimation< PointInT, PointNT, PointOutT >::computeRFAndShapeDistribution(), and pcl::OURCVFHEstimation< PointInT, PointNT, PointOutT >::sgurf().
|
inline |
Get the point at maximum distance from a given point and a given pointcloud.
cloud | the point cloud data message |
pivot_pt | the point from where to compute the distance |
indices | the vector of point indices to use from cloud |
max_pt | the point in cloud that is the farthest point away from pivot_pt |
Definition at line 162 of file common.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::PointCloud< PointT >::points.
|
inline |
Obtain the maximum segment in a given set of points, and return the minimum and maximum points.
[in] | cloud | the point cloud dataset |
[out] | pmin | the coordinates of the "minimum" point in cloud (one end of the segment) |
[out] | pmax | the coordinates of the "maximum" point in cloud (the other end of the segment) |
Definition at line 100 of file distances.h.
References pcl::PointCloud< PointT >::points.
|
inline |
Obtain the maximum segment in a given set of points, and return the minimum and maximum points.
[in] | cloud | the point cloud dataset |
[in] | indices | a set of point indices to use from cloud |
[out] | pmin | the coordinates of the "minimum" point in cloud (one end of the segment) |
[out] | pmax | the coordinates of the "maximum" point in cloud (the other end of the segment) |
Definition at line 139 of file distances.h.
References pcl::PointCloud< PointT >::points.
|
inline |
Compute both the mean and the standard deviation of an array of values.
values | the array of values |
mean | the resultant mean of the distribution |
stddev | the resultant standard deviation of the distribution |
Definition at line 57 of file common.hpp.
PCL_EXPORTS void pcl::getMeanStdDev | ( | const std::vector< float > & | values, |
double & | mean, | ||
double & | stddev | ||
) |
Compute both the mean and the standard deviation of an array of values.
values | the array of values |
mean | the resultant mean of the distribution |
stddev | the resultant standard deviation of the distribution |
|
inline |
Get the minimum and maximum values on a point histogram.
histogram | the point representing a multi-dimensional histogram |
len | the length of the histogram |
min_p | the resultant minimum |
max_p | the resultant maximum |
Definition at line 377 of file common.hpp.
Referenced by pcl::MaximumLikelihoodSampleConsensus< PointT >::computeModel().
PCL_EXPORTS void pcl::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.
cloud | the cloud containing multi-dimensional histograms |
idx | point index representing the histogram that we need to compute min/max for |
field_name | the field name containing the multi-dimensional histogram |
min_p | the resultant minimum |
max_p | the resultant maximum |
|
inline |
Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud.
cloud | the point cloud data message |
min_pt | the resultant minimum bounds |
max_pt | the resultant maximum bounds |
Definition at line 212 of file common.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::PointCloud< PointT >::points.
Referenced by pcl::tracking::ParticleFilterTracker< PointInT, StateT >::calcBoundingBox(), pcl::octree::OctreePointCloud< PointT, LeafContainerT, BranchContainerT, OctreeT >::defineBoundingBox(), pcl::GridProjection< PointNT >::getBoundingBox(), pcl::MarchingCubes< PointNT >::getBoundingBox(), and pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::MLSVoxelGrid().
|
inline |
Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud.
cloud | the point cloud data message |
min_pt | the resultant minimum bounds |
max_pt | the resultant maximum bounds |
Definition at line 249 of file common.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::PointCloud< PointT >::points.
|
inline |
Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud.
cloud | the point cloud data message |
indices | the vector of point indices to use from cloud |
min_pt | the resultant minimum bounds |
max_pt | the resultant maximum bounds |
Definition at line 325 of file common.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::PointCloud< PointT >::points.
|
inline |
Get the minimum and maximum values on each of the 3 (x-y-z) dimensions in a given pointcloud.
cloud | the point cloud data message |
indices | the vector of point indices to use from cloud |
min_pt | the resultant minimum bounds |
max_pt | the resultant maximum bounds |
Definition at line 287 of file common.hpp.
References pcl::PointIndices::indices, pcl::PointCloud< PointT >::is_dense, and pcl::PointCloud< PointT >::points.
PCL_EXPORTS bool pcl::getPointCloudAsEigen | ( | const pcl::PCLPointCloud2 & | in, |
Eigen::MatrixXf & | out | ||
) |
Copy the XYZ dimensions of a pcl::PCLPointCloud2 into Eigen format.
[in] | in | the point cloud message |
[out] | out | the resultant Eigen MatrixXf format containing XYZ0 / point |
|
inline |
Get a set of points residing in a box given its bounds.
cloud | the point cloud data message |
min_pt | the minimum bounds |
max_pt | the maximum bounds |
indices | the resultant set of point indices residing in the box |
Definition at line 73 of file common.hpp.
References pcl::PointCloud< PointT >::is_dense, and pcl::PointCloud< PointT >::points.
Referenced by pcl::outofcore::OutofcoreOctreeBaseNode< ContainerT, PointT >::queryBBIncludes().
|
inline |
Create a transformation from the given translation and Euler angles (XYZ-convention)
[in] | x | the input x translation |
[in] | y | the input y translation |
[in] | z | the input z translation |
[in] | roll | the input roll angle |
[in] | pitch | the input pitch angle |
[in] | yaw | the input yaw angle |
[out] | t | the resulting transformation matrix |
Definition at line 151 of file eigen.hpp.
References pcl::B.
Referenced by pcl::CropBox< PointT >::applyFilter(), pcl::registration::LUM< PointT >::computeEdge(), pcl::registration::LUM< PointT >::getConcatenatedCloud(), pcl::registration::LUM< PointT >::getTransformation(), pcl::getTransformation(), pcl::registration::LUM< PointT >::getTransformedCloud(), pcl::tracking::ParticleXYZRPY::toEigenMatrix(), pcl::tracking::ParticleXYZR::toEigenMatrix(), pcl::tracking::ParticleXYRPY::toEigenMatrix(), pcl::tracking::ParticleXYRP::toEigenMatrix(), and pcl::tracking::ParticleXYR::toEigenMatrix().
|
inline |
Create a transformation from the given translation and Euler angles (XYZ-convention)
[in] | x | the input x translation |
[in] | y | the input y translation |
[in] | z | the input z translation |
[in] | roll | the input roll angle |
[in] | pitch | the input pitch angle |
[in] | yaw | the input yaw angle |
Definition at line 166 of file eigen.hpp.
References pcl::getTransformation().
|
inline |
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)
[in] | y_direction | the y direction |
[in] | z_axis | the z-axis |
[out] | transformation | the resultant 3D rotation |
Definition at line 98 of file eigen.hpp.
References pcl::getTransFromUnitVectorsZY().
Referenced by pcl::RangeImage::getRotationToViewerCoordinateFrame(), pcl::getTransformationFromTwoUnitVectors(), and pcl::getTransformationFromTwoUnitVectorsAndOrigin().
|
inline |
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)
[in] | y_direction | the y direction |
[in] | z_axis | the z-axis |
Definition at line 107 of file eigen.hpp.
References pcl::getTransformationFromTwoUnitVectors().
|
inline |
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)
[in] | y_direction | the y direction |
[in] | z_axis | the z-axis |
[in] | origin | the origin |
[in] | transformation | the resultant transformation matrix |
Definition at line 116 of file eigen.hpp.
References pcl::getTransformationFromTwoUnitVectors().
Referenced by pcl::RangeImage::getTransformationToViewerCoordinateFrame().
|
inline |
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)
[in] | x_axis | the x-axis |
[in] | y_direction | the y direction |
[out] | transformation | the resultant 3D rotation |
Definition at line 72 of file eigen.hpp.
Referenced by pcl::getTransFromUnitVectorsXY().
|
inline |
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)
[in] | x_axis | the x-axis |
[in] | y_direction | the y direction |
Definition at line 88 of file eigen.hpp.
References pcl::getTransFromUnitVectorsXY().
|
inline |
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)
[in] | z_axis | the z-axis |
[in] | y_direction | the y direction |
[out] | transformation | the resultant 3D rotation |
Definition at line 46 of file eigen.hpp.
Referenced by pcl::getTransformationFromTwoUnitVectors(), and pcl::getTransFromUnitVectorsZY().
|
inline |
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)
[in] | z_axis | the z-axis |
[in] | y_direction | the y direction |
Definition at line 62 of file eigen.hpp.
References pcl::getTransFromUnitVectorsZY().
|
inline |
Extract x,y,z and the Euler angles (XYZ-convention) from the given transformation.
[in] | t | the input transformation matrix |
[out] | x | the resulting x translation |
[out] | y | the resulting y translation |
[out] | z | the resulting z translation |
[out] | roll | the resulting roll angle |
[out] | pitch | the resulting pitch angle |
[out] | yaw | the resulting yaw angle |
Definition at line 137 of file eigen.hpp.
Referenced by pcl::Narf::copyToNarf36(), pcl::tracking::ParticleXYZRPY::toState(), pcl::tracking::ParticleXYZR::toState(), pcl::tracking::ParticleXYRPY::toState(), pcl::tracking::ParticleXYRP::toState(), and pcl::tracking::ParticleXYR::toState().
|
inline |
Compute the HIK norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 232 of file norms.hpp.
Referenced by pcl::selectNorm().
|
inline |
Calculate the inverse of a 2x2 matrix.
[in] | matrix | matrix to be inverted |
[out] | inverse | the resultant inverted matrix |
|
inline |
|
inline |
Calculate the inverse of a 3x3 symmetric matrix.
[in] | matrix | matrix to be inverted |
[out] | inverse | the resultant inverted matrix |
Definition at line 578 of file eigen.h.
Referenced by pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::refineCorners().
|
inline |
Comparator to enable us to sort a vector of PointCorrespondences according to their scores using std::sort (begin(), end(), isBetterCorrespondence);.
Definition at line 157 of file correspondence.h.
References pcl::Correspondence::distance.
|
inline |
Compute the JM norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 127 of file norms.hpp.
Referenced by pcl::selectNorm().
|
inline |
Compute the K norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
P1 | the first parameter |
P2 | the second parameter |
|
inline |
Compute the KL between two discrete probability density functions.
A | the first discrete PDF |
B | the second discrete PDF |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 218 of file norms.hpp.
Referenced by pcl::selectNorm().
|
inline |
Compute the L1 norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 87 of file norms.hpp.
Referenced by pcl::Narf::getDescriptorDistance(), and pcl::selectNorm().
|
inline |
Compute the L2 norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 110 of file norms.hpp.
References pcl::L2_Norm_SQR().
Referenced by pcl::selectNorm().
|
inline |
Compute the squared L2 norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 97 of file norms.hpp.
Referenced by pcl::L2_Norm(), and pcl::selectNorm().
PCL_EXPORTS void pcl::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.
line_a | the coefficients of the first line (point, direction) |
line_b | the coefficients of the second line (point, direction) |
pt1_seg | the first point on the line segment |
pt2_seg | the second point on the line segment |
PCL_EXPORTS bool pcl::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.
[in] | line_a | the coefficients of the first line (point, direction) |
[in] | line_b | the coefficients of the second line (point, direction) |
[out] | point | holder for the computed 3D point |
[in] | sqr_eps | maximum allowable squared distance to the true solution |
PCL_EXPORTS bool pcl::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.
[in] | line_a | the coefficients of the first line (point, direction) |
[in] | line_b | the coefficients of the second line (point, direction) |
[out] | point | holder for the computed 3D point |
[in] | sqr_eps | maximum allowable squared distance to the true solution |
|
inline |
Compute the L-infinity norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 117 of file norms.hpp.
Referenced by pcl::selectNorm().
void pcl::loadBinary | ( | Eigen::MatrixBase< Derived > const & | matrix, |
std::istream & | file | ||
) |
|
inline |
Normalize an angle to (-PI, PI].
alpha | the input angle (in radians) |
Definition at line 48 of file angles.hpp.
|
inline |
Compute the PF norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
P1 | the first parameter |
P2 | the second parameter |
|
inline |
Convert an angle from radians to degrees.
alpha | the input angle (in radians) |
Definition at line 61 of file angles.hpp.
Referenced by pcl::ShapeContext3DEstimation< PointInT, PointNT, PointOutT >::computePoint(), and pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::computePointDescriptor().
|
inline |
Convert an angle from radians to degrees.
alpha | the input angle (in radians) |
Definition at line 73 of file angles.hpp.
void pcl::saveBinary | ( | const Eigen::MatrixBase< Derived > & | matrix, |
std::ostream & | file | ||
) |
|
inline |
Method that calculates any norm type available, based on the norm_type variable.
Definition at line 49 of file norms.hpp.
References pcl::B, pcl::B_Norm(), pcl::CS, pcl::CS_Norm(), pcl::DIV, pcl::Div_Norm(), pcl::HIK, pcl::HIK_Norm(), pcl::JM, pcl::JM_Norm(), pcl::K, pcl::KL, pcl::KL_Norm(), pcl::L1, pcl::L1_Norm(), pcl::L2, pcl::L2_Norm(), pcl::L2_Norm_SQR(), pcl::L2_SQR, pcl::LINF, pcl::Linf_Norm(), pcl::PF, pcl::SUBLINEAR, and pcl::Sublinear_Norm().
|
inline |
Get the square distance from a point to a line (represented by a point and a direction)
pt | a point |
line_pt | a point on the line (make sure that line_pt[3] = 0 as there are no internal checks!) |
line_dir | the line direction |
Definition at line 69 of file distances.h.
Referenced by pcl::SampleConsensusModelCylinder< PointT, PointNT >::computeModelCoefficients(), pcl::SampleConsensusModelCone< PointT, PointNT >::pointToAxisDistance(), and pcl::SampleConsensusModelCylinder< PointT, PointNT >::pointToLineDistance().
|
inline |
Get the square distance from a point to a line (represented by a point and a direction)
pt | a point |
line_pt | a point on the line (make sure that line_pt[3] = 0 as there are no internal checks!) |
line_dir | the line direction |
sqr_length | the squared norm of the line direction |
Definition at line 85 of file distances.h.
|
inline |
Compute the sublinear norm of the vector between two points.
A | the first point |
B | the second point |
dim | the number of dimensions in A and B (dimensions must match) |
Definition at line 156 of file norms.hpp.
Referenced by pcl::selectNorm().
void pcl::io::swapByte | ( | char * | bytes | ) |
swap bytes order of a char array of length N
bytes | char array to swap |
|
inline |
Transform a point with members x,y,z.
[in] | point | the point to transform |
[out] | transform | the transformation to apply |
Definition at line 295 of file transforms.hpp.
void pcl::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.
[in] | cloud_in | the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | an affine transformation (typically a rigid transformation) |
Definition at line 42 of file transforms.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
Referenced by ObjectRecognition::alignModelPoints(), pcl::registration::ELCH< PointT >::compute(), pcl::OURCVFHEstimation< PointInT, PointNT, PointOutT >::computeRFAndShapeDistribution(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeStepLengthMT(), pcl::NormalDistributionsTransform2D< PointSource, PointTarget >::computeTransformation(), pcl::NormalDistributionsTransform< PointSource, PointTarget >::computeTransformation(), pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >::computeTransformation(), pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::computeTransformation(), pcl::registration::LUM< PointT >::getConcatenatedCloud(), pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getFitness(), pcl::registration::LUM< PointT >::getTransformedCloud(), pcl::TextureMapping< PointInT >::mapMultipleTexturesToMeshUV(), pcl::ConcaveHull< PointInT >::performReconstruction(), pcl::ESFEstimation< PointInT, PointOutT >::scale_points_unit_sphere(), pcl::OURCVFHEstimation< PointInT, PointNT, PointOutT >::sgurf(), pcl::TextureMapping< PointInT >::sortFacesByCamera(), pcl::TextureMapping< PointInT >::textureMeshwithMultipleCameras(), and pcl::transformPointCloud().
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | an affine transformation (typically a rigid transformation) |
Definition at line 92 of file transforms.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, and pcl::PointCloud< PointT >::width.
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | an affine transformation (typically a rigid transformation) |
Definition at line 100 of file transforms.h.
References pcl::PointIndices::indices.
void pcl::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.
[in] | cloud_in | the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | a rigid transformation |
Definition at line 190 of file transforms.h.
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | a rigid transformation |
Definition at line 214 of file transforms.h.
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | a rigid transformation |
Definition at line 240 of file transforms.h.
References pcl::PointIndices::indices.
|
inline |
Apply a rigid transform defined by a 3D offset and a quaternion.
[in] | cloud_in | the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | offset | the translation component of the rigid transformation |
[in] | rotation | the rotation component of the rigid transformation |
Definition at line 269 of file transforms.hpp.
References pcl::transformPointCloud().
void pcl::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.
[in] | cloud_in | the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | an affine transformation (typically a rigid transformation) |
Definition at line 265 of file transforms.h.
Referenced by pcl::transformPointCloudWithNormals().
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | an affine transformation (typically a rigid transformation) |
Definition at line 291 of file transforms.h.
void pcl::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.
[in] | cloud_in | the input point cloud |
[in] | indices | the set of point indices to use from the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | transform | an affine transformation (typically a rigid transformation) |
Definition at line 319 of file transforms.h.
|
inline |
Transform a point cloud and rotate its normals using an Eigen transform.
[in] | cloud_in | the input point cloud |
[out] | cloud_out | the resultant output point cloud |
[in] | offset | the translation component of the rigid transformation |
[in] | rotation | the rotation component of the rigid transformation |
Definition at line 282 of file transforms.hpp.
References pcl::transformPointCloudWithNormals().