small_gicp
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
small_gicp::RegistrationPCL< PointSource, PointTarget > Class Template Reference

PCL registration interfaces. More...

#include <pcl_registration.hpp>

Inheritance diagram for small_gicp::RegistrationPCL< PointSource, PointTarget >:
Inheritance graph
[legend]
Collaboration diagram for small_gicp::RegistrationPCL< PointSource, PointTarget >:
Collaboration graph
[legend]

Public Types

using Scalar = float
 
using Matrix4 = typename pcl::Registration< PointSource, PointTarget, Scalar >::Matrix4
 
using PointCloudSource = typename pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudSource
 
using PointCloudSourcePtr = typename PointCloudSource::Ptr
 
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
 
using PointCloudTarget = typename pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudTarget
 
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
 
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
 
using Ptr = pcl::shared_ptr< RegistrationPCL< PointSource, PointTarget > >
 
using ConstPtr = pcl::shared_ptr< const RegistrationPCL< PointSource, PointTarget > >
 

Public Member Functions

 RegistrationPCL ()
 
virtual ~RegistrationPCL ()
 
void setNumThreads (int n)
 Set the number of threads to use. More...
 
void setCorrespondenceRandomness (int k)
 Set the number of neighbors for covariance estimation. More...
 
void setNumNeighborsForCovariance (int k)
 Set the number of neighbors for covariance estimation. More...
 
void setVoxelResolution (double r)
 Set the voxel resolution for VGICP. More...
 
void setRotationEpsilon (double eps)
 Set rotation epsilon for convergence check. More...
 
void setRegistrationType (const std::string &type)
 Set registration type ("GICP" or "VGICP"). More...
 
void setVerbosity (bool verbose)
 Set the verbosity flag. More...
 
const Eigen::Matrix< double, 6, 6 > & getFinalHessian () const
 Get the final Hessian matrix ([rx, ry, rz, tx, ty, tz]). More...
 
const RegistrationResultgetRegistrationResult () const
 Get the detailed registration result. More...
 
void setInputSource (const PointCloudSourceConstPtr &cloud) override
 Set the input source (aligned) point cloud. More...
 
void setInputTarget (const PointCloudTargetConstPtr &cloud) override
 Set the input target (fixed) point cloud. More...
 
void setSourceCovariances (const std::vector< Eigen::Matrix4d > &covs)
 Set source point covariances. More...
 
void setTargetCovariances (const std::vector< Eigen::Matrix4d > &covs)
 Set target point covariances. More...
 
const std::vector< Eigen::Matrix4d > & getSourceCovariances () const
 Get source point covariances. More...
 
const std::vector< Eigen::Matrix4d > & getTargetCovariances () const
 Get target point covariances. More...
 
void swapSourceAndTarget ()
 Swap source and target point clouds and their augmented data (KdTrees, covariances, and voxelmaps). More...
 
void clearSource ()
 Clear source point cloud. More...
 
void clearTarget ()
 Clear target point cloud. More...
 

Protected Member Functions

virtual void computeTransformation (PointCloudSource &output, const Matrix4 &guess) override
 

Protected Attributes

int num_threads_
 Number of threads to use. More...
 
int k_correspondences_
 Number of neighbors for covariance estimation. More...
 
double rotation_epsilon_
 Rotation epsilon for convergence check. More...
 
double voxel_resolution_
 Voxel resolution for VGICP. More...
 
std::string registration_type_
 Registration type ("GICP" or "VGICP"). More...
 
bool verbose_
 Verbosity flag. More...
 
std::shared_ptr< KdTree< pcl::PointCloud< PointSource > > > target_tree_
 KdTree for target point cloud. More...
 
std::shared_ptr< KdTree< pcl::PointCloud< PointSource > > > source_tree_
 KdTree for source point cloud. More...
 
std::shared_ptr< GaussianVoxelMaptarget_voxelmap_
 VoxelMap for target point cloud. More...
 
std::shared_ptr< GaussianVoxelMapsource_voxelmap_
 VoxelMap for source point cloud. More...
 
