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

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

◆ Matrix4

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.

◆ PointCloudConstPtr

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.

◆ PointCloudPtr

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.

◆ RegistrationPtr

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

◆ IncrementalRegistration()

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

Definition at line 42 of file incremental_registration.hpp.

◆ ~IncrementalRegistration()

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

Member Function Documentation

◆ getAbsoluteTransform()

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

◆ getDeltaTransform()

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

◆ registerCloud()

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.

References pcl::registration::IncrementalRegistration< PointT, Scalar >::abs_transform_, pcl::registration::IncrementalRegistration< PointT, Scalar >::delta_transform_, pcl::registration::IncrementalRegistration< PointT, Scalar >::last_cloud_, and pcl::registration::IncrementalRegistration< PointT, Scalar >::registration_.

Referenced by pcl::registration::IncrementalRegistration< PointT, Scalar >::~IncrementalRegistration().

◆ reset()

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

◆ setRegistration()

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

Member Data Documentation

◆ abs_transform_

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

◆ delta_transform_

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

◆ last_cloud_

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

◆ registration_

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

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