pcl::registration::MetaRegistration< PointT, Scalar > Class Template Reference
Module registration

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)
{
PointCloud<PointXYZ>::Ptr cloud (new PointCloud<PointXYZ>);
read_cloud (*cloud);
mreg.registerCloud (cloud);
PointCloud<PointXYZ>::Ptr tmp (new PointCloud<PointXYZ>);
transformPointCloud (*cloud, *tmp, mreg.getAbsoluteTransform ());
write_cloud (*tmp);
}

Author
  Michael 'v4hn' Goerner

Definition at line 77 of file meta_registration.h.

## Member Typedef Documentation

## Matrix4

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.

## PointCloudConstPtr

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.

## PointCloudPtr

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.

## RegistrationPtr

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

## MetaRegistration()

template<typename PointT , typename Scalar >

pcl::registration::MetaRegistration< PointT, Scalar >::MetaRegistration | ( |  | ) |

Definition at line 42 of file meta_registration.hpp.

## ~MetaRegistration()

template<typename PointT, typename Scalar = float>

virtual pcl::registration::MetaRegistration< PointT, Scalar >::~MetaRegistration | ( |  | ) |

inline virtual

Empty destructor.

Definition at line 88 of file meta_registration.h.

References pcl::registration::MetaRegistration< PointT, Scalar >::getAbsoluteTransform(), pcl::registration::MetaRegistration< PointT, Scalar >::getMetaCloud(), pcl::registration::MetaRegistration< PointT, Scalar >::registerCloud(), pcl::registration::MetaRegistration< PointT, Scalar >::reset(), and pcl::registration::MetaRegistration< PointT, Scalar >::setRegistration().

## Member Function Documentation

## getAbsoluteTransform()

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.

References pcl::registration::MetaRegistration< PointT, Scalar >::abs_transform_.

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

## getMetaCloud()

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.

References pcl::registration::MetaRegistration< PointT, Scalar >::full_cloud_.

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

## 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 setICP before using this

Parameters

  [in] | cloud | point cloud to register
  [in] | delta_estimate | estimated transform between last registered cloud and this one

Returns
  true if ICP converged

Definition at line 47 of file meta_registration.hpp.

References pcl::registration::MetaRegistration< PointT, Scalar >::abs_transform_, pcl::registration::MetaRegistration< PointT, Scalar >::full_cloud_, pcl::registration::MetaRegistration< PointT, Scalar >::registration_, and pcl::transformPointCloud().

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

## reset()

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.

References pcl::registration::MetaRegistration< PointT, Scalar >::abs_transform_, and pcl::registration::MetaRegistration< PointT, Scalar >::full_cloud_.

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

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

References pcl::registration::MetaRegistration< PointT, Scalar >::registration_.

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

## 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 123 of file meta_registration.h.

Referenced by pcl::registration::MetaRegistration< PointT, Scalar >::getAbsoluteTransform(), pcl::registration::MetaRegistration< PointT, Scalar >::registerCloud(), and pcl::registration::MetaRegistration< PointT, Scalar >::reset().

## full_cloud_

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.

Referenced by pcl::registration::MetaRegistration< PointT, Scalar >::getMetaCloud(), pcl::registration::MetaRegistration< PointT, Scalar >::registerCloud(), and pcl::registration::MetaRegistration< PointT, Scalar >::reset().

## registration_

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.

Referenced by pcl::registration::MetaRegistration< PointT, Scalar >::registerCloud(), and pcl::registration::MetaRegistration< PointT, Scalar >::setRegistration().

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

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/registration/include/pcl/registration/meta_registration.h
- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/registration/include/pcl/registration/impl/meta_registration.hpp