Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::tracking::NormalCoherence< PointInT > Class Template Reference

NormalCoherence computes coherence between two points from the angle between their normals. More...

#include <pcl/tracking/normal_coherence.h>

+ Inheritance diagram for pcl::tracking::NormalCoherence< PointInT >:
+ Collaboration diagram for pcl::tracking::NormalCoherence< PointInT >:

Public Member Functions

 NormalCoherence ()
 initialize the weight to 1.0. More...
 
void setWeight (double weight)
 set the weight of coherence More...
 
double getWeight ()
 get the weight of coherence More...
 
- Public Member Functions inherited from pcl::tracking::PointCoherence< PointInT >
 PointCoherence ()=default
 empty constructor More...
 
virtual ~PointCoherence ()=default
 empty destructor More...
 
double compute (PointInT &source, PointInT &target)
 compute coherence from the source point to the target point. More...
 

Protected Member Functions

double computeCoherence (PointInT &source, PointInT &target) override
 return the normal coherence between the two points. More...
 
- Protected Member Functions inherited from pcl::tracking::PointCoherence< PointInT >
const std::string & getClassName () const
 Get a string representation of the name of this class. More...
 

Protected Attributes

double weight_ {1.0}
 the weight of coherence More...
 
- Protected Attributes inherited from pcl::tracking::PointCoherence< PointInT >
std::string coherence_name_
 The coherence name. More...
 

Additional Inherited Members

- Public Types inherited from pcl::tracking::PointCoherence< PointInT >
using Ptr = shared_ptr< PointCoherence< PointInT > >
 
using ConstPtr = shared_ptr< const PointCoherence< PointInT > >
 

Detailed Description

template<typename PointInT>
class pcl::tracking::NormalCoherence< PointInT >

NormalCoherence computes coherence between two points from the angle between their normals.

the coherence is calculated by 1 / (1 + weight * theta^2 ).

Author
Ryohei Ueda

Definition at line 13 of file normal_coherence.h.

Constructor & Destructor Documentation

◆ NormalCoherence()

template<typename PointInT >
pcl::tracking::NormalCoherence< PointInT >::NormalCoherence ( )
inline

initialize the weight to 1.0.

Definition at line 16 of file normal_coherence.h.

Member Function Documentation

◆ computeCoherence()

template<typename PointInT >
double pcl::tracking::NormalCoherence< PointInT >::computeCoherence ( PointInT &  source,
PointInT &  target 
)
overrideprotectedvirtual

return the normal coherence between the two points.

Parameters
sourceinstance of source point.
targetinstance of target point.

Implements pcl::tracking::PointCoherence< PointInT >.

Definition at line 12 of file normal_coherence.hpp.

References pcl::getAngle3D().

◆ getWeight()

template<typename PointInT >
double pcl::tracking::NormalCoherence< PointInT >::getWeight ( )
inline

get the weight of coherence

Definition at line 29 of file normal_coherence.h.

References pcl::tracking::NormalCoherence< PointInT >::weight_.

◆ setWeight()

template<typename PointInT >
void pcl::tracking::NormalCoherence< PointInT >::setWeight ( double  weight)
inline

set the weight of coherence

Parameters
weightthe weight of coherence

Definition at line 22 of file normal_coherence.h.

References pcl::tracking::NormalCoherence< PointInT >::weight_.

Member Data Documentation

◆ weight_

template<typename PointInT >
double pcl::tracking::NormalCoherence< PointInT >::weight_ {1.0}
protected

The documentation for this class was generated from the following files: