#include <RangeDetector.h>
Public Member Functions | |
RangeDetector (const PeakFinder *peak, unsigned int scales=5, double sigma=1.6, double step=1.4, SmoothingFilterFamily filterType=BESSEL) | |
Protected Member Functions | |
virtual void | computeDifferentialBank () |
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 |
Representation of the range based detector. The class represents the range based detector defined in the paper. It extracts blobs (extrema of the second derivative) on the range signal. This is equivalent of applying the theory behind the SIFT detector on the monodimensional range image.
Definition at line 42 of file RangeDetector.h.
RangeDetector::RangeDetector | ( | const PeakFinder * | peak, | |
unsigned int | scales = 5 , |
|||
double | sigma = 1.6 , |
|||
double | step = 1.4 , |
|||
SmoothingFilterFamily | filterType = BESSEL | |||
) |
Constructor. Constructs and initialize the range based detector.
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 | |
filterType | The smoothing kernel used in the detector. |
Definition at line 5 of file RangeDetector.cpp.
void RangeDetector::computeDifferentialBank | ( | ) | [protected, virtual] |
Computes the bank for the second derivative at different scales.
Implements MultiScaleDetector.
Definition at line 11 of file RangeDetector.cpp.
unsigned int RangeDetector::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 34 of file RangeDetector.cpp.
void RangeDetector::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 20 of file RangeDetector.cpp.