Classes | Public Types | Public Member Functions | Protected Attributes | Private Types
pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar > Class Template Reference

#include <transformation_estimation_point_to_plane_weighted.h>

Inheritance diagram for pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >:
Inheritance graph
[legend]

List of all members.

Classes

struct  Functor
struct  OptimizationFunctor
struct  OptimizationFunctorWithIndices

Public Types

typedef boost::shared_ptr
< const
TransformationEstimationPointToPlaneWeighted
< PointSource, PointTarget,
MatScalar > > 
ConstPtr
typedef
TransformationEstimation
< PointSource, PointTarget,
MatScalar >::Matrix4 
Matrix4
typedef boost::shared_ptr
< TransformationEstimationPointToPlaneWeighted
< PointSource, PointTarget,
MatScalar > > 
Ptr
typedef Eigen::Matrix
< MatScalar, 4, 1 > 
Vector4
typedef Eigen::Matrix
< MatScalar, Eigen::Dynamic, 1 > 
VectorX

Public Member Functions

void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const
 Estimate a rigid rotation transformation between a source and a target point cloud using LM.
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const
 Estimate a rigid rotation transformation between a source and a target point cloud using LM.
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const std::vector< int > &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const std::vector< int > &indices_tgt, Matrix4 &transformation_matrix) const
 Estimate a rigid rotation transformation between a source and a target point cloud using LM.
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const
 Estimate a rigid rotation transformation between a source and a target point cloud using LM.
TransformationEstimationPointToPlaneWeightedoperator= (const TransformationEstimationPointToPlaneWeighted &src)
 Copy operator.
void setUseCorrespondenceWeights (bool use_correspondence_weights)
 use the weights given in the pcl::CorrespondencesPtr for one of the estimateTransformation (...) methods
void setWarpFunction (const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget, MatScalar > > &warp_fcn)
 Set the function we use to warp points. Defaults to rigid 6D warp.
void setWeights (const std::vector< double > &weights)
 TransformationEstimationPointToPlaneWeighted ()
 Constructor.
 TransformationEstimationPointToPlaneWeighted (const TransformationEstimationPointToPlaneWeighted &src)
 Copy constructor.
virtual ~TransformationEstimationPointToPlaneWeighted ()
 Destructor.

Protected Attributes

std::vector< double > correspondence_weights_
const std::vector< int > * tmp_idx_src_
 Temporary pointer to the source dataset indices.
const std::vector< int > * tmp_idx_tgt_
 Temporary pointer to the target dataset indices.
const PointCloudSourcetmp_src_
 Temporary pointer to the source dataset.
const PointCloudTargettmp_tgt_
 Temporary pointer to the target dataset.
bool use_correspondence_weights_
boost::shared_ptr
< pcl::registration::WarpPointRigid
< PointSource, PointTarget,
MatScalar > > 
warp_point_
 The parameterized function used to warp the source to the target.

Private Types

typedef pcl::PointCloud
< PointSource > 
PointCloudSource
typedef PointCloudSource::ConstPtr PointCloudSourceConstPtr
typedef PointCloudSource::Ptr PointCloudSourcePtr
typedef pcl::PointCloud
< PointTarget > 
PointCloudTarget
typedef PointIndices::ConstPtr PointIndicesConstPtr
typedef PointIndices::Ptr PointIndicesPtr

Detailed Description

template<typename PointSource, typename PointTarget, typename MatScalar = float>
class pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >

TransformationEstimationPointToPlaneWeighted uses Levenberg Marquardt optimization to find the transformation that minimizes the point-to-plane distance between the given correspondences. In addition to the TransformationEstimationPointToPlane class, this version takes per-correspondence weights and optimizes accordingly.

Author:
Alexandru-Eugen Ichim

Definition at line 59 of file transformation_estimation_point_to_plane_weighted.h.


Member Typedef Documentation

template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef boost::shared_ptr<const TransformationEstimationPointToPlaneWeighted<PointSource, PointTarget, MatScalar> > pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::ConstPtr
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef TransformationEstimation<PointSource, PointTarget, MatScalar>::Matrix4 pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Matrix4
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef pcl::PointCloud<PointSource> pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::PointCloudSource [private]
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef PointCloudSource::ConstPtr pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::PointCloudSourceConstPtr [private]
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef PointCloudSource::Ptr pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::PointCloudSourcePtr [private]
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef pcl::PointCloud<PointTarget> pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::PointCloudTarget [private]
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef PointIndices::ConstPtr pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::PointIndicesConstPtr [private]
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef PointIndices::Ptr pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::PointIndicesPtr [private]
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef boost::shared_ptr<TransformationEstimationPointToPlaneWeighted<PointSource, PointTarget, MatScalar> > pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Ptr
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef Eigen::Matrix<MatScalar, 4, 1> pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::Vector4
template<typename PointSource , typename PointTarget , typename MatScalar = float>
typedef Eigen::Matrix<MatScalar, Eigen::Dynamic, 1> pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::VectorX

Constructor & Destructor Documentation

template<typename PointSource , typename PointTarget , typename MatScalar >
pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::TransformationEstimationPointToPlaneWeighted ( )

Constructor.

Definition at line 50 of file transformation_estimation_point_to_plane_weighted.hpp.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::TransformationEstimationPointToPlaneWeighted ( const TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar > &  src) [inline]

