Point Cloud Library (PCL)  1.8.1-dev
List of all members | Public Types | Public Member Functions | Protected Attributes
pcl::registration::MetaRegistration< PointT, Scalar > Class Template Reference

Meta Registration class. More...

#include <pcl/registration/meta_registration.h>

Public Types

typedef pcl::PointCloud
< PointT >::Ptr 
PointCloudPtr
 
typedef pcl::PointCloud
< PointT >::ConstPtr 
PointCloudConstPtr
 
typedef pcl::Registration
< PointT, PointT, Scalar >
::Ptr 
RegistrationPtr
 
typedef pcl::Registration
< PointT, PointT, Scalar >
::Matrix4 
Matrix4
 

Public Member Functions

 MetaRegistration ()
 
virtual ~MetaRegistration ()
 Empty destructor. More...
 
bool registerCloud (const PointCloudConstPtr &cloud, const Matrix4 &delta_estimate=Matrix4::Identity())
 Register new point cloud. More...
 
Matrix4 getAbsoluteTransform () const
 Get estimated transform of the last registered cloud. More...
 
void reset ()
 Reset MetaICP without resetting registration_. More...
 
void setRegistration (RegistrationPtr)
 Set registration instance used to align clouds. More...
 
PointCloudConstPtr getMetaCloud () const
 get accumulated meta point cloud More...
 

Protected Attributes

PointCloudPtr full_cloud_
 registered accumulated point cloud More...
 
RegistrationPtr registration_
 registration instance to align clouds More...
 
Matrix4 abs_transform_
 estimated transform More...
 

Detailed Description

template<typename PointT, typename Scalar = float>
class pcl::registration::MetaRegistration< PointT, Scalar >

Meta Registration class.

Note
This method accumulates all registered points and becomes more costly with each registered point cloud.

This class provides a way to register a stream of clouds where each cloud will be aligned to the conglomerate of all previous clouds.

IterativeClosestPoint<PointXYZ,PointXYZ>::Ptr icp (new IterativeClosestPoint<PointXYZ,PointXYZ>);
icp->setMaxCorrespondenceDistance (0.05);
icp->setMaximumIterations (50);
MetaRegistration<PointXYZ> mreg;
mreg.setRegistration (icp);
while (true)
{
read_cloud (*cloud);
mreg.registerCloud (cloud);
transformPointCloud (*cloud, *tmp, mreg.getAbsoluteTransform ());
write_cloud (*tmp);
}
Author
Michael 'v4hn' Goerner

Definition at line 77 of file meta_registration.h.

Member Typedef Documentation

template<typename PointT, typename Scalar = float>
typedef pcl::Registration<PointT,PointT,Scalar>::Matrix4 pcl::registration::MetaRegistration< PointT, Scalar >::Matrix4

Definition at line 83 of file meta_registration.h.

template<typename PointT, typename Scalar = float>
typedef pcl::PointCloud<PointT>::ConstPtr pcl::registration::MetaRegistration< PointT, Scalar >::PointCloudConstPtr

Definition at line 80 of file meta_registration.h.

template<typename PointT, typename Scalar = float>
typedef pcl::PointCloud<PointT>::Ptr pcl::registration::MetaRegistration< PointT, Scalar >::PointCloudPtr

Definition at line 79 of file meta_registration.h.

template<typename PointT, typename Scalar = float>
typedef pcl::Registration<PointT,PointT,Scalar>::Ptr pcl::registration::MetaRegistration< PointT, Scalar >::RegistrationPtr

Definition at line 82 of file meta_registration.h.

Constructor & Destructor Documentation

template<typename PointT , typename Scalar >
pcl::registration::MetaRegistration< PointT, Scalar >::MetaRegistration ( )

Definition at line 42 of file meta_registration.hpp.

template<typename PointT, typename Scalar = float>
virtual pcl::registration::MetaRegistration< PointT, Scalar >::~MetaRegistration ( )
inlinevirtual

Empty destructor.

Definition at line 88 of file meta_registration.h.

Member Function Documentation

template<typename PointT , typename Scalar >
pcl::registration::MetaRegistration< PointT, Scalar >::Matrix4 pcl::registration::MetaRegistration< PointT, Scalar >::getAbsoluteTransform ( ) const
inline

Get estimated transform of the last registered cloud.

Definition at line 78 of file meta_registration.hpp.

template<typename PointT , typename Scalar >
pcl::registration::MetaRegistration< PointT, Scalar >::PointCloudConstPtr pcl::registration::MetaRegistration< PointT, Scalar >::getMetaCloud ( ) const
inline

get accumulated meta point cloud

Definition at line 97 of file meta_registration.hpp.

template<typename PointT , typename Scalar >
bool pcl::registration::MetaRegistration< PointT, Scalar >::registerCloud ( const PointCloudConstPtr cloud,
const Matrix4 delta_estimate = Matrix4::Identity () 
)

Register new point cloud.

Note
You have to set a valid registration object with setICP before using this
Parameters
[in]cloudpoint cloud to register
[in]delta_estimateestimated transform between last registered cloud and this one
Returns
true if ICP converged

Definition at line 47 of file meta_registration.hpp.

References pcl::transformPointCloud().

template<typename PointT , typename Scalar >
void pcl::registration::MetaRegistration< PointT, Scalar >::reset ( )
inline

Reset MetaICP without resetting registration_.

Definition at line 84 of file meta_registration.hpp.

template<typename PointT , typename Scalar >
void pcl::registration::MetaRegistration< PointT, Scalar >::setRegistration ( RegistrationPtr  reg)
inline

Set registration instance used to align clouds.

Definition at line 91 of file meta_registration.hpp.

Member Data Documentation

template<typename PointT, typename Scalar = float>
Matrix4 pcl::registration::MetaRegistration< PointT, Scalar >::abs_transform_
protected

estimated transform

Definition at line 123 of file meta_registration.h.

template<typename PointT, typename Scalar = float>
PointCloudPtr pcl::registration::MetaRegistration< PointT, Scalar >::full_cloud_
protected

registered accumulated point cloud

Definition at line 117 of file meta_registration.h.

template<typename PointT, typename Scalar = float>
RegistrationPtr pcl::registration::MetaRegistration< PointT, Scalar >::registration_
protected

registration instance to align clouds

Definition at line 120 of file meta_registration.h.


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