Go to the documentation of this file.00001 #ifndef PCL_TRACKING_IMPL_DISTANCE_COHERENCE_H_
00002 #define PCL_TRACKING_IMPL_DISTANCE_COHERENCE_H_
00003
00004 #include <Eigen/Dense>
00005 #include <pcl/tracking/distance_coherence.h>
00006
00007 namespace pcl
00008 {
00009 namespace tracking
00010 {
00011 template <typename PointInT> double
00012 DistanceCoherence<PointInT>::computeCoherence (PointInT &source, PointInT &target)
00013 {
00014 Eigen::Vector4f p = source.getVector4fMap ();
00015 Eigen::Vector4f p_dash = target.getVector4fMap ();
00016 double d = (p - p_dash).norm ();
00017 return 1.0 / (1.0 + d * d * weight_);
00018 }
00019 }
00020 }
00021
00022 #define PCL_INSTANTIATE_DistanceCoherence(T) template class PCL_EXPORTS pcl::tracking::DistanceCoherence<T>;
00023
00024 #endif