Point Cloud Library (PCL)
1.7.0
|
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