iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nrt::TransformationEstimationSVD Class Reference

#include <nrt/PointCloud2/Registration/Transformation/TransformationEstimationSVD.H>

Estimates a rigid transform using singular value decomposition.

Examples:
tests/test-PointCloud2OpenNI.C, and tests/test-PointCloud2Registration.C.

Definition at line 44 of file TransformationEstimationSVD.H.

Inheritance diagram for nrt::TransformationEstimationSVD:
nrt::TransformationEstimationBase

Public Member Functions

AffineTransform estimateTransform (PointCloud2 const source, PointCloud2 const target)
 Estimates a rigid transformation between a source and target cloud. More...
 
AffineTransform estimateTransform (PointCloud2 const source, PointCloud2 const target, Correspondences const correspondences)
 Estimates a rigid transformation between a source and target cloud. More...
 
size_t minimumNumCorrespondences () const
 Gets the minimum required number of correspondences to estimate a transform.
 
- Public Member Functions inherited from nrt::TransformationEstimationBase
virtual ~TransformationEstimationBase ()
 Virtual destruction.
 

Protected Member Functions

AffineTransform estimate (PointCloud2::ConstIterator<> &&sourceBegin, PointCloud2::ConstIterator<> &&targetBegin, const size_t srcSize)
 Does the actual estimation. More...
 

Additional Inherited Members

- Public Types inherited from nrt::TransformationEstimationBase
typedef std::shared_ptr
< TransformationEstimationBase
SharedPtr
 Convenience typedef for shared ptr to this.
 

Member Function Documentation

AffineTransform nrt::TransformationEstimationSVD::estimateTransform ( PointCloud2 const  source,
PointCloud2 const  target 
)
virtual

Estimates a rigid transformation between a source and target cloud.

Parameters
sourceThe source point cloud
targetThe target point cloud
Returns
The 4x4 rotation matrix that performs the transform

Implements nrt::TransformationEstimationBase.

AffineTransform nrt::TransformationEstimationSVD::estimateTransform ( PointCloud2 const  source,
PointCloud2 const  target,
Correspondences const  correspondences 
)
virtual

Estimates a rigid transformation between a source and target cloud.

Parameters
sourceThe source point cloud
targetThe target point cloud
correspondencesThe correspondences between two clouds
Returns
The 4x4 rotation matrix that performs the transform

Implements nrt::TransformationEstimationBase.

AffineTransform nrt::TransformationEstimationSVD::estimate ( PointCloud2::ConstIterator<> &&  sourceBegin,
PointCloud2::ConstIterator<> &&  targetBegin,
const size_t  srcSize 
)
protected

Does the actual estimation.

Use either ref or r value ref here since we want this to work with the virtual functions in the iterators


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