1#ifndef PCL_TRACKING_IMPL_COHERENCE_H_
2#define PCL_TRACKING_IMPL_COHERENCE_H_
4#include <pcl/console/print.h>
5#include <pcl/tracking/coherence.h>
10template <
typename Po
intInT>
17template <
typename Po
intInT>
24 double d = std::log(coherence->compute(source, target));
34template <
typename Po
intInT>
39 PCL_ERROR(
"[pcl::%s::compute] target_input_ is empty!\n",
getClassName().c_str());
46template <
typename Po
intInT>
53 PCL_ERROR(
"[pcl::%s::compute] Init failed.\n",
getClassName().c_str());
PointCloudInConstPtr target_input_
a pointer to target point cloud
const std::string & getClassName() const
Get a string representation of the name of this class.
virtual bool initCompute()
This method should get called before starting the actual computation.
typename PointCloudIn::ConstPtr PointCloudInConstPtr
typename PointCoherence< PointInT >::Ptr PointCoherencePtr
double calcPointCoherence(PointInT &source, PointInT &target)
std::vector< PointCoherencePtr > point_coherences_
a list of pointers to PointCoherence.
virtual void computeCoherence(const PointCloudInConstPtr &cloud, const IndicesConstPtr &indices, float &w_j)=0
Abstract method to compute coherence.
void compute(const PointCloudInConstPtr &cloud, const IndicesConstPtr &indices, float &w_i)
compute coherence between two pointclouds.
double compute(PointInT &source, PointInT &target)
compute coherence from the source point to the target point.
virtual double computeCoherence(PointInT &source, PointInT &target)=0
abstract method to calculate coherence.
shared_ptr< const Indices > IndicesConstPtr