1 #ifndef PCL_TRACKING_COHERENCE_H_
2 #define PCL_TRACKING_COHERENCE_H_
4 #include <pcl/pcl_base.h>
16 template <
typename Po
intInT>
20 typedef boost::shared_ptr< PointCoherence<PointInT> >
Ptr;
21 typedef boost::shared_ptr< const PointCoherence<PointInT> >
ConstPtr;
35 compute (PointInT &source, PointInT &target);
50 inline const std::string&
59 template <
typename Po
intInT>
63 typedef boost::shared_ptr< PointCloudCoherence<PointInT> >
Ptr;
64 typedef boost::shared_ptr< const PointCloudCoherence<PointInT> >
ConstPtr;
83 inline std::vector<PointCoherencePtr>
115 inline const std::string&
133 #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.
PointCoherence< PointInT >::Ptr PointCoherencePtr
PointCloudIn::Ptr PointCloudInPtr
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.
boost::shared_ptr< PointCoherence< PointInT > > Ptr
const std::string & getClassName() const
Get a string representation of the name of this class.
pcl::PointCloud< PointInT > PointCloudIn
boost::shared_ptr< const PointCoherence< PointInT > > ConstPtr
std::string coherence_name_
The coherence name.
boost::shared_ptr< PointCloud< PointInT > > Ptr
std::vector< PointCoherencePtr > getPointCoherences()
get a list of pcl::tracking::PointCoherence.
boost::shared_ptr< const PointCloudCoherence< PointInT > > ConstPtr
void addPointCoherence(PointCoherencePtr coherence)
add a PointCoherence to the PointCloudCoherence.
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.
boost::shared_ptr< const PointCloud< PointInT > > ConstPtr
virtual ~PointCloudCoherence()
Destructor.
std::vector< PointCoherencePtr > point_coherences_
a list of pointers to PointCoherence.
PointCloudCoherence is a base class to compute coherence between the two PointClouds.
boost::shared_ptr< const std::vector< int > > IndicesConstPtr
virtual void setTargetCloud(const PointCloudInConstPtr &cloud)
add a PointCoherence to the PointCloudCoherence.
boost::shared_ptr< PointCloudCoherence< PointInT > > Ptr
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
PointCloudIn::ConstPtr PointCloudInConstPtr
virtual bool initCompute()
This method should get called before starting the actual computation.