Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches

#include <vpFeatureDepth.h>

Inheritance diagram for vpFeatureDepth:

Public Types

enum  vpBasicFeatureSelect { FEATURE_ALL = 0xffff }
enum  vpBasicFeatureDeallocatorType { user , vpServo }

Public Member Functions

 vpFeatureDepth ()
vpFeatureDepthbuildFrom (const double &x, const double &y, const double &Z, const double &LogZoverZstar)
void display (const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const VP_OVERRIDE
void display (const vpCameraParameters &cam, const vpImage< vpRGBa > &I, const vpColor &color=vpColor::green, unsigned int thickness=1) const VP_OVERRIDE
vpFeatureDepthduplicate () const VP_OVERRIDE
vpColVector error (const vpBasicFeature &s_star, unsigned int select=FEATURE_ALL) VP_OVERRIDE
double get_x () const
double get_y () const
double get_Z () const
double get_LogZoverZstar () const
void init () VP_OVERRIDE
vpMatrix interaction (unsigned int select=FEATURE_ALL) VP_OVERRIDE
void print (unsigned int select=FEATURE_ALL) const VP_OVERRIDE
void set_x (double x)
void set_y (double y)
void set_Z (double Z)
void set_LogZoverZstar (double LogZoverZstar)
void set_xyZLogZoverZstar (double x, double y, double Z, double logZZs)

Static Public Attributes

static const unsigned int FEATURE_LINE [32]

Protected Attributes

vpColVector s
unsigned int dim_s
bool * flags
unsigned int nbParameters

Inherited functionalities from vpBasicFeature

unsigned int dimension_s ()
vpColVector get_s (unsigned int select=FEATURE_ALL) const
vpBasicFeatureDeallocatorType getDeallocate ()
unsigned int getDimension (unsigned int select=FEATURE_ALL) const
virtual double operator[] (unsigned int i) const
void setDeallocate (vpBasicFeatureDeallocatorType d)
void setFlags ()
vpBasicFeatureDeallocatorType deallocate
static unsigned int selectAll ()
void resetFlags ()

Detailed Description

Class that defines a 3D point visual feature $ s$ which is composed by one parameters that is $ log( \frac{Z}{Z^*}) $ that defines the current depth relative to the desired depth. Here $ Z $ represents the current depth and $ Z^* $ the desired depth.

In this class $ x $ and $ y $ are the 2D coordinates in the camera frame and are given in meter. $ x $, $ y $ and $ Z
$ are needed during the computation of the interaction matrix $L $.

The visual features can be set easily thanks to the build() method.

As the visual feature $ s $ represents the current depth relative to the desired depth, the desired visual feature $ s^*
$ is set to zero. Once the value of the visual feature is set, the interaction() method allows to compute the interaction matrix $ L
$ associated to the visual feature, while the error() method computes the error vector $(s - s^*)$ between the current visual feature and the desired one which is here set to zero.

The code below shows how to create a eye-in hand visual servoing task using a 3D depth feature $ log( \frac{Z}{Z^*}) $ that corresponds to the current depth relative to the desired depth. To control six degrees of freedom, at least five other features must be considered. First we create a current ( $s$) 3D depth feature. Then we set the task to use the interaction matrix associated to the current feature $L_s$. And finally we compute the camera velocity $v=-\lambda \; L_s^+ \; (s-s^*)$. The current feature $s$ is updated in the while() loop.

#include <visp3/visual_features/vpFeatureDepth.h>
#include <visp3/vs/vpServo.h>
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
vpServo task; // Visual servoing task
vpFeatureDepth s; //The current point feature.
//Set the current parameters x, y, Z and the desired depth Zs
double x; // You have to compute the value of x.
double y; // You have to compute the value of y.
double Z; // You have to compute the value of Z.
double Zs; // You have to define the desired depth Zs.
//Set the point feature thanks to the current parameters.
s.buildFrom(x, y, Z, log(Z/Zs));
// Set eye-in-hand control law.
// The computed velocities will be expressed in the camera frame
task.setServo(vpServo::EYEINHAND_CAMERA);
// Interaction matrix is computed with the desired visual features sd
task.setInteractionMatrixType(vpServo::CURRENT);
// Add the 3D depth feature to the task
task.addFeature(s); // s* is here considered as zero
// Control loop
for ( ; ; ) {
// The new parameters x, y and Z must be computed here.
// Update the current point visual feature
s.buildFrom(x, y, Z, log(Z/Zs));
// compute the control law
vpColVector v = task.computeControlLaw(); // camera velocity
}
return 0;
}
vpColVector s
State of the visual feature.
Implementation of column vector and the associated operations.
@ EYEINHAND_CAMERA
Definition vpServo.h:176
@ CURRENT
Definition vpServo.h:217

