Visual Servoing Platform  version 3.2.0 under development (2018-12-11)

#include <visp3/me/vpMe.h>

Public Member Functions

 vpMe ()
 
 vpMe (const vpMe &me)
 
virtual ~vpMe ()
 
vpMeoperator= (const vpMe &me)
 
vpMeoperator= (const vpMe &&me)
 
void checkSamplestep (double &a)
 
unsigned int getAngleStep () const
 
vpMatrixgetMask () const
 
unsigned int getMaskNumber () const
 
int getMaskSign () const
 
unsigned int getMaskSize () const
 
double getMinSampleStep () const
 
double getMu1 () const
 
double getMu2 () const
 
int getNbTotalSample () const
 
int getPointsToTrack () const
 
unsigned int getRange () const
 
int getStrip () const
 
double getThreshold () const
 
void initMask ()
 
void print ()
 
void setAngleStep (const unsigned int &a)
 
void setMaskNumber (const unsigned int &a)
 
void setMaskSign (const int &a)
 
void setMaskSize (const unsigned int &a)
 
void setMinSampleStep (const double &min)
 
void setMu1 (const double &mu_1)
 
void setMu2 (const double &mu_2)
 
void setNbTotalSample (const int &nb)
 
void setPointsToTrack (const int &n)
 
void setRange (const unsigned int &r)
 
void setSampleStep (const double &s)
 
double getSampleStep () const
 
void setStrip (const int &a)
 
void setThreshold (const double &t)
 

Public Attributes

double threshold
 
double mu1
 
double mu2
 
double min_samplestep
 
unsigned int anglestep
 
int mask_sign
 
unsigned int range
 
double sample_step
 
int ntotal_sample
 
int points_to_track
 
unsigned int mask_size
 
unsigned int n_mask
 
int strip
 
vpMatrixmask
 

Detailed Description

Constructor & Destructor Documentation

vpMe::vpMe ( )

Array of matrices defining the different masks (one for every angle step).

Definition at line 376 of file vpMe.cpp.

References anglestep, initMask(), and n_mask.

vpMe::vpMe ( const vpMe me)

Definition at line 387 of file vpMe.cpp.

vpMe::~vpMe ( )
virtual

Definition at line 446 of file vpMe.cpp.

References mask.

Member Function Documentation

void vpMe::checkSamplestep ( double &  a)
inline

Definition at line 104 of file vpMe.h.

unsigned int vpMe::getAngleStep ( ) const
inline

Return the angle step.

Returns
Value of anglestep.

Definition at line 114 of file vpMe.h.

Referenced by vpMeSite::convolution().

vpMatrix* vpMe::getMask ( ) const
inline

Get the matrix of the mask.

Returns
the value of mask.

Definition at line 120 of file vpMe.h.

Referenced by vpMeSite::convolution().

unsigned int vpMe::getMaskNumber ( ) const
inline

Return the number of mask applied to determine the object contour. The number of mask determines the precision of the normal of the edge for every sample. If precision is 2deg, then there are 360/2 = 180 masks.

Returns
the current number of mask.

Definition at line 128 of file vpMe.h.

Referenced by vpMbtXmlParser::read_ecm(), vpMbtXmlGenericParser::read_ecm(), vpMbtXmlGenericParser::read_ecm_mask(), vpMbtXmlParser::read_mask(), vpMbtEdgeKltXmlParser::readMainClass(), vpMbtXmlParser::readMainClass(), and vpMbtXmlGenericParser::readMainClass().

int vpMe::getMaskSign ( ) const
inline

Return the mask sign.

Returns
Value of mask_sign.

Definition at line 134 of file vpMe.h.

unsigned int vpMe::getMaskSize ( ) const
inline

Return the actual mask size (in pixel) used to compute the image gradient and determine the object contour. The mask size defines the size of the convolution mask used to detect an edge.

Returns
the current mask size.

Definition at line 142 of file vpMe.h.

Referenced by vpMeSite::convolution(), vpMbtXmlParser::read_ecm(), vpMbtXmlGenericParser::read_ecm(), vpMbtXmlGenericParser::read_ecm_mask(), vpMbtXmlParser::read_mask(), vpMbtEdgeKltXmlParser::readMainClass(), vpMbtXmlParser::readMainClass(), and vpMbtXmlGenericParser::readMainClass().

double vpMe::getMinSampleStep ( ) const
inline

Get the minimum allowed sample step. Useful to specify a lower bound when the sample step is changed.

Returns
Value of min_samplestep.

Definition at line 149 of file vpMe.h.

int vpMe::getNbTotalSample ( ) const
inline

Get how many discretizied points are used to track the feature.

Returns
Value of ntotal_sample.

Definition at line 167 of file vpMe.h.

int vpMe::getPointsToTrack ( ) const
inline

Return the number of points to track.

Returns
Value of points_to_track.

Definition at line 173 of file vpMe.h.

Referenced by vpMeNurbs::localReSample(), and vpMeNurbs::sample().

int vpMe::getStrip ( ) const
inline

Get the number of pixels that are ignored around the image borders.

Returns
the value of strip.

