CurvatureDetector Class Reference

#include <CurvatureDetector.h>

Inheritance diagram for CurvatureDetector:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CurvatureDetector (const PeakFinder *peak, unsigned int scales=5, double sigma=0.2, double step=1.4, unsigned int dmst=4)
virtual void detect (const Graph &graph, const std::vector< Point2D > &graphPoints, std::vector< std::vector< Point2D > > &operatorA, std::vector< std::vector< double > > &signalDiff, std::vector< std::vector< unsigned int > > &indexes) const
virtual unsigned int detect (const LaserReading &reading, std::vector< InterestPoint * > &point, std::vector< double > &signal, std::vector< std::vector< double > > &signalSmooth, std::vector< std::vector< double > > &signalDiff, std::vector< std::vector< unsigned int > > &indexes) const
virtual unsigned int detect (const LaserReading &reading, std::vector< InterestPoint * > &points, Graph &graph, std::vector< std::vector< Point2D > > &operatorA, std::vector< std::vector< double > > &signalDiff, std::vector< std::vector< unsigned int > > &indexes) const
virtual unsigned int detect (const LaserReading &reading, std::vector< InterestPoint * > &point) const
double getBaseSigma () const
unsigned int getDmst () const
const PeakFindergetPeakFinder () const
unsigned int getScaleNumber () const
const std::vector< double > & getScales () const
double getSigmaStep () const
bool getUseMaxRange ()
void setBaseSigma (double sigma)
void setDmst (unsigned int dmst)
void setPeakFinder (const PeakFinder *peak)
void setScaleNumber (unsigned int scales)
void setSigmaStep (double step)
void setUseMaxRange (bool use)

Protected Member Functions

virtual void computeGraph (const LaserReading &reading, std::vector< Point2D > &graphPoints, Graph &graph, std::vector< unsigned int > &maxRangeMapping) const
virtual unsigned int computeInterestPoints (const LaserReading &reading, const std::vector< std::vector< Point2D > > &operatorA, std::vector< InterestPoint * > &point, const std::vector< std::vector< unsigned int > > &indexes, std::vector< unsigned int > &maxRangeMapping) const
void computeScaleBank ()

Protected Attributes

double m_baseSigma
unsigned int m_dmst
const PeakFinderm_peakFinder
unsigned int m_scaleNumber
std::vector< double > m_scales
double m_sigmaStep
bool m_useMaxRange

Detailed Description

Representation of the multi scale curvature detector of Unnikrishnan and Hebert. The class represents the curvature based detector of Unnikrishnan and Hebert. It provides the interface to set the parameters of the detector and to detect interest points in laser readings.

Author:
Gian Diego Tipaldi

Definition at line 55 of file CurvatureDetector.h.


Constructor & Destructor Documentation

CurvatureDetector::CurvatureDetector ( const PeakFinder peak,
unsigned int  scales = 5,
double  sigma = 0.2,
double  step = 1.4,
unsigned int  dmst = 4 
)

Constructor. Constructs and initialize the curvature based detector.

Parameters:
peak The peak finder used to detect maxima in the signal.
scales The number of different scales to consider.
sigma The standard deviation of the smoothing kernel for the initial scale ($ t_0 $ in the paper).
step The scale increment at every new scale ($ t_i $ in the paper). The standard deviation of the kernel at scale $ s $ is $ t_0 \cdot (t_i)^s $
dmst The number of minimum spanning tree to approximate the geodesic coordinate (see the paper for more details).

Definition at line 3 of file CurvatureDetector.cpp.


Member Function Documentation

void CurvatureDetector::computeGraph ( const LaserReading reading,
std::vector< Point2D > &  graphPoints,
Graph graph,
std::vector< unsigned int > &  maxRangeMapping 
) const [protected, virtual]

Computes the graph approximation of the geodesic coordinate.

Definition at line 62 of file CurvatureDetector.cpp.

unsigned int CurvatureDetector::computeInterestPoints ( const LaserReading reading,
const std::vector< std::vector< Point2D > > &  operatorA,
std::vector< InterestPoint * > &  point,
const std::vector< std::vector< unsigned int > > &  indexes,
std::vector< unsigned int > &  maxRangeMapping 
) const [protected, virtual]

Computes the interest points given the laser reading and the smoothed operator. It should not be used directly. Use the public functions instead.

Definition at line 153 of file CurvatureDetector.cpp.

void CurvatureDetector::computeScaleBank (  )  [protected]

Computes the scale bank for the smoothing operators. It is provided for efficiency issues.

Definition at line 217 of file CurvatureDetector.cpp.

void CurvatureDetector::detect ( const Graph graph,
const std::vector< Point2D > &  graphPoints,
std::vector< std::vector< Point2D > > &  operatorA,
std::vector< std::vector< double > > &  signalDiff,
std::vector< std::vector< unsigned int > > &  indexes 
) const [virtual]

Detects the interesting points given the graph. It also returns the signals used for the computation.

Returns:
The number of interest points detected.
Parameters:
graph The graph approximation for the geodesic coordinate.
graphPoints The point cloud in Cartesian coordinates.
operatorA The result of the smoothing operator on the geodesic coordinate at the different scales..
signalDiff The exponential dump applied to the smoothing operator at the different scales.
indexes The indexes of the differential operator maxima at the different scales.

Definition at line 104 of file CurvatureDetector.cpp.

unsigned int CurvatureDetector::detect ( const LaserReading reading,
std::vector< InterestPoint * > &  points,
std::vector< double > &  signal,
std::vector< std::vector< double > > &  signalSmooth,
std::vector< std::vector< double > > &  signalDiff,
std::vector< std::vector< unsigned int > > &  indexes 
) const [virtual]

Detects the interesting points given the laser reading. It also returns the signals used for the computation.

Returns:
The number of interest points detected.
Parameters:
reading The laser reading.
points The detected interest points.
signal The signal used for computing the interest points.
signalSmooth The smoothed signal at the different scales.
signalDiff The differential operator applied to the signal at the different scales.
indexes The indexes of the differential operator maxima at the different scales.

Implements Detector.

Definition at line 37 of file CurvatureDetector.cpp.

unsigned int CurvatureDetector::detect ( const LaserReading reading,
std::vector< InterestPoint * > &  points,
Graph graph,
std::vector< std::vector< Point2D > > &  operatorA,
std::vector< std::vector< double > > &  signalDiff,
std::vector< std::vector< unsigned int > > &  indexes 
) const [virtual]

Detects the interesting points given the laser reading. It also returns the signals used for the computation.

Returns:
The number of interest points detected.
Parameters:
reading The laser reading.
points The detected interest points.
graph The graph approximation for the geodesic coordinate.
operatorA The result of the smoothing operator on the geodesic coordinate at the different scales..
signalDiff The exponential dump applied to the smoothing operator at the different scales.
indexes The indexes of the differential operator maxima at the different scales.

Definition at line 24 of file CurvatureDetector.cpp.

unsigned int CurvatureDetector::detect ( const LaserReading reading,
std::vector< InterestPoint * > &  points 
) const [virtual]

Detects the interesting points given the laser reading.

Returns:
The number of interest points detected.
Parameters:
reading The laser reading.
points The detected interest points.

Implements Detector.

Definition at line 15 of file CurvatureDetector.cpp.

double CurvatureDetector::getBaseSigma (  )  const [inline]

Gets the standard deviation of the initial scale

Definition at line 145 of file CurvatureDetector.h.

unsigned int CurvatureDetector::getDmst (  )  const [inline]

Gets the number of minimum spanning trees

Definition at line 137 of file CurvatureDetector.h.

const PeakFinder* CurvatureDetector::getPeakFinder (  )  const [inline]

Gets the actual peak finder

Definition at line 153 of file CurvatureDetector.h.

unsigned int CurvatureDetector::getScaleNumber (  )  const [inline]

Gets the number of scales

Definition at line 133 of file CurvatureDetector.h.

const std::vector<double>& CurvatureDetector::getScales (  )  const [inline]

Gets the actual scales

Definition at line 141 of file CurvatureDetector.h.

double CurvatureDetector::getSigmaStep (  )  const [inline]

Gets the sigma increment step

Definition at line 149 of file CurvatureDetector.h.

bool CurvatureDetector::getUseMaxRange (  )  [inline]

Gets the "use the max range" flag.

Definition at line 157 of file CurvatureDetector.h.

void CurvatureDetector::setBaseSigma ( double  sigma  )  [inline]

Sets the standard deviation of the initial scale

Definition at line 117 of file CurvatureDetector.h.

void CurvatureDetector::setDmst ( unsigned int  dmst  )  [inline]

Sets the number of minimum spanning tree

Definition at line 113 of file CurvatureDetector.h.

void CurvatureDetector::setPeakFinder ( const PeakFinder peak  )  [inline]

Sets the peak finder

Definition at line 125 of file CurvatureDetector.h.

void CurvatureDetector::setScaleNumber ( unsigned int  scales  )  [inline]

Sets the number of scales

Definition at line 109 of file CurvatureDetector.h.

void CurvatureDetector::setSigmaStep ( double  step  )  [inline]

Sets the scale increment at each new scale

Definition at line 121 of file CurvatureDetector.h.

void CurvatureDetector::setUseMaxRange ( bool  use  )  [inline]

Sets the "use max range" flag. The flag enable or disable the use of max range readings.

Definition at line 129 of file CurvatureDetector.h.


Member Data Documentation

double CurvatureDetector::m_baseSigma [protected]

The standard deviation of the smoothing kernel for the initial scale ($ t_0 $ in the paper).

Definition at line 173 of file CurvatureDetector.h.

unsigned int CurvatureDetector::m_dmst [protected]

The number of minimum spanning tree to approximate the geodesic coordinate (see the paper for more details).

Definition at line 176 of file CurvatureDetector.h.

The peak finder used to detect maxima in the signal.

Definition at line 171 of file CurvatureDetector.h.

unsigned int CurvatureDetector::m_scaleNumber [protected]

The numebr of scales

Definition at line 172 of file CurvatureDetector.h.

std::vector<double> CurvatureDetector::m_scales [protected]

The precomputed scales for the smoothing operators. It is provided for efficiency issues.

Definition at line 177 of file CurvatureDetector.h.

double CurvatureDetector::m_sigmaStep [protected]

The scale increment at every new scale ($ t_i $ in the paper). The standard deviation of the kernel at scale $ s $ is $ t_0 \cdot (t_i)^s $

Definition at line 174 of file CurvatureDetector.h.

The "use max range" flag. The flag enable or disable the use of max range readings.

Definition at line 175 of file CurvatureDetector.h.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines


flirtlib
Author(s): Bhaskara Marthi, Gian Diego Tipaldi
autogenerated on Fri Jan 11 11:15:47 2013