If you want to build your own control law, this other example shows how to create a current ( $s$) and desired ( $s^*$) 2D point visual feature, compute the corresponding error vector $(s-s^*)$ and finally build the interaction matrix $L_s$.

#include <visp3/core/vpColVector.h>
#include <visp3/core/vpMatrix.h>
#include <visp3/visual_features/vpFeatureDepth.h>
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
vpFeatureDepth s; //The current point feature.
//Set the current parameters x, y, Z and the desired depth Zs
double x; // You have to compute the value of x.
double y; // You have to compute the value of y.
double Z; // You have to compute the value of Z.
double Zs; // You have to define the desired depth Zs.
//Set the point feature thanks to the current parameters.
s.buildFrom(x, y, Z, log(Z/Zs));
// Compute the interaction matrix L_s for the current point feature
vpMatrix L = s.interaction();
// Compute the error vector (s-s*) for the point feature with s* considered as 0.
vpColVector s_star(1); // The dimension is 1.
s_star(1) = 0; // The value of s* is 0.
s.error(s_star);
}
Implementation of a matrix and operations on matrices.
Definition vpMatrix.h:175

Tutorials & Examples

Tutorials
If you are interested in how to use this class, you may have a look at:

Examples
mbot-apriltag-2D-half-vs.cpp, servoAfma62DhalfCamVelocity.cpp, servoPioneerPoint2DDepth.cpp, servoPioneerPoint2DDepthWithoutVpServo.cpp, tutorial-simu-pioneer-continuous-gain-adaptive.cpp, tutorial-simu-pioneer-continuous-gain-constant.cpp, tutorial-simu-pioneer-pan.cpp, and tutorial-simu-pioneer.cpp.

Definition at line 171 of file vpFeatureDepth.h.

Member Enumeration Documentation

◆ vpBasicFeatureDeallocatorType

Indicates who should deallocate the feature.

Enumerator
user 
vpServo 

Definition at line 86 of file vpBasicFeature.h.

◆ vpBasicFeatureSelect

Enumerator
FEATURE_ALL 

Definition at line 81 of file vpBasicFeature.h.

Constructor & Destructor Documentation

◆ vpFeatureDepth()

vpFeatureDepth::vpFeatureDepth ( )

Default constructor that build a visual feature.

Definition at line 82 of file vpFeatureDepth.cpp.

References init().

Referenced by buildFrom(), and duplicate().

Member Function Documentation

◆ buildFrom()

vpFeatureDepth & vpFeatureDepth::buildFrom ( const double & x_,
const double & y_,
const double & Z_,
const double & LogZoverZstar )

Build a 3D depth visual feature from the point coordinates $ x $ and $y $ given in the camera frame, $ Z $ which describes the depth and $log(\frac{Z}{Z^*}) $ which represents the logarithm of the current depth relative to the desired depth.