Definition at line 185 of file vpMe.h.

Referenced by vpMeSite::convolution().

double vpMe::getThreshold ( ) const
inline

Return the likelihood threshold used to determined if the moving edge is valid or not.

Returns
Value of threshold.

Definition at line 193 of file vpMe.h.

Referenced by vpMbtXmlParser::read_contrast(), vpMbtXmlParser::read_ecm(), vpMbtXmlGenericParser::read_ecm(), vpMbtXmlGenericParser::read_ecm_contrast(), vpMbtEdgeKltXmlParser::readMainClass(), vpMbtXmlParser::readMainClass(), vpMbtXmlGenericParser::readMainClass(), and vpMeSite::track().

void vpMe::initMask ( )

Initialise the array of matrices with the defined size and the number of matrices to create.

Definition at line 340 of file vpMe.cpp.

Referenced by operator=(), setMaskNumber(), setMaskSize(), and vpMe().

vpMe & vpMe::operator= ( const vpMe me)

Copy operator.

Definition at line 395 of file vpMe.cpp.

References anglestep, initMask(), mask, mask_sign, mask_size, min_samplestep, mu1, mu2, n_mask, ntotal_sample, points_to_track, range, sample_step, strip, and threshold.

vpMe & vpMe::operator= ( const vpMe &&  me)

Move operator.

Definition at line 421 of file vpMe.cpp.

void vpMe::print ( )

Definition at line 360 of file vpMe.cpp.

void vpMe::setAngleStep ( const unsigned int &  a)
inline

Set the angle step.

Parameters
a: new angle step.

Definition at line 203 of file vpMe.h.

void vpMe::setMaskSign ( const int &  a)
inline

Set the mask sign.

Parameters
a: new mask sign.

Definition at line 218 of file vpMe.h.

void vpMe::setMinSampleStep ( const double &  min)
inline

Set the minimum allowed sample step. Useful to specify a lower bound when the sample step is changed.

Parameters
min: new minimum sample step.

Definition at line 234 of file vpMe.h.

void vpMe::setNbTotalSample ( const int &  nb)
inline

Set how many discretizied points are used to track the feature.

Parameters
nb: new total number of sample.
Examples:
testKeyPoint-2.cpp, testKeyPoint-4.cpp, tutorial-detection-object-mbt-deprecated.cpp, tutorial-detection-object-mbt.cpp, tutorial-detection-object-mbt2-deprecated.cpp, and tutorial-detection-object-mbt2.cpp.

Definition at line 255 of file vpMe.h.

void vpMe::setPointsToTrack ( const int &  n)
inline

Set the number of points to track.

Parameters
n: new number of points to track.
Warning
This method is useful only for the vpMeNurbsTracker.
Examples:
servoAfma62DhalfCamVelocity.cpp, servoAfma6Cylinder2DCamVelocity.cpp, servoAfma6Cylinder2DCamVelocitySecondaryTask.cpp, servoAfma6Line2DCamVelocity.cpp, servoAfma6SquareLines2DCamVelocity.cpp, servoAfma6TwoLines2DCamVelocity.cpp, trackMeCircle.cpp, trackMeEllipse.cpp, trackMeLine.cpp, and trackMeNurbs.cpp.

Definition at line 264 of file vpMe.h.

void vpMe::setRange ( const unsigned int &  r)
inline

Set the seek range on both sides of the reference pixel.

Parameters
r: new range.
Examples:
mbtEdgeKltMultiTracking.cpp, mbtEdgeKltTracking.cpp, mbtEdgeMultiTracking.cpp, mbtEdgeTracking.cpp, mbtGenericTracking.cpp, mbtGenericTracking2.cpp, mbtGenericTrackingDepth.cpp, servoAfma62DhalfCamVelocity.cpp, servoAfma6Cylinder2DCamVelocity.cpp, servoAfma6Cylinder2DCamVelocitySecondaryTask.cpp, servoAfma6Line2DCamVelocity.cpp, servoAfma6SquareLines2DCamVelocity.cpp, servoAfma6TwoLines2DCamVelocity.cpp, testGenericTracker.cpp, testKeyPoint-2.cpp, testKeyPoint-4.cpp, trackMeCircle.cpp, trackMeEllipse.cpp, trackMeLine.cpp, trackMeNurbs.cpp, tutorial-detection-object-mbt-deprecated.cpp, tutorial-detection-object-mbt.cpp, tutorial-detection-object-mbt2-deprecated.cpp, tutorial-detection-object-mbt2.cpp, tutorial-mb-edge-tracker.cpp, tutorial-mb-generic-tracker-apriltag-live-realsense2.cpp, tutorial-mb-generic-tracker-apriltag-live-webcam.cpp, tutorial-mb-generic-tracker-full.cpp, tutorial-mb-generic-tracker-live.cpp, tutorial-mb-generic-tracker-stereo-mono.cpp, tutorial-mb-generic-tracker.cpp, tutorial-mb-hybrid-tracker.cpp, tutorial-mb-tracker-full.cpp, tutorial-mb-tracker-stereo-mono.cpp, tutorial-mb-tracker.cpp, tutorial-me-ellipse-tracker.cpp, and tutorial-me-line-tracker.cpp.

