#include <NormalDetector.h>
Public Member Functions | |
unsigned int | getWindowSize () const |
NormalDetector (const PeakFinder *peak, unsigned int scales=5, double sigma=1.6, double step=1.4, unsigned int window=3, SmoothingFilterFamily filterType=BESSEL) | |
void | setWindowSize (unsigned int size) |
Protected Member Functions | |
virtual void | computeDifferentialBank ()=0 |
virtual unsigned int | computeInterestPoints (const LaserReading &reading, const std::vector< double > &signal, std::vector< InterestPoint * > &point, std::vector< std::vector< unsigned int > > &indexes, std::vector< unsigned int > &maxRangeMapping) const |
virtual void | computeSignal (const LaserReading &reading, std::vector< double > &signal, std::vector< unsigned int > &maxRangeMapping) const |
Protected Attributes | |
unsigned int | m_windowSize |
Representation of a general detector based on the normal signal. The class represents a general detector based on the normal signal. It computes the normal signal and define the general interface for detection. The concrete detectors provides the precise differential invariant.
Definition at line 43 of file NormalDetector.h.
NormalDetector::NormalDetector | ( | const PeakFinder * | peak, | |
unsigned int | scales = 5 , |
|||
double | sigma = 1.6 , |
|||
double | step = 1.4 , |
|||
unsigned int | window = 3 , |
|||
SmoothingFilterFamily | filterType = BESSEL | |||
) |
Constructor. Constructs and initialize a general detector based on a normal signal.
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 ( in the paper). | |
step | The scale increment at every new scale ( in the paper). The standard deviation of the kernel at scale is | |
window | The window size for the local line fitting. | |
filterType | The smoothing kernel used in the detector. |
Definition at line 6 of file NormalDetector.cpp.
virtual void NormalDetector::computeDifferentialBank | ( | ) | [protected, pure virtual] |
Precomputes the bank of differential operators. It defines which family of interest point detector to use (blob, edge, ridge, ...).
Implements MultiScaleDetector.
Implemented in NormalBlobDetector, and NormalEdgeDetector.
unsigned int NormalDetector::computeInterestPoints | ( | const LaserReading & | reading, | |
const std::vector< double > & | signal, | |||
std::vector< InterestPoint * > & | point, | |||
std::vector< std::vector< unsigned int > > & | indexes, | |||
std::vector< unsigned int > & | maxRangeMapping | |||
) | const [protected, virtual] |
Computes the interst point locations and (when possible) orientation. The points are extracted from the laser reading according to the indexes.
Implements MultiScaleDetector.
Definition at line 72 of file NormalDetector.cpp.
void NormalDetector::computeSignal | ( | const LaserReading & | reading, | |
std::vector< double > & | signal, | |||
std::vector< unsigned int > & | maxRangeMapping | |||
) | const [protected, virtual] |
Computes the monodimensional signal from which extracts the features.
Implements MultiScaleDetector.
Definition at line 22 of file NormalDetector.cpp.
unsigned int NormalDetector::getWindowSize | ( | ) | const [inline] |
Gets the window size for the local line fitting.
Definition at line 62 of file NormalDetector.h.
void NormalDetector::setWindowSize | ( | unsigned int | size | ) | [inline] |
Sets the window size for the local line fitting.
Definition at line 58 of file NormalDetector.h.
unsigned int NormalDetector::m_windowSize [protected] |
The window size for the local line fitting.
Definition at line 71 of file NormalDetector.h.