Parameters
x_: The $ x $ parameter.
y_: The $ y $ parameter.
Z_: The $ Z $ parameter.
LogZoverZstar: The $ log(\frac{Z}{Z^*}) $ parameter.
Examples
mbot-apriltag-2D-half-vs.cpp, servoAfma62DhalfCamVelocity.cpp, servoPioneerPoint2DDepth.cpp, servoPioneerPoint2DDepthWithoutVpServo.cpp, tutorial-simu-pioneer-continuous-gain-adaptive.cpp, tutorial-simu-pioneer-continuous-gain-constant.cpp, tutorial-simu-pioneer-pan.cpp, and tutorial-simu-pioneer.cpp.

Definition at line 359 of file vpFeatureDepth.cpp.

References vpFeatureException::badInitializationError, vpBasicFeature::flags, vpBasicFeature::nbParameters, vpBasicFeature::s, vpERROR_TRACE, and vpFeatureDepth().

◆ dimension_s()

unsigned int vpBasicFeature::dimension_s ( )
inlineinherited

Return the dimension of the feature vector $\bf s$.

Definition at line 108 of file vpBasicFeature.h.

References dim_s.

◆ display() [1/2]

void vpFeatureDepth::display ( const vpCameraParameters & cam,
const vpImage< unsigned char > & I,
const vpColor & color = vpColor::green,
unsigned int thickness = 1 ) const
virtual

Not implemented.

Implements vpBasicFeature.

Definition at line 409 of file vpFeatureDepth.cpp.

References vpERROR_TRACE.

◆ display() [2/2]

void vpFeatureDepth::display ( const vpCameraParameters & cam,
const vpImage< vpRGBa > & I,
const vpColor & color = vpColor::green,
unsigned int thickness = 1 ) const
virtual

Not implemented.

Implements vpBasicFeature.

Definition at line 426 of file vpFeatureDepth.cpp.

References vpERROR_TRACE.

◆ duplicate()

vpFeatureDepth * vpFeatureDepth::duplicate ( ) const
virtual

Create an object with the same type.

s_star = s.duplicate(); // s_star is now a vpFeatureDepth

Implements vpBasicFeature.

Definition at line 398 of file vpFeatureDepth.cpp.

References vpFeatureDepth().

◆ error()

vpColVector vpFeatureDepth::error ( const vpBasicFeature & s_star,
unsigned int select = FEATURE_ALL )
virtual

Compute the error $ (s-s^*)$ between the current and the desired visual features from a subset of the possible features.

Since this visual feature $ s $ represent the current depth relative to the desired depth, the desired visual feature $ s^* $ should be zero. Thus, the error is here equal to the current visual feature $ s $.

Parameters
s_star: Desired visual visual feature that should be equal to zero.
select: unuseful in the case of vpFeatureDepth. Always set to FEATURE_ALL.
Returns
The error $ (s-s^*)$ between the current and the desired visual feature.
Exceptions
vpFeatureException::badInitializationError: If the desired visual feature $ s^* $ is not equal to zero.

The code below shows how to use this method:

// Creation of the current feature s
// Creation of the desired feature s^*. By default this feature is
// initialized to zero
s_star.setLogZoverZstar(0)
// Compute the interaction matrix for the ThetaU_z feature
vpMatrix L_z = s.interaction();
// Compute the error vector (s-s*) for the ThetaU_z feature
s.error(s_star);

Reimplemented from vpBasicFeature.

Examples
servoPioneerPoint2DDepthWithoutVpServo.cpp.

Definition at line 304 of file vpFeatureDepth.cpp.

References vpFeatureException::badInitializationError, vpBasicFeature::FEATURE_ALL, vpBasicFeature::get_s(), vpBasicFeature::s, vpColVector::sumSquare(), vpBasicFeature::vpBasicFeature(), and vpERROR_TRACE.

◆ get_LogZoverZstar()

double vpFeatureDepth::get_LogZoverZstar ( ) const

Get the value of $ log(\frac{Z}{Z^*}) $ which represents the logarithm of the current depth relative to the desired depth.

Returns
The value of $ log(\frac{Z}{Z^*}) $.

Definition at line 98 of file vpFeatureDepth.cpp.

References vpBasicFeature::s.

