SaDVIO
Public Member Functions | Protected Attributes | List of all members
isae::AFeature Class Reference

Abstract class for 2D features. More...

#include <AFeature2D.h>

Inheritance diagram for isae::AFeature:
Inheritance graph
[legend]
Collaboration diagram for isae::AFeature:
Collaboration graph
[legend]

Public Member Functions

 AFeature ()
 
 AFeature (std::vector< Eigen::Vector2d > poses2d, cv::Mat desc=cv::Mat(), int octave=0, double sigma=1.0)
 
const std::vector< Eigen::Vector2d > getPoints () const
 
void setPoints (std::vector< Eigen::Vector2d > poses2d)
 
const cv::Mat & getDescriptor () const
 
void setDescriptor (cv::Mat descriptor)
 
const int & getOctave () const
 
void setOctave (int octave)
 
const float getResponse ()
 
const double getSigma ()
 
const std::string getFeatureLabel () const
 
std::weak_ptr< ALandmarkgetLandmark ()
 
void linkLandmark (std::shared_ptr< ALandmark > landmark)
 
void unlinkLandmark ()
 
void setSensor (std::shared_ptr< ImageSensor > sensor)
 
std::shared_ptr< ImageSensorgetSensor ()
 
void computeBearingVectors ()
 Compute the bearing vectors from the 2D points, usually inverting the camera projection model. More...
 
std::vector< Eigen::Vector3d > getBearingVectors ()
 
std::vector< Eigen::Vector3d > getRays ()
 
void setOutlier ()
 Set the 2D feature as an outlier. More...
 
bool isOutlier ()
 True if the feature is an outlier. More...
 

Protected Attributes

std::string _feature_label
 Feature label, e.g. point, line, bouding box, etc. More...
 
std::vector< Eigen::Vector2d > _poses2d
 2D coordinates of the points of the feature in the image More...
 
std::vector< Eigen::Vector3d > _bearing_vectors
 Bearing vectors corresponding to the 2D points. More...
 
cv::Mat _descriptor
 Descriptor of the feature, e.g. SIFT, ORB, etc. More...
 
int _octave
 Octave of the feature, used in multi-scale feature detection. More...
 
float _response
 Response of the feature, i.e. strength of the feature. More...
 
double _sigma
 Noise level of the feature. More...
 
std::weak_ptr< ImageSensor_sensor
 Link to the parent sensor. More...
 
std::weak_ptr< ALandmark_landmark
 Link to the landmark associated with the feature. More...
 
bool _outlier = false
 Flag to indicate if the feature is an outlier. More...
 
std::mutex _feat_mtx
 

Detailed Description

Abstract class for 2D features.

Its main member is a vector of 2D points representing the feature in the image. It can be used to represent points, lines, bounding boxes, etc.

Constructor & Destructor Documentation

◆ AFeature() [1/2]

isae::AFeature::AFeature ( )
inline

◆ AFeature() [2/2]

isae::AFeature::AFeature ( std::vector< Eigen::Vector2d >  poses2d,
cv::Mat  desc = cv::Mat(),
int  octave = 0,
double  sigma = 1.0 
)
inline

Member Function Documentation

◆ computeBearingVectors()

void isae::AFeature::computeBearingVectors ( )

Compute the bearing vectors from the 2D points, usually inverting the camera projection model.

◆ getBearingVectors()

std::vector<Eigen::Vector3d> isae::AFeature::getBearingVectors ( )
inline

◆ getDescriptor()

const cv::Mat& isae::AFeature::getDescriptor ( ) const
inline

◆ getFeatureLabel()

const std::string isae::AFeature::getFeatureLabel ( ) const
inline

◆ getLandmark()

std::weak_ptr<ALandmark> isae::AFeature::getLandmark ( )
inline

◆ getOctave()

const int& isae::AFeature::getOctave ( ) const
inline

◆ getPoints()

const std::vector<Eigen::Vector2d> isae::AFeature::getPoints ( ) const
inline

◆ getRays()

std::vector< Eigen::Vector3d > isae::AFeature::getRays ( )

◆ getResponse()

const float isae::AFeature::getResponse ( )
inline

◆ getSensor()

std::shared_ptr<ImageSensor> isae::AFeature::getSensor ( )
inline

◆ getSigma()

const double isae::AFeature::getSigma ( )
inline

◆ isOutlier()

bool isae::AFeature::isOutlier ( )
inline

True if the feature is an outlier.

◆ linkLandmark()

void isae::AFeature::linkLandmark ( std::shared_ptr< ALandmark landmark)
inline

◆ setDescriptor()

void isae::AFeature::setDescriptor ( cv::Mat  descriptor)
inline

◆ setOctave()

void isae::AFeature::setOctave ( int  octave)
inline

◆ setOutlier()

void isae::AFeature::setOutlier ( )
inline

Set the 2D feature as an outlier.

◆ setPoints()

void isae::AFeature::setPoints ( std::vector< Eigen::Vector2d >  poses2d)
inline

◆ setSensor()

void isae::AFeature::setSensor ( std::shared_ptr< ImageSensor sensor)
inline

◆ unlinkLandmark()

void isae::AFeature::unlinkLandmark ( )
inline

Member Data Documentation

◆ _bearing_vectors

std::vector<Eigen::Vector3d> isae::AFeature::_bearing_vectors
protected

Bearing vectors corresponding to the 2D points.

◆ _descriptor

cv::Mat isae::AFeature::_descriptor
protected

Descriptor of the feature, e.g. SIFT, ORB, etc.

◆ _feat_mtx

std::mutex isae::AFeature::_feat_mtx
mutableprotected

◆ _feature_label

std::string isae::AFeature::_feature_label
protected

Feature label, e.g. point, line, bouding box, etc.

◆ _landmark

std::weak_ptr<ALandmark> isae::AFeature::_landmark
protected

Link to the landmark associated with the feature.

◆ _octave

int isae::AFeature::_octave
protected

Octave of the feature, used in multi-scale feature detection.

◆ _outlier

bool isae::AFeature::_outlier = false
protected

Flag to indicate if the feature is an outlier.

◆ _poses2d

std::vector<Eigen::Vector2d> isae::AFeature::_poses2d
protected

2D coordinates of the points of the feature in the image

◆ _response

float isae::AFeature::_response
protected

Response of the feature, i.e. strength of the feature.

◆ _sensor

std::weak_ptr<ImageSensor> isae::AFeature::_sensor
protected

Link to the parent sensor.

◆ _sigma

double isae::AFeature::_sigma
protected

Noise level of the feature.


The documentation for this class was generated from the following files: