DGtal  0.9.4beta
Public Types | Public Member Functions
DGtal::detail::CurvatureFromDSSLengthAndWidth Struct Reference

#include <DGtal/geometry/curves/estimation/SegmentComputerEstimators.h>

Public Types

typedef double Value
 

Public Member Functions

template<typename DSS >
Value operator() (const DSS &aDSS) const
 

Detailed Description

Description of class 'CurvatureFromDSSLengthAndWidth'

Aim: computes the curvature \( k \) from the length \( l \) and the width \( w \) of a DSS as follow: \( 1/k = (l*l)/(8*w) + w/2 \)

Note
Adaption from Coeurjolly, D. and Miguet, S. and Tougne, L. "Discrete Curvature Based on Osculating Circle Estimation", Proc. IWVF, LNCS, vol 2059, pp.303-312, 2001

Definition at line 1262 of file SegmentComputerEstimators.h.

Member Typedef Documentation

Definition at line 1265 of file SegmentComputerEstimators.h.

Member Function Documentation

template<typename DSS >
Value DGtal::detail::CurvatureFromDSSLengthAndWidth::operator() ( const DSS &  aDSS) const
inline

Definition at line 1268 of file SegmentComputerEstimators.h.

1269  {
1270  typedef typename DSS::Vector Vector;
1271  //length
1272  Vector v = ( *aDSS.begin() - *boost::prior(aDSS.end()) );
1273  Value l = v.norm(Vector::L_2);
1274  //width
1275  Vector t( aDSS.b(), aDSS.a() );
1276  Value w = 1.0 / v.norm(Vector::L_2);
1277  //result
1278  return 1.0/( (l*l)/(8*w) + w/2 );
1279  }

The documentation for this struct was generated from the following file: