Point Cloud Library (PCL) 1.12.0
Loading...
Searching...
No Matches
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>

+ Collaboration diagram for pcl::registration::MetaRegistration< 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

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

Protected Attributes

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

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.

icp->setMaxCorrespondenceDistance (0.05);
icp->setMaximumIterations (50);
mreg.setRegistration (icp);
while (true)
{
read_cloud (*cloud);
mreg.registerCloud (cloud);
transformPointCloud (*cloud, *tmp, mreg.getAbsoluteTransform ());
write_cloud (*tmp);
}
IterativeClosestPoint provides a base implementation of the Iterative Closest Point algorithm.
Definition icp.h:97
shared_ptr< IterativeClosestPoint< PointSource, PointTarget, Scalar > > Ptr
Definition icp.h:112
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< PointCloud< PointT > > Ptr
Matrix4 getAbsoluteTransform() const
Get estimated transform of the last registered cloud.
bool registerCloud(const PointCloudConstPtr &cloud, const Matrix4 &delta_estimate=Matrix4::Identity())
Register new point cloud.
void setRegistration(RegistrationPtr)
Set registration instance used to align clouds.
void transformPointCloud(const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform, bool copy_all_fields)
Apply a rigid transform defined by a 4x4 matrix.
Author
Michael 'v4hn' Goerner

Definition at line 78 of file meta_registration.h.

Member Typedef Documentation

◆ Matrix4

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

Definition at line 84 of file meta_registration.h.

◆ PointCloudConstPtr

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

Definition at line 81 of file meta_registration.h.

◆ PointCloudPtr

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

Definition at line 80 of file meta_registration.h.

◆ RegistrationPtr

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

Definition at line 83 of file meta_registration.h.

Constructor & Destructor Documentation

◆ MetaRegistration()

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

Definition at line 46 of file meta_registration.hpp.

◆ ~MetaRegistration()

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

Empty destructor.

Definition at line 89 of file meta_registration.h.

Member Function Documentation

◆ getAbsoluteTransform()

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

Get estimated transform of the last registered cloud.

Definition at line 83 of file meta_registration.hpp.

◆ getMetaCloud()

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

get accumulated meta point cloud

Definition at line 105 of file meta_registration.hpp.

◆ registerCloud()

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 setRegistration before using this
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 52 of file meta_registration.hpp.

References pcl::transformPointCloud().

◆ reset()

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

Reset MetaRegistration without resetting registration_.

Definition at line 90 of file meta_registration.hpp.

◆ setRegistration()

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 98 of file meta_registration.hpp.

Member Data Documentation

◆ abs_transform_

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

estimated transform

Definition at line 124 of file meta_registration.h.

◆ full_cloud_

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

registered accumulated point cloud

Definition at line 118 of file meta_registration.h.

◆ registration_

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

registration instance to align clouds

Definition at line 121 of file meta_registration.h.


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