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>
22 for (std::size_t i = 0; i < point_coherences_.size(); i++) {
34template <
typename Po
intInT>
38 if (!target_input_ || target_input_->points.empty()) {
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());
56 computeCoherence(cloud, indices, w);
Iterator class for point clouds with or without given indices.
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)
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.
shared_ptr< const Indices > IndicesConstPtr