Referenced by print().

◆ get_s()

vpColVector vpBasicFeature::get_s ( unsigned int select = FEATURE_ALL) const
inherited

◆ get_x()

double vpFeatureDepth::get_x ( ) const

Get the value of $ x $ which represents the x coordinate of the point in the camera frame.

Returns
The value of $ x $.

Definition at line 118 of file vpFeatureDepth.cpp.

Referenced by interaction(), and print().

◆ get_y()

double vpFeatureDepth::get_y ( ) const

Get the value of $ y $ which represents the y coordinate of the point in the camera frame.

Returns
The value of $ y $.

Definition at line 138 of file vpFeatureDepth.cpp.

Referenced by interaction(), and print().

◆ get_Z()

double vpFeatureDepth::get_Z ( ) const

Get the value of $ Z $ which represents the depth in the 3D camera frame.

Returns
The value of $ Z $.

Definition at line 158 of file vpFeatureDepth.cpp.

Referenced by interaction(), and print().

◆ getDeallocate()

vpBasicFeatureDeallocatorType vpBasicFeature::getDeallocate ( )
inlineinherited

Definition at line 121 of file vpBasicFeature.h.

References deallocate.

◆ getDimension()

unsigned int vpBasicFeature::getDimension ( unsigned int select = FEATURE_ALL) const
inherited

Get the feature vector dimension.

Definition at line 100 of file vpBasicFeature.cpp.

References dim_s, FEATURE_LINE, and s.

◆ init()

BEGIN_VISP_NAMESPACE void vpFeatureDepth::init ( void )
virtual

Initialize the memory space requested for 3D depth visual feature.

Implements vpBasicFeature.

Definition at line 63 of file vpFeatureDepth.cpp.

References vpBasicFeature::dim_s, vpBasicFeature::flags, vpBasicFeature::nbParameters, and vpBasicFeature::s.

Referenced by vpFeatureDepth().

◆ interaction()

vpMatrix vpFeatureDepth::interaction ( unsigned int select = FEATURE_ALL)
virtual

Compute and return the interaction matrix $ L $. The computation is made thanks to the values of the point coordinates $ x $ and $ y $ and the depth $ Z $.

\‍[ L =
\left[\begin{array}{cccccc}
0 & 0 & -1/Z & -y & x & 0
\end{array}\right]\‍]

Parameters
select: unuseful in the case of vpFeatureDepth. Always set to FEATURE_ALL.
Returns
The interaction matrix computed from the point feature.

The code below shows how to compute the interaction matrix associated to the visual feature $ s = log(\frac{Z}{Z^*}) $.

// Creation of the current feature s
s.buildFrom(0, 0, 5, log(5/1)); // The current depth is 5 meters and the desired is 1 meter.
vpMatrix L_x = s.interaction();

Implements vpBasicFeature.

Examples
servoPioneerPoint2DDepthWithoutVpServo.cpp.

Definition at line 207 of file vpFeatureDepth.cpp.

References vpFeatureException::badInitializationError, vpBasicFeature::deallocate, vpBasicFeature::FEATURE_ALL, vpBasicFeature::flags, get_x(), get_y(), get_Z(), vpBasicFeature::nbParameters, vpBasicFeature::resetFlags(), vpArray2D< Type >::resize(), vpBasicFeature::user, vpERROR_TRACE, and vpTRACE.

◆ operator[]()

virtual double vpBasicFeature::operator[] ( unsigned int i) const
inlinevirtualinherited

Return element i in the state vector (usage : x = s[i] ).

Definition at line 128 of file vpBasicFeature.h.

References s.

◆ print()

void vpFeatureDepth::print ( unsigned int select = FEATURE_ALL) const
virtual

Print to stdout the values of the current visual feature $ s $.

Parameters
select: unuseful in the case of vpFeatureDepth. Always set to FEATURE_ALL.
vpFeatureDepth s; // Current visual feature s
// Creation of the current feature s
s.buildFrom(0, 0, 5, log(5/1));
s.print(); // print all the 2 components of the feature

