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>
12 template <
typename Po
intInT>
double
15 return computeCoherence (source, target);
18 template <
typename Po
intInT>
double
22 for (
size_t i = 0; i < point_coherences_.size (); i++)
25 double d = log(coherence->compute (source, target));
35 template <
typename Po
intInT>
bool
38 if (!target_input_ || target_input_->points.empty ())
40 PCL_ERROR (
"[pcl::%s::compute] target_input_ is empty!\n", getClassName ().c_str ());
48 template <
typename Po
intInT>
void
53 PCL_ERROR (
"[pcl::%s::compute] Init failed.\n", getClassName ().c_str ());
56 computeCoherence (cloud, indices, w);
double compute(PointInT &source, PointInT &target)
compute coherence from the source point to the target point.
virtual bool initCompute()
This method should get called before starting the actual computation.
double calcPointCoherence(PointInT &source, PointInT &target)
void compute(const PointCloudInConstPtr &cloud, const IndicesConstPtr &indices, float &w_i)
compute coherence between two pointclouds.
PointCloudIn::ConstPtr PointCloudInConstPtr
boost::shared_ptr< const std::vector< int > > IndicesConstPtr
PointCoherence< PointInT >::Ptr PointCoherencePtr