std::vector< Eigen::Matrix4d > target_covs_
 Covariances of target points. More...
 
std::vector< Eigen::Matrix4d > source_covs_
 Covariances of source points. More...
 
RegistrationResult result_
 Registration result. More...
 

Detailed Description

template<typename PointSource, typename PointTarget>
class small_gicp::RegistrationPCL< PointSource, PointTarget >

PCL registration interfaces.

Member Typedef Documentation

◆ ConstPtr

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::ConstPtr = pcl::shared_ptr<const RegistrationPCL<PointSource, PointTarget> >

◆ Matrix4

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::Matrix4 = typename pcl::Registration<PointSource, PointTarget, Scalar>::Matrix4

◆ PointCloudSource

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::PointCloudSource = typename pcl::Registration<PointSource, PointTarget, Scalar>::PointCloudSource

◆ PointCloudSourceConstPtr

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr

◆ PointCloudSourcePtr

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::PointCloudSourcePtr = typename PointCloudSource::Ptr

◆ PointCloudTarget

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::PointCloudTarget = typename pcl::Registration<PointSource, PointTarget, Scalar>::PointCloudTarget

◆ PointCloudTargetConstPtr

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr

◆ PointCloudTargetPtr

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::PointCloudTargetPtr = typename PointCloudTarget::Ptr

◆ Ptr

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::Ptr = pcl::shared_ptr<RegistrationPCL<PointSource, PointTarget> >

◆ Scalar

template<typename PointSource , typename PointTarget >
using small_gicp::RegistrationPCL< PointSource, PointTarget >::Scalar = float

Constructor & Destructor Documentation

◆ RegistrationPCL()

template<typename PointSource , typename PointTarget >
small_gicp::RegistrationPCL< PointSource, PointTarget >::RegistrationPCL

◆ ~RegistrationPCL()

template<typename PointSource , typename PointTarget >
small_gicp::RegistrationPCL< PointSource, PointTarget >::~RegistrationPCL
virtual

Member Function Documentation

◆ clearSource()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::clearSource

Clear source point cloud.

◆ clearTarget()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::clearTarget

Clear target point cloud.

◆ computeTransformation()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::computeTransformation ( PointCloudSource output,
const Matrix4 guess 
)
overrideprotectedvirtual

◆ getFinalHessian()

template<typename PointSource , typename PointTarget >
const Eigen::Matrix< double, 6, 6 > & small_gicp::RegistrationPCL< PointSource, PointTarget >::getFinalHessian

Get the final Hessian matrix ([rx, ry, rz, tx, ty, tz]).

◆ getRegistrationResult()

template<typename PointSource , typename PointTarget >
const RegistrationResult & small_gicp::RegistrationPCL< PointSource, PointTarget >::getRegistrationResult

Get the detailed registration result.

◆ getSourceCovariances()

template<typename PointSource , typename PointTarget >
const std::vector< Eigen::Matrix4d > & small_gicp::RegistrationPCL< PointSource, PointTarget >::getSourceCovariances

Get source point covariances.

◆ getTargetCovariances()

template<typename PointSource , typename PointTarget >
const std::vector< Eigen::Matrix4d > & small_gicp::RegistrationPCL< PointSource, PointTarget >::getTargetCovariances

Get target point covariances.

◆ setCorrespondenceRandomness()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setCorrespondenceRandomness ( int  k)

Set the number of neighbors for covariance estimation.

Note
This is equivalent to setNumNeighborsForCovariance. Just exists for compatibility with pcl::GICP.

◆ setInputSource()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setInputSource ( const PointCloudSourceConstPtr cloud)
override

Set the input source (aligned) point cloud.

◆ setInputTarget()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setInputTarget ( const PointCloudTargetConstPtr cloud)
override

Set the input target (fixed) point cloud.

◆ setNumNeighborsForCovariance()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setNumNeighborsForCovariance ( int  k)

Set the number of neighbors for covariance estimation.