Definition at line 271 of file vpMe.h.

Referenced by vpMeTracker::initTracking(), vpMeNurbs::localReSample(), vpMeEllipse::printParameters(), vpMbtXmlGenericParser::read_ecm_range(), vpMbtXmlParser::read_range(), vpMeLine::seekExtremities(), vpMeNurbs::seekExtremities(), and vpMeNurbs::seekExtremitiesCanny().

void vpMe::setSampleStep ( const double &  s)
inline

Set the minimum distance in pixel between two discretized points.

Parameters
s: new sample_step.
Examples:
mbtEdgeKltMultiTracking.cpp, mbtEdgeKltTracking.cpp, mbtEdgeMultiTracking.cpp, mbtEdgeTracking.cpp, mbtGenericTracking.cpp, mbtGenericTracking2.cpp, mbtGenericTrackingDepth.cpp, servoAfma62DhalfCamVelocity.cpp, servoAfma6Cylinder2DCamVelocity.cpp, servoAfma6Cylinder2DCamVelocitySecondaryTask.cpp, servoAfma6Line2DCamVelocity.cpp, servoAfma6SquareLines2DCamVelocity.cpp, servoAfma6TwoLines2DCamVelocity.cpp, testGenericTracker.cpp, testKeyPoint-2.cpp, testKeyPoint-4.cpp, trackMeCircle.cpp, trackMeEllipse.cpp, trackMeNurbs.cpp, tutorial-detection-object-mbt-deprecated.cpp, tutorial-detection-object-mbt.cpp, tutorial-detection-object-mbt2-deprecated.cpp, tutorial-detection-object-mbt2.cpp, tutorial-mb-edge-tracker.cpp, tutorial-mb-generic-tracker-apriltag-live-realsense2.cpp, tutorial-mb-generic-tracker-apriltag-live-webcam.cpp, tutorial-mb-generic-tracker-full.cpp, tutorial-mb-generic-tracker-live.cpp, tutorial-mb-generic-tracker-stereo-mono.cpp, tutorial-mb-generic-tracker.cpp, tutorial-mb-hybrid-tracker.cpp, tutorial-mb-tracker-full.cpp, tutorial-mb-tracker-stereo-mono.cpp, tutorial-mb-tracker.cpp, tutorial-me-ellipse-tracker.cpp, and tutorial-me-line-tracker.cpp.

Definition at line 278 of file vpMe.h.

Referenced by vpMbtXmlGenericParser::read_ecm_sample(), vpMbtXmlGenericParser::read_projection_error(), vpMbtXmlParser::read_sample(), vpMbtXmlParser::read_sample_deprecated(), and vpMbtXmlGenericParser::read_sample_deprecated().

void vpMe::setStrip ( const int &  a)
inline

Set the number of pixels that are ignored around the image borders.

Parameters
a: new strip.

Definition at line 292 of file vpMe.h.

void vpMe::setThreshold ( const double &  t)
inline

Member Data Documentation

unsigned int vpMe::anglestep

Definition at line 71 of file vpMe.h.

Referenced by operator=(), setMaskNumber(), and vpMe().

vpMatrix* vpMe::mask

Definition at line 91 of file vpMe.h.

Referenced by operator=(), and ~vpMe().

int vpMe::mask_sign

Definition at line 72 of file vpMe.h.

Referenced by operator=().

unsigned int vpMe::mask_size

convolution masks' size in pixels (masks are square),

Warning
should not be public, use setMaskSize() and getMaskSize() instead (kept public for compatibility reasons).

Definition at line 80 of file vpMe.h.

Referenced by operator=(), and setMaskSize().

double vpMe::min_samplestep

Contrast continuity parameter (right boundary)

Definition at line 70 of file vpMe.h.

Referenced by operator=().

double vpMe::mu1

Likelihood ratio threshold.

Definition at line 68 of file vpMe.h.

Referenced by operator=().

double vpMe::mu2

Contrast continuity parameter (left boundary)

Definition at line 69 of file vpMe.h.

Referenced by operator=().

unsigned int vpMe::n_mask

the number of convolution masks available for tracking ; defines resolution.

Warning
Should not be public, use setMaskNumber() and getMaskNumber() instead (kept public for compatibility reasons).

Definition at line 84 of file vpMe.h.

Referenced by operator=(), setMaskNumber(), and vpMe().

int vpMe::ntotal_sample

Distance between sampled points (in pixels)

Definition at line 75 of file vpMe.h.

Referenced by operator=().

int vpMe::points_to_track

Definition at line 76 of file vpMe.h.

Referenced by operator=().

unsigned int vpMe::range

Definition at line 73 of file vpMe.h.

Referenced by operator=().

double vpMe::sample_step

Seek range - on both sides of the reference pixel.

Definition at line 74 of file vpMe.h.

Referenced by operator=().

int vpMe::strip

Definition at line 89 of file vpMe.h.

Referenced by operator=().

double vpMe::threshold

Definition at line 67 of file vpMe.h.

Referenced by operator=().