Point Cloud Library (PCL)  1.11.0
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>

+ Collaboration diagram for pcl::registration::IncrementalRegistration< PointT, Scalar >:

Public Types

using PointCloudPtr = typename pcl::PointCloud< PointT >::Ptr
 
using PointCloudConstPtr = typename pcl::PointCloud< PointT >::ConstPtr
 
using RegistrationPtr = typename pcl::Registration< PointT, PointT, Scalar >::Ptr
 
using Matrix4 = typename pcl::Registration< PointT, PointT, Scalar >::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 73 of file incremental_registration.h.

Member Typedef Documentation

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

Definition at line 79 of file incremental_registration.h.

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

Definition at line 76 of file incremental_registration.h.

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

Definition at line 75 of file incremental_registration.h.

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

Definition at line 78 of file incremental_registration.h.

Constructor & Destructor Documentation

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

Definition at line 49 of file incremental_registration.hpp.

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

Empty destructor.

Definition at line 84 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 92 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 86 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 55 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 98 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 105 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 121 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 120 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 114 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 117 of file incremental_registration.h.


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