Implements vpBasicFeature.

Definition at line 335 of file vpFeatureDepth.cpp.

References vpBasicFeature::FEATURE_ALL, get_LogZoverZstar(), get_x(), get_y(), and get_Z().

◆ resetFlags()

◆ selectAll()

unsigned int vpBasicFeature::selectAll ( )
inlinestaticinherited

Select all the features.

Examples
testPoint.cpp.

Definition at line 140 of file vpBasicFeature.h.

References FEATURE_ALL.

◆ set_LogZoverZstar()

void vpFeatureDepth::set_LogZoverZstar ( double LogZoverZstar)

Set the value of $ log(\frac{Z}{Z^*}) $ which represents the logarithm of the current depth relative to the desired depth.

Parameters
LogZoverZstar: $ log(\frac{Z}{Z^*}) $ value to set.

Definition at line 90 of file vpFeatureDepth.cpp.

References vpBasicFeature::s.

Referenced by set_xyZLogZoverZstar().

◆ set_x()

void vpFeatureDepth::set_x ( double x_)

Set the value of $ x $ which represents the x coordinate of the point in the camera frame.

Parameters
x_: $ x $ value to set.

Definition at line 106 of file vpFeatureDepth.cpp.

References vpBasicFeature::flags.

Referenced by set_xyZLogZoverZstar().

◆ set_xyZLogZoverZstar()

void vpFeatureDepth::set_xyZLogZoverZstar ( double x_,
double y_,
double Z_,
double LogZoverZstar )

Set the value of $ x $, $ y $, $ Z $ and $ log(\frac{Z}{Z^*})
$. $ x $ and $ y $ represent the coordinates of the point in the camera frame. $ Z $ is the 3D coordinate representing the depth. $log(\frac{Z}{Z^*}) $ represents the logarithm of the current depth relative to the desired depth.

Parameters
x_: $ x $ value to set.
y_: $ y $ value to set.
Z_: $ Z $ value to set.
LogZoverZstar: $ log(\frac{Z}{Z^*}) $ value to set.

Definition at line 172 of file vpFeatureDepth.cpp.

References vpBasicFeature::flags, vpBasicFeature::nbParameters, set_LogZoverZstar(), set_x(), set_y(), and set_Z().

◆ set_y()

void vpFeatureDepth::set_y ( double y_)

Set the value of $ y $ which represents the y coordinate of the point in the camera frame.

Parameters
y_: $ y $ value to set.

Definition at line 126 of file vpFeatureDepth.cpp.

References vpBasicFeature::flags.

Referenced by set_xyZLogZoverZstar().

◆ set_Z()

void vpFeatureDepth::set_Z ( double Z_)

Set the value of $ Z $ which represents the depth in the 3D camera frame.

Parameters
Z_: $ Z $ value to set.

Definition at line 146 of file vpFeatureDepth.cpp.

References vpBasicFeature::flags.

Referenced by set_xyZLogZoverZstar().

◆ setDeallocate()

void vpBasicFeature::setDeallocate ( vpBasicFeatureDeallocatorType d)
inlineinherited

Definition at line 135 of file vpBasicFeature.h.

References deallocate.

Referenced by vpServo::addFeature().

◆ setFlags()

void vpBasicFeature::setFlags ( )
inherited

Set feature flags to true to prevent warning when re-computing the interaction matrix without having updated the feature.

Definition at line 140 of file vpBasicFeature.cpp.

References flags, and nbParameters.

Member Data Documentation

◆ deallocate

◆ dim_s

unsigned int vpBasicFeature::dim_s
protectedinherited

Dimension of the visual feature.

Definition at line 92 of file vpBasicFeature.h.