Copy constructor.

Parameters:
[in]srcthe TransformationEstimationPointToPlaneWeighted object to copy into this

Definition at line 84 of file transformation_estimation_point_to_plane_weighted.h.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
virtual pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::~TransformationEstimationPointToPlaneWeighted ( ) [inline, virtual]

Destructor.

Definition at line 110 of file transformation_estimation_point_to_plane_weighted.h.


Member Function Documentation

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > &  cloud_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
Matrix4 transformation_matrix 
) const [inline]

Estimate a rigid rotation transformation between a source and a target point cloud using LM.

Parameters:
[in]cloud_srcthe source point cloud dataset
[in]cloud_tgtthe target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix
Note:
Uses the weights given by setWeights.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 63 of file transformation_estimation_point_to_plane_weighted.hpp.

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > &  cloud_src,
const std::vector< int > &  indices_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
Matrix4 transformation_matrix 
) const [inline]

Estimate a rigid rotation transformation between a source and a target point cloud using LM.

Parameters:
[in]cloud_srcthe source point cloud dataset
[in]indices_srcthe vector of indices describing the points of interest in cloud_src
[in]cloud_tgtthe target point cloud dataset
[out]transformation_matrixthe resultant transformation matrix
Note:
Uses the weights given by setWeights.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 124 of file transformation_estimation_point_to_plane_weighted.hpp.

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > &  cloud_src,
const std::vector< int > &  indices_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
const std::vector< int > &  indices_tgt,
Matrix4 transformation_matrix 
) const [inline]

Estimate a rigid rotation transformation between a source and a target point cloud using LM.

Parameters:
[in]cloud_srcthe source point cloud dataset
[in]indices_srcthe vector of indices describing the points of interest in cloud_src
[in]cloud_tgtthe target point cloud dataset
[in]indices_tgtthe vector of indices describing the correspondences of the interst points from indices_src
[out]transformation_matrixthe resultant transformation matrix
Note:
Uses the weights given by setWeights.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 159 of file transformation_estimation_point_to_plane_weighted.hpp.

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > &  cloud_src,
const pcl::PointCloud< PointTarget > &  cloud_tgt,
const pcl::Correspondences correspondences,
Matrix4 transformation_matrix 
) const [inline]

Estimate a rigid rotation transformation between a source and a target point cloud using LM.

Parameters:
[in]cloud_srcthe source point cloud dataset
[in]cloud_tgtthe target point cloud dataset
[in]correspondencesthe vector of correspondences between source and target point cloud
[out]transformation_matrixthe resultant transformation matrix
Note:
Uses the weights given by setWeights.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 222 of file transformation_estimation_point_to_plane_weighted.hpp.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
TransformationEstimationPointToPlaneWeighted& pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::operator= ( const TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar > &  src) [inline]

Copy operator.

Parameters:
[in]srcthe TransformationEstimationPointToPlaneWeighted object to copy into this

Definition at line 98 of file transformation_estimation_point_to_plane_weighted.h.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
void pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::setUseCorrespondenceWeights ( bool  use_correspondence_weights) [inline]

use the weights given in the pcl::CorrespondencesPtr for one of the estimateTransformation (...) methods

Definition at line 176 of file transformation_estimation_point_to_plane_weighted.h.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
void pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::setWarpFunction ( const boost::shared_ptr< WarpPointRigid< PointSource, PointTarget, MatScalar > > &  warp_fcn) [inline]

Set the function we use to warp points. Defaults to rigid 6D warp.

Parameters:
[in]warp_fcna shared pointer to an object that warps points

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 183 of file transformation_estimation_point_to_plane_weighted.h.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
void pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::setWeights ( const std::vector< double > &  weights) [inline]

Member Data Documentation

template<typename PointSource , typename PointTarget , typename MatScalar = float>
std::vector<double> pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::correspondence_weights_ [mutable, protected]
template<typename PointSource , typename PointTarget , typename MatScalar = float>
const std::vector<int>* pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::tmp_idx_src_ [mutable, protected]

Temporary pointer to the source dataset indices.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 197 of file transformation_estimation_point_to_plane_weighted.h.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const std::vector<int>* pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::tmp_idx_tgt_ [mutable, protected]

Temporary pointer to the target dataset indices.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 200 of file transformation_estimation_point_to_plane_weighted.h.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const PointCloudSource* pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::tmp_src_ [mutable, protected]

Temporary pointer to the source dataset.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 191 of file transformation_estimation_point_to_plane_weighted.h.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const PointCloudTarget* pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::tmp_tgt_ [mutable, protected]

Temporary pointer to the target dataset.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 194 of file transformation_estimation_point_to_plane_weighted.h.

template<typename PointSource , typename PointTarget , typename MatScalar = float>
bool pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::use_correspondence_weights_ [protected]
template<typename PointSource , typename PointTarget , typename MatScalar = float>
boost::shared_ptr<pcl::registration::WarpPointRigid<PointSource, PointTarget, MatScalar> > pcl::registration::TransformationEstimationPointToPlaneWeighted< PointSource, PointTarget, MatScalar >::warp_point_ [protected]

The parameterized function used to warp the source to the target.

Reimplemented from pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >.

Definition at line 203 of file transformation_estimation_point_to_plane_weighted.h.


The documentation for this class was generated from the following files:


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:46:56