ImFusion C++ SDK 4.4.0
ImFusion::SIFTFeatureDetector Class Reference

#include <ImFusion/Vision/FeatureDetection.h>

Implementation of the SIFT feature detection and description algorithm. More...

Inheritance diagram for ImFusion::SIFTFeatureDetector:

Detailed Description

Implementation of the SIFT feature detection and description algorithm.

Public Member Functions

 SIFTFeatureDetector ()
 Default constructor.
 ~SIFTFeatureDetector ()
 Destructor.
std::string name () const override
 Return name of detector.
std::vector< Keypointdetect (SharedImage &img) override
 Detect SIFT keypoints in image.
bool setMaxFeatures (int v) override
 Set maximum number of features.
int maxFeatures () const override
 Get maximum number of features.
void setThreshold (double threshold) override
 Set contrast threshold.
double threshold () const override
 Get contrast threshold.
Public Member Functions inherited from ImFusion::FeatureDetectorWithAdaptiveThreshold
 FeatureDetectorWithAdaptiveThreshold ()
 Default constructor.
std::vector< KeypointdetectAdaptive (SharedImage &img)
 Runs the detection by iteratively adapting a max number of features and a threshold.
virtual std::unique_ptr< KeyPointIteratorinitKeypointIterator (const std::vector< Keypoint > &keypoints)
 Instantiate keypoint iterator, can be overridden for custom sorting.
void configure (const Properties *p) override
 Configure parameters from properties.
Public Member Functions inherited from ImFusion::Configurable
virtual void configuration (Properties *p) const
 Serialize the current object configuration into the given Properties object.
virtual void configureDefaults ()
 Retrieve the properties of this object, replaces values with their defaults and sets it again.
void registerParameter (ParameterBase *param)
 Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration().
void unregisterParameter (const ParameterBase *param)
 Remove the given Parameter or SubProperty from the list of registered parameters.
 Configurable (const Configurable &rhs)
 Configurable (Configurable &&rhs) noexcept
Configurable & operator= (const Configurable &)
Configurable & operator= (Configurable &&) noexcept

Public Attributes

Parameter< double > p_contrastThreshold = {"Contrast threshold", 0.04, this}
 SIFT contrast threshold.
Parameter< int > p_nFeatures = {"Max features", 500, this}
 Maximum number of features.
Parameter< int > p_nOctaveLayers = {"Octave layers", 3, this}
 Number of octave layers.
Parameter< double > p_edgeThreshold = {"Edge threshold", 10, this}
 Edge threshold.
Parameter< double > p_sigma = {"Sigma", 1.6, this}
 Sigma for Gaussian smoothing.
Public Attributes inherited from ImFusion::FeatureDetectorWithAdaptiveThreshold
Parameter< bool > p_adaptThreshold = {"Iteratively adapt threshold", false, this}
 Enable adaptive threshold.
Parameter< int > p_cellSize = {"Grid cell size", 100, this}
 Size of grid cell for adaptive threshold.
Parameter< double > p_minThreshold = {"Minimum threshold", 0.0, this}
 Minimum threshold value.
Parameter< double > p_thresholdStep = {"Threshold step", 0.0, this}
 Step size for threshold adaptation.
Public Attributes inherited from ImFusion::Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.

Additional Inherited Members

Protected Attributes inherited from ImFusion::Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.

Member Function Documentation

◆ name()

std::string ImFusion::SIFTFeatureDetector::name ( ) const
inlineoverridevirtual

Return name of detector.

Implements ImFusion::FeatureDetector.

◆ detect()

std::vector< Keypoint > ImFusion::SIFTFeatureDetector::detect ( SharedImage & img)
overridevirtual

Detect SIFT keypoints in image.

Parameters
imgSharedImage to detect features in.
Returns
Vector of detected keypoints.

Implements ImFusion::FeatureDetector.

◆ setMaxFeatures()

bool ImFusion::SIFTFeatureDetector::setMaxFeatures ( int v)
inlineoverridevirtual

Set maximum number of features.

Parameters
vMaximum number of features.
Returns
Always true.

Implements ImFusion::FeatureDetectorWithAdaptiveThreshold.

◆ maxFeatures()

int ImFusion::SIFTFeatureDetector::maxFeatures ( ) const
inlineoverridevirtual

Get maximum number of features.

Implements ImFusion::FeatureDetectorWithAdaptiveThreshold.

◆ setThreshold()

void ImFusion::SIFTFeatureDetector::setThreshold ( double threshold)
inlineoverridevirtual

Set contrast threshold.

Parameters
thresholdContrast threshold value.

Implements ImFusion::FeatureDetectorWithAdaptiveThreshold.

◆ threshold()

double ImFusion::SIFTFeatureDetector::threshold ( ) const
inlineoverridevirtual

Get contrast threshold.

Implements ImFusion::FeatureDetectorWithAdaptiveThreshold.


The documentation for this class was generated from the following file:
  • ImFusion/Vision/FeatureDetection.h
Search Tab / S to search, Esc to close