Referenced by dimension_s(), vpFeatureMoment::duplicate(), vpGenericFeature::duplicate(), error(), vpFeatureLuminance::error(), vpFeatureLuminanceMapping::error(), vpFeatureLuminanceMapping::error(), vpGenericFeature::error(), vpGenericFeature::error(), get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), getDimension(), vpFeatureMoment::getDimension(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpFeatureLuminance::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureMoment::interaction(), vpGenericFeature::interaction(), operator=(), vpFeatureLuminance::operator=(), vpFeatureLuminanceMapping::operator=(), vpFeatureMoment::print(), vpGenericFeature::print(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::setError(), vpGenericFeature::setInteractionMatrix(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), vpFeatureLuminance::vpFeatureLuminance(), and vpGenericFeature::vpGenericFeature().

◆ FEATURE_LINE

BEGIN_VISP_NAMESPACE const unsigned int vpBasicFeature::FEATURE_LINE
staticinherited
Initial value:
= {
static_cast<unsigned int>(1 << 0), static_cast<unsigned int>(1 << 1), static_cast<unsigned int>(1 << 2), static_cast<unsigned int>(1 << 3),
static_cast<unsigned int>(1 << 4), static_cast<unsigned int>(1 << 5), static_cast<unsigned int>(1 << 6), static_cast<unsigned int>(1 << 7),
static_cast<unsigned int>(1 << 8), static_cast<unsigned int>(1 << 9), static_cast<unsigned int>(1 << 10), static_cast<unsigned int>(1 << 11),
static_cast<unsigned int>(1 << 12), static_cast<unsigned int>(1 << 13), static_cast<unsigned int>(1 << 14), static_cast<unsigned int>(1 << 15),
static_cast<unsigned int>(1 << 16), static_cast<unsigned int>(1 << 17), static_cast<unsigned int>(1 << 18), static_cast<unsigned int>(1 << 19),
static_cast<unsigned int>(1 << 20), static_cast<unsigned int>(1 << 21), static_cast<unsigned int>(1 << 22), static_cast<unsigned int>(1 << 23),
static_cast<unsigned int>(1 << 24), static_cast<unsigned int>(1 << 25), static_cast<unsigned int>(1 << 26), static_cast<unsigned int>(1 << 27),
static_cast<unsigned int>(1 << 28), static_cast<unsigned int>(1 << 29), static_cast<unsigned int>(1 << 30), static_cast<unsigned int>(1 << 31) }

Definition at line 45 of file vpBasicFeature.h.

Referenced by error(), vpGenericFeature::error(), vpGenericFeature::error(), get_s(), getDimension(), vpFeatureMoment::getDimension(), vpFeatureMoment::interaction(), vpGenericFeature::interaction(), vpFeatureMoment::print(), vpGenericFeature::print(), vpFeatureEllipse::select_n02(), vpFeatureEllipse::select_n11(), vpFeatureEllipse::select_n20(), vpFeatureSegment::selectAlpha(), vpFeatureVanishingPoint::selectAlpha(), vpFeatureVanishingPoint::selectAtanOneOverRho(), vpFeatureSegment::selectL(), vpFeatureEllipse::selectMu02(), vpFeatureEllipse::selectMu11(), vpFeatureEllipse::selectMu20(), vpFeatureVanishingPoint::selectOneOverRho(), vpFeatureLine::selectRho(), vpFeaturePointPolar::selectRho(), vpFeatureLine::selectTheta(), vpFeaturePointPolar::selectTheta(), vpFeatureThetaU::selectTUx(), vpFeatureThetaU::selectTUy(), vpFeatureThetaU::selectTUz(), vpFeatureTranslation::selectTx(), vpFeatureTranslation::selectTy(), vpFeatureTranslation::selectTz(), vpFeatureEllipse::selectX(), vpFeaturePoint3D::selectX(), vpFeaturePoint::selectX(), vpFeatureVanishingPoint::selectX(), vpFeatureSegment::selectXc(), vpFeatureEllipse::selectY(), vpFeaturePoint3D::selectY(), vpFeaturePoint::selectY(), vpFeatureVanishingPoint::selectY(), vpFeatureSegment::selectYc(), and vpFeaturePoint3D::selectZ().

◆ flags

bool* vpBasicFeature::flags
protectedinherited

Ensure that all the parameters needed to compute the interaction matrix are set.

Definition at line 96 of file vpBasicFeature.h.

Referenced by vpFeatureDepth::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLine::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint::buildFrom(), vpFeaturePointPolar::buildFrom(), vpFeatureThetaU::buildFrom(), vpFeatureTranslation::buildFrom(), vpFeatureMoment::duplicate(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpFeatureDepth::interaction(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeaturePoint3D::interaction(), vpFeaturePoint::interaction(), vpFeaturePointPolar::interaction(), vpFeatureSegment::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), vpFeatureVanishingPoint::interaction(), operator=(), resetFlags(), vpFeaturePointPolar::set_rho(), vpFeaturePointPolar::set_rhoThetaZ(), vpFeaturePointPolar::set_theta(), vpFeatureThetaU::set_TUx(), vpFeatureThetaU::set_TUy(), vpFeatureThetaU::set_TUz(), vpFeaturePoint3D::set_X(), vpFeatureDepth::set_x(), vpFeatureEllipse::set_x(), vpFeaturePoint::set_x(), vpFeatureVanishingPoint::set_x(), vpFeatureEllipse::set_xy(), vpFeaturePoint3D::set_XYZ(), vpFeaturePoint::set_xyZ(), vpFeatureDepth::set_xyZLogZoverZstar(), vpFeaturePoint3D::set_Y(), vpFeatureDepth::set_y(), vpFeatureEllipse::set_y(), vpFeaturePoint::set_y(), vpFeatureVanishingPoint::set_y(), vpFeatureDepth::set_Z(), vpFeatureLuminance::set_Z(), vpFeaturePoint3D::set_Z(), vpFeaturePoint::set_Z(), vpFeaturePointPolar::set_Z(), vpFeatureEllipse::setABC(), vpFeatureLine::setABCD(), vpFeatureSegment::setAlpha(), vpFeatureVanishingPoint::setAlpha(), vpFeatureVanishingPoint::setAtanOneOverRho(), setFlags(), vpFeatureSegment::setL(), vpFeatureEllipse::setMoments(), vpFeatureVanishingPoint::setOneOverRho(), vpFeatureLine::setRhoTheta(), vpFeatureSegment::setXc(), vpFeatureSegment::setYc(), vpFeatureSegment::setZ1(), vpFeatureSegment::setZ2(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), vpFeatureLuminance::vpFeatureLuminance(), and ~vpBasicFeature().

◆ nbParameters

◆ s

vpColVector vpBasicFeature::s
protectedinherited

State of the visual feature.

Definition at line 90 of file vpBasicFeature.h.

Referenced by vpFeatureDepth::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureEllipse::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLine::buildFrom(), vpFeatureLuminance::buildFrom(), vpFeatureLuminanceMapping::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint3D::buildFrom(), vpFeaturePoint::buildFrom(), vpFeaturePointPolar::buildFrom(), vpFeatureThetaU::buildFrom(), vpFeatureTranslation::buildFrom(), vpFeatureEllipse::display(), vpFeatureEllipse::display(), vpFeatureMoment::duplicate(), error(), vpFeatureDepth::error(), vpFeatureEllipse::error(), vpFeatureLine::error(), vpFeatureLuminance::error(), vpFeatureLuminanceMapping::error(), vpFeatureMomentAlpha::error(), vpFeaturePoint3D::error(), vpFeaturePoint::error(), vpFeaturePointPolar::error(), vpFeatureThetaU::error(), vpFeatureTranslation::error(), vpFeatureVanishingPoint::error(), vpGenericFeature::error(), vpGenericFeature::error(), vpFeatureDepth::get_LogZoverZstar(), vpFeatureEllipse::get_n02(), vpFeatureEllipse::get_n11(), vpFeatureEllipse::get_n20(), vpFeaturePointPolar::get_rho(), get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpGenericFeature::get_s(), vpFeaturePointPolar::get_theta(), vpFeatureThetaU::get_TUx(), vpFeatureThetaU::get_TUy(), vpFeatureThetaU::get_TUz(), vpFeatureTranslation::get_Tx(), vpFeatureTranslation::get_Ty(), vpFeatureTranslation::get_Tz(), vpFeaturePoint3D::get_X(), vpFeatureEllipse::get_x(), vpFeaturePoint::get_x(), vpFeatureVanishingPoint::get_x(), vpFeaturePoint3D::get_Y(), vpFeatureEllipse::get_y(), vpFeaturePoint::get_y(), vpFeatureVanishingPoint::get_y(), vpFeaturePoint3D::get_Z(), vpFeatureSegment::getAlpha(), vpFeatureVanishingPoint::getAlpha(), vpFeatureVanishingPoint::getAtanOneOverRho(), getDimension(), vpFeatureSegment::getL(), vpFeatureEllipse::getMu02(), vpFeatureEllipse::getMu11(), vpFeatureEllipse::getMu20(), vpFeatureVanishingPoint::getOneOverRho(), vpFeatureLine::getRho(), vpFeatureLine::getTheta(), vpFeatureSegment::getXc(), vpFeatureSegment::getYc(), vpFeatureDepth::init(), vpFeatureEllipse::init(), vpFeatureLine::init(), vpFeatureLuminance::init(), vpFeatureLuminanceMapping::init(), vpFeatureLuminanceMapping::init(), vpFeatureMoment::init(), vpFeaturePoint3D::init(), vpFeaturePoint::init(), vpFeaturePointPolar::init(), vpFeatureSegment::init(), vpFeatureThetaU::init(), vpFeatureTranslation::init(), vpFeatureVanishingPoint::init(), vpGenericFeature::init(), vpFeatureEllipse::interaction(), vpFeatureLine::interaction(), vpFeatureLuminanceMapping::interaction(), vpFeatureThetaU::interaction(), vpFeatureTranslation::interaction(), operator=(), vpFeatureLuminance::operator=(), vpFeatureLuminanceMapping::operator=(), operator[](), vpFeatureEllipse::print(), vpFeatureLine::print(), vpFeatureLuminanceMapping::print(), vpFeatureMoment::print(), vpFeatureSegment::print(), vpFeatureThetaU::print(), vpFeatureTranslation::print(), vpGenericFeature::print(), vpFeatureDepth::set_LogZoverZstar(), vpFeaturePointPolar::set_rho(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpGenericFeature::set_s(), vpFeaturePointPolar::set_theta(), vpFeatureThetaU::set_TUx(), vpFeatureThetaU::set_TUy(), vpFeatureThetaU::set_TUz(), vpFeatureTranslation::set_Tx(), vpFeatureTranslation::set_Ty(), vpFeatureTranslation::set_Tz(), vpFeaturePoint3D::set_X(), vpFeatureEllipse::set_x(), vpFeaturePoint::set_x(), vpFeatureVanishingPoint::set_x(), vpFeatureEllipse::set_xy(), vpFeaturePoint3D::set_Y(), vpFeatureEllipse::set_y(), vpFeaturePoint::set_y(), vpFeatureVanishingPoint::set_y(), vpFeaturePoint3D::set_Z(), vpFeatureSegment::setAlpha(), vpFeatureVanishingPoint::setAlpha(), vpFeatureVanishingPoint::setAtanOneOverRho(), vpFeatureSegment::setL(), vpFeatureEllipse::setMoments(), vpFeatureVanishingPoint::setOneOverRho(), vpFeatureLine::setRhoTheta(), vpFeatureSegment::setXc(), vpFeatureSegment::setYc(), vpFeatureMoment::update(), vpBasicFeature(), vpBasicFeature(), and vpGenericFeature::vpGenericFeature().