◆ setNumThreads()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setNumThreads ( int  n)

Set the number of threads to use.

◆ setRegistrationType()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setRegistrationType ( const std::string &  type)

Set registration type ("GICP" or "VGICP").

◆ setRotationEpsilon()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setRotationEpsilon ( double  eps)

Set rotation epsilon for convergence check.

◆ setSourceCovariances()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setSourceCovariances ( const std::vector< Eigen::Matrix4d > &  covs)

Set source point covariances.

◆ setTargetCovariances()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setTargetCovariances ( const std::vector< Eigen::Matrix4d > &  covs)

Set target point covariances.

◆ setVerbosity()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setVerbosity ( bool  verbose)

Set the verbosity flag.

◆ setVoxelResolution()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::setVoxelResolution ( double  r)

Set the voxel resolution for VGICP.

◆ swapSourceAndTarget()

template<typename PointSource , typename PointTarget >
void small_gicp::RegistrationPCL< PointSource, PointTarget >::swapSourceAndTarget

Swap source and target point clouds and their augmented data (KdTrees, covariances, and voxelmaps).

Member Data Documentation

◆ k_correspondences_

template<typename PointSource , typename PointTarget >
int small_gicp::RegistrationPCL< PointSource, PointTarget >::k_correspondences_
protected

Number of neighbors for covariance estimation.

◆ num_threads_

template<typename PointSource , typename PointTarget >
int small_gicp::RegistrationPCL< PointSource, PointTarget >::num_threads_
protected

Number of threads to use.

◆ registration_type_

template<typename PointSource , typename PointTarget >
std::string small_gicp::RegistrationPCL< PointSource, PointTarget >::registration_type_
protected

Registration type ("GICP" or "VGICP").

◆ result_

template<typename PointSource , typename PointTarget >
RegistrationResult small_gicp::RegistrationPCL< PointSource, PointTarget >::result_
protected

Registration result.

◆ rotation_epsilon_

template<typename PointSource , typename PointTarget >
double small_gicp::RegistrationPCL< PointSource, PointTarget >::rotation_epsilon_
protected

Rotation epsilon for convergence check.

◆ source_covs_

template<typename PointSource , typename PointTarget >
std::vector<Eigen::Matrix4d> small_gicp::RegistrationPCL< PointSource, PointTarget >::source_covs_
protected

Covariances of source points.

◆ source_tree_

template<typename PointSource , typename PointTarget >
std::shared_ptr<KdTree<pcl::PointCloud<PointSource> > > small_gicp::RegistrationPCL< PointSource, PointTarget >::source_tree_
protected

KdTree for source point cloud.

◆ source_voxelmap_

template<typename PointSource , typename PointTarget >
std::shared_ptr<GaussianVoxelMap> small_gicp::RegistrationPCL< PointSource, PointTarget >::source_voxelmap_
protected

VoxelMap for source point cloud.

◆ target_covs_

template<typename PointSource , typename PointTarget >
std::vector<Eigen::Matrix4d> small_gicp::RegistrationPCL< PointSource, PointTarget >::target_covs_
protected

Covariances of target points.

◆ target_tree_

template<typename PointSource , typename PointTarget >
std::shared_ptr<KdTree<pcl::PointCloud<PointSource> > > small_gicp::RegistrationPCL< PointSource, PointTarget >::target_tree_
protected

KdTree for target point cloud.

◆ target_voxelmap_

template<typename PointSource , typename PointTarget >
std::shared_ptr<GaussianVoxelMap> small_gicp::RegistrationPCL< PointSource, PointTarget >::target_voxelmap_
protected

VoxelMap for target point cloud.

◆ verbose_

template<typename PointSource , typename PointTarget >
bool small_gicp::RegistrationPCL< PointSource, PointTarget >::verbose_
protected

Verbosity flag.

◆ voxel_resolution_

template<typename PointSource , typename PointTarget >
double small_gicp::RegistrationPCL< PointSource, PointTarget >::voxel_resolution_
protected

Voxel resolution for VGICP.


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