Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
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.
void setWeight (double weight)
 set the weight of coherence
double getWeight ()
 get the weight of coherence
Public Member Functions inherited from pcl::tracking::PointCoherence< PointInT >
 PointCoherence ()=default
 empty constructor
virtual ~PointCoherence ()=default
 empty destructor
double compute (PointInT &source, PointInT &target)
 compute coherence from the source point to the target point.

Protected Member Functions

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

Protected Attributes

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

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.

References pcl::tracking::PointCoherence< PointInT >::PointCoherence().

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(), and weight_.

◆ 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 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 weight_.

Member Data Documentation

◆ weight_

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

the weight of coherence

Definition at line 43 of file normal_coherence.h.

Referenced by computeCoherence(), getWeight(), and setWeight().


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