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

Incremental IterativeClosestPoint class. More...

#include <pcl/registration/incremental_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

 IncrementalRegistration ()
 
virtual ~IncrementalRegistration ()
 Empty destructor. More...
 
bool registerCloud (const PointCloudConstPtr &cloud, const Matrix4 &delta_estimate=Matrix4::Identity())
 Register new point cloud incrementally. More...
 
Matrix4 getDeltaTransform () const
 Get estimated transform between the last two registered clouds. More...
 
Matrix4 getAbsoluteTransform () const
 Get estimated overall transform. More...
 
void reset ()
 Reset incremental Registration without resetting registration_. More...
 
void setRegistration (RegistrationPtr)
 Set registration instance used to align clouds. More...
 

Protected Attributes

PointCloudConstPtr last_cloud_
 last registered point cloud More...
 
RegistrationPtr registration_
 registration instance to align clouds More...
 
Matrix4 delta_transform_
 estimated transforms More...
 
Matrix4 abs_transform_
 

Detailed Description

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

Incremental IterativeClosestPoint class.

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

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

Definition at line 74 of file incremental_registration.h.

Member Typedef Documentation

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

Definition at line 80 of file incremental_registration.h.

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

Definition at line 77 of file incremental_registration.h.

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

Definition at line 76 of file incremental_registration.h.

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

Definition at line 79 of file incremental_registration.h.

Constructor & Destructor Documentation

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

Definition at line 42 of file incremental_registration.hpp.

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

Empty destructor.

Definition at line 85 of file incremental_registration.h.

Member Function Documentation

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

Get estimated overall transform.

Definition at line 85 of file incremental_registration.hpp.

template<typename PointT , typename Scalar >
pcl::registration::IncrementalRegistration< PointT, Scalar >::Matrix4 pcl::registration::IncrementalRegistration< PointT, Scalar >::getDeltaTransform ( ) const
inline

Get estimated transform between the last two registered clouds.

Definition at line 79 of file incremental_registration.hpp.

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

Register new point cloud incrementally.

Note
You have to set a valid registration object with setRegistration before using this
The class doesn't copy cloud. If you afterwards change cloud, that will affect this class.
Parameters
[in]cloudpoint cloud to register
[in]delta_estimateestimated transform between last registered cloud and this one
Returns
true if registration converged

Definition at line 48 of file incremental_registration.hpp.

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

Reset incremental Registration without resetting registration_.

Definition at line 91 of file incremental_registration.hpp.

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

Set registration instance used to align clouds.

Definition at line 98 of file incremental_registration.hpp.

Member Data Documentation

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

Definition at line 122 of file incremental_registration.h.

template<typename PointT, typename Scalar = float>
Matrix4 pcl::registration::IncrementalRegistration< PointT, Scalar >::delta_transform_
protected

estimated transforms

Definition at line 121 of file incremental_registration.h.

template<typename PointT, typename Scalar = float>
PointCloudConstPtr pcl::registration::IncrementalRegistration< PointT, Scalar >::last_cloud_
protected

last registered point cloud

Definition at line 115 of file incremental_registration.h.

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

registration instance to align clouds

Definition at line 118 of file incremental_registration.h.


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