3 #include <pcl/pcl_base.h>
15 template <
typename Po
intInT>
19 using Ptr = shared_ptr<PointCoherence<PointInT> >;
20 using ConstPtr = shared_ptr<const PointCoherence<PointInT> >;
34 compute (PointInT &source, PointInT &target);
49 inline const std::string&
58 template <
typename Po
intInT>
62 using Ptr = shared_ptr<PointCloudCoherence<PointInT> >;
63 using ConstPtr = shared_ptr<const PointCloudCoherence<PointInT> >;
82 inline std::vector<PointCoherencePtr>
114 inline const std::string&
131 #include <pcl/tracking/impl/coherence.hpp>
void compute(const PointCloudInConstPtr &cloud, const IndicesConstPtr &indices, float &w_i)
compute coherence between two pointclouds.
double calcPointCoherence(PointInT &source, PointInT &target)
PointCloudCoherence()
Constructor.
double compute(PointInT &source, PointInT &target)
compute coherence from the source point to the target point.
PointCloudInConstPtr target_input_
a pointer to target point cloud
virtual void computeCoherence(const PointCloudInConstPtr &cloud, const IndicesConstPtr &indices, float &w_j)=0
Abstract method to compute coherence.
virtual double computeCoherence(PointInT &source, PointInT &target)=0
abstract method to calculate coherence.
const std::string & getClassName() const
Get a string representation of the name of this class.
shared_ptr< const Indices > IndicesConstPtr
std::string coherence_name_
The coherence name.
shared_ptr< PointCoherence< PointInT > > Ptr
shared_ptr< const PointCoherence< PointInT > > ConstPtr
std::vector< PointCoherencePtr > getPointCoherences()
get a list of pcl::tracking::PointCoherence.
void addPointCoherence(PointCoherencePtr coherence)
add a PointCoherence to the PointCloudCoherence.
typename PointCloudIn::Ptr PointCloudInPtr
shared_ptr< PointCloud< PointInT > > Ptr
typename PointCoherence< PointInT >::Ptr PointCoherencePtr
PointCoherence()
empty constructor
PointCoherence is a base class to compute coherence between the two points.
void setPointCoherences(std::vector< PointCoherencePtr > coherences)
set a list of pcl::tracking::PointCoherence.
virtual ~PointCloudCoherence()
Destructor.
shared_ptr< const PointCloud< PointInT > > ConstPtr
shared_ptr< PointCloudCoherence< PointInT > > Ptr
std::vector< PointCoherencePtr > point_coherences_
a list of pointers to PointCoherence.
PointCloudCoherence is a base class to compute coherence between the two PointClouds.
virtual void setTargetCloud(const PointCloudInConstPtr &cloud)
add a PointCoherence to the PointCloudCoherence.
typename PointCloudIn::ConstPtr PointCloudInConstPtr
std::string coherence_name_
The coherence name.
const std::string & getClassName() const
Get a string representation of the name of this class.
virtual ~PointCoherence()
empty distructor
shared_ptr< const PointCloudCoherence< PointInT > > ConstPtr
virtual bool initCompute()
This method should get called before starting the actual computation.