Loading...
Searching...
No Matches
approx_nearest_pair_point_cloud_coherence.h
#pragma once
#include <pcl/search/octree.h>
#include <pcl/tracking/nearest_pair_point_cloud_coherence.h>
namespace pcl {
namespace tracking {
/** \brief @b ApproxNearestPairPointCloudCoherence computes coherence between
* two pointclouds using the approximate nearest point pairs.
* \author Ryohei Ueda
* \ingroup tracking
*/
template <typename PointInT>
class ApproxNearestPairPointCloudCoherence
: public NearestPairPointCloudCoherence<PointInT> {
public:
using PointCoherencePtr =
typename NearestPairPointCloudCoherence<PointInT>::PointCoherencePtr;
using PointCloudInConstPtr =
typename NearestPairPointCloudCoherence<PointInT>::PointCloudInConstPtr;
// using NearestPairPointCloudCoherence<PointInT>::search_;
using NearestPairPointCloudCoherence<PointInT>::maximum_distance_;
using NearestPairPointCloudCoherence<PointInT>::target_input_;
using NearestPairPointCloudCoherence<PointInT>::point_coherences_;
using NearestPairPointCloudCoherence<PointInT>::coherence_name_;
using NearestPairPointCloudCoherence<PointInT>::new_target_;
using NearestPairPointCloudCoherence<PointInT>::getClassName;
/** \brief empty constructor */
ApproxNearestPairPointCloudCoherence()
: NearestPairPointCloudCoherence<PointInT>(), search_()
{
coherence_name_ = "ApproxNearestPairPointCloudCoherence";
}
protected:
/** \brief This method should get called before starting the actual
* computation.
*/
bool
initCompute() override;
/** \brief compute the nearest pairs and compute coherence using
* point_coherences_
*/
void
computeCoherence(const PointCloudInConstPtr& cloud,
const IndicesConstPtr& indices,
float& w_j) override;
typename pcl::search::Octree<PointInT>::Ptr search_;
};
} // namespace tracking
} // namespace pcl
#ifdef PCL_NO_PRECOMPILE
#include <pcl/tracking/impl/approx_nearest_pair_point_cloud_coherence.hpp>
#endif
pcl::search::Octree::Ptr
shared_ptr< pcl::search::Octree< PointT, LeafTWrap, BranchTWrap, OctreeT > > Ptr
Definition octree.h:72
pcl::tracking::ApproxNearestPairPointCloudCoherence
ApproxNearestPairPointCloudCoherence computes coherence between two pointclouds using the approximate...
Definition approx_nearest_pair_point_cloud_coherence.h:15
pcl::tracking::ApproxNearestPairPointCloudCoherence::search_
pcl::search::Octree< PointInT >::Ptr search_
Definition approx_nearest_pair_point_cloud_coherence.h:51
pcl::tracking::ApproxNearestPairPointCloudCoherence::initCompute
bool initCompute() override
This method should get called before starting the actual computation.
Definition approx_nearest_pair_point_cloud_coherence.hpp:38
pcl::tracking::ApproxNearestPairPointCloudCoherence::PointCloudInConstPtr
typename NearestPairPointCloudCoherence< PointInT >::PointCloudInConstPtr PointCloudInConstPtr
Definition approx_nearest_pair_point_cloud_coherence.h:20
pcl::tracking::ApproxNearestPairPointCloudCoherence::computeCoherence
void computeCoherence(const PointCloudInConstPtr &cloud, const IndicesConstPtr &indices, float &w_j) override
compute the nearest pairs and compute coherence using point_coherences_
Definition approx_nearest_pair_point_cloud_coherence.hpp:11
pcl::tracking::ApproxNearestPairPointCloudCoherence::PointCoherencePtr
typename NearestPairPointCloudCoherence< PointInT >::PointCoherencePtr PointCoherencePtr
Definition approx_nearest_pair_point_cloud_coherence.h:18
pcl::tracking::ApproxNearestPairPointCloudCoherence::ApproxNearestPairPointCloudCoherence
ApproxNearestPairPointCloudCoherence()
empty constructor
Definition approx_nearest_pair_point_cloud_coherence.h:30
pcl::tracking::NearestPairPointCloudCoherence
NearestPairPointCloudCoherence computes coherence between two pointclouds using the nearest point pai...
Definition nearest_pair_point_cloud_coherence.h:14
pcl::tracking::NearestPairPointCloudCoherence::new_target_
bool new_target_
A flag which is true if target_input_ is updated.
Definition nearest_pair_point_cloud_coherence.h:84
pcl::tracking::NearestPairPointCloudCoherence::PointCloudInConstPtr
typename PointCloudCoherence< PointInT >::PointCloudInConstPtr PointCloudInConstPtr
Definition nearest_pair_point_cloud_coherence.h:22
pcl::tracking::NearestPairPointCloudCoherence::PointCoherencePtr
typename PointCloudCoherence< PointInT >::PointCoherencePtr PointCoherencePtr
Definition nearest_pair_point_cloud_coherence.h:20
pcl::tracking::NearestPairPointCloudCoherence::maximum_distance_
double maximum_distance_
max of distance for points to be taken into account
Definition nearest_pair_point_cloud_coherence.h:90
pcl::tracking::PointCloudCoherence::target_input_
PointCloudInConstPtr target_input_
a pointer to target point cloud
Definition coherence.h:141
pcl::tracking::PointCloudCoherence::getClassName
const std::string & getClassName() const
Get a string representation of the name of this class.
Definition coherence.h:132
pcl::tracking::PointCloudCoherence::coherence_name_
std::string coherence_name_
The coherence name.
Definition coherence.h:138
pcl::tracking::PointCloudCoherence::point_coherences_
std::vector< PointCoherencePtr > point_coherences_
a list of pointers to PointCoherence.
Definition coherence.h:144
pcl
Definition convolution.h:46
pcl::IndicesConstPtr
shared_ptr< const Indices > IndicesConstPtr
Definition pcl_base.h:59