Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CSIFTFeatureCalculator Class Reference

Class for computing SIFT features in a CByteImage. More...

#include <SIFTFeatureCalculator.h>

Inheritance diagram for CSIFTFeatureCalculator:
Inheritance graph
[legend]

Public Member Functions

int CalculateFeatures (const CByteImage *pImage, CDynamicArray *pResultList, bool bManageMemory=true)
 
 CSIFTFeatureCalculator (float fThreshold=0.05f, int nOctaves=3)
 
int GetNumberOfOctaves ()
 
float GetThreshold ()
 
void SetNumberOfOctaves (int nOctaves)
 
void SetThreshold (float fThreshold)
 
 ~CSIFTFeatureCalculator ()
 
- Public Member Functions inherited from CFeatureCalculatorInterface
virtual ~CFeatureCalculatorInterface ()
 

Static Public Member Functions

static void CreateSIFTDescriptors (const CFloatMatrix *pImage, CDynamicArray *pResultList, float x, float y, float scale, float sigma, const float *pOrientationWeights, bool bManageMemory=true, bool bPerform80PercentCheck=true)
 
static void CreateSIFTDescriptors (const CByteImage *pImage, CDynamicArray *pResultList, float x, float y, float scale=1.0f, bool bManageMemory=true, bool bPerform80PercentCheck=true)
 
static void CreateSIFTDescriptors (const CByteImage *pImage, CDynamicArrayTemplatePointer< CFeatureEntry > &resultList, float x, float y, float scale=1.0f, bool bPerform80PercentCheck=true)
 
static void InitializeVariables ()
 

Private Member Functions

void FindScaleSpaceExtrema (const CFloatMatrix *pImage, float scale, int nOctave)
 

Static Private Member Functions

static void DetermineDominatingOrientations (const CFloatMatrix *pAngleMatrix, const CFloatMatrix *pMagnitudeMatrix, CDynamicArrayTemplate< float > &orientations, bool bPerform80PercentCheck)
 

Private Attributes

bool m_bManageMemory
 
float m_fThreshold
 
int m_nOctaves
 
CDynamicArraym_pResultList
 

Static Private Attributes

static float diffk_ = sqrtf(k_ * k_ - 1)
 
static float diffsigma0_ = SIGMA0 * SIGMA0 - prescaledsigma_ * prescaledsigma_
 
static float edgethreshold_ = (EDGE_THRESHOLD + 1) * (EDGE_THRESHOLD + 1) / EDGE_THRESHOLD
 
static float k_ = powf(2.0f, 1.0f / S)
 
static int m_bInitialized = false
 
static float prescaledsigma_ = PRESIGMA * PRESCALE
 
static float SIFTDescriptorWeights [256]
 
static float SIFTDiffSigmas [MAX_SCALES]
 
static float * SIFTGaussianFilters [MAX_SCALES]
 
static int SIFTKernelRadius [MAX_SCALES]
 
static float SIFTOrientationWeights [256 *(MAX_SCALES+1)]
 
static int SIFTPointers [256]
 
static float SIFTSigmas [MAX_SCALES]
 
static float SIFTWeights [256]
 

Detailed Description

Class for computing SIFT features in a CByteImage.

Definition at line 81 of file SIFTFeatureCalculator.h.

Constructor & Destructor Documentation

CSIFTFeatureCalculator::CSIFTFeatureCalculator ( float  fThreshold = 0.05f,
int  nOctaves = 3 
)

Definition at line 92 of file SIFTFeatureCalculator.cpp.

CSIFTFeatureCalculator::~CSIFTFeatureCalculator ( )

Definition at line 103 of file SIFTFeatureCalculator.cpp.

Member Function Documentation

int CSIFTFeatureCalculator::CalculateFeatures ( const CByteImage pImage,
CDynamicArray pResultList,
bool  bManageMemory = true 
)
virtual

Implements CFeatureCalculatorInterface.

Definition at line 167 of file SIFTFeatureCalculator.cpp.

void CSIFTFeatureCalculator::CreateSIFTDescriptors ( const CFloatMatrix pImage,
CDynamicArray pResultList,
float  x,
float  y,
float  scale,
float  sigma,
const float *  pOrientationWeights,
bool  bManageMemory = true,
bool  bPerform80PercentCheck = true 
)
static

Definition at line 279 of file SIFTFeatureCalculator.cpp.

void CSIFTFeatureCalculator::CreateSIFTDescriptors ( const CByteImage pImage,
CDynamicArray pResultList,
float  x,
float  y,
float  scale = 1.0f,
bool  bManageMemory = true,
bool  bPerform80PercentCheck = true 
)
static

Definition at line 392 of file SIFTFeatureCalculator.cpp.

void CSIFTFeatureCalculator::CreateSIFTDescriptors ( const CByteImage pImage,
CDynamicArrayTemplatePointer< CFeatureEntry > &  resultList,
float  x,
float  y,
float  scale = 1.0f,
bool  bPerform80PercentCheck = true 
)
static

Definition at line 501 of file SIFTFeatureCalculator.cpp.

void CSIFTFeatureCalculator::DetermineDominatingOrientations ( const CFloatMatrix pAngleMatrix,
const CFloatMatrix pMagnitudeMatrix,
CDynamicArrayTemplate< float > &  orientations,
bool  bPerform80PercentCheck 
)
staticprivate

Definition at line 204 of file SIFTFeatureCalculator.cpp.

void CSIFTFeatureCalculator::FindScaleSpaceExtrema ( const CFloatMatrix pImage,
float  scale,
int  nOctave 
)
private

Definition at line 640 of file SIFTFeatureCalculator.cpp.

int CSIFTFeatureCalculator::GetNumberOfOctaves ( )
inline

Definition at line 99 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::GetThreshold ( )
inline

Definition at line 98 of file SIFTFeatureCalculator.h.

void CSIFTFeatureCalculator::InitializeVariables ( )
static

Definition at line 112 of file SIFTFeatureCalculator.cpp.

void CSIFTFeatureCalculator::SetNumberOfOctaves ( int  nOctaves)
inline

Definition at line 96 of file SIFTFeatureCalculator.h.

void CSIFTFeatureCalculator::SetThreshold ( float  fThreshold)
inline

Definition at line 95 of file SIFTFeatureCalculator.h.

Member Data Documentation

float CSIFTFeatureCalculator::diffk_ = sqrtf(k_ * k_ - 1)
staticprivate

Definition at line 123 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::diffsigma0_ = SIGMA0 * SIGMA0 - prescaledsigma_ * prescaledsigma_
staticprivate

Definition at line 125 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::edgethreshold_ = (EDGE_THRESHOLD + 1) * (EDGE_THRESHOLD + 1) / EDGE_THRESHOLD
staticprivate

Definition at line 121 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::k_ = powf(2.0f, 1.0f / S)
staticprivate

Definition at line 122 of file SIFTFeatureCalculator.h.

int CSIFTFeatureCalculator::m_bInitialized = false
staticprivate

Definition at line 137 of file SIFTFeatureCalculator.h.

bool CSIFTFeatureCalculator::m_bManageMemory
private

Definition at line 118 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::m_fThreshold
private

Definition at line 114 of file SIFTFeatureCalculator.h.

int CSIFTFeatureCalculator::m_nOctaves
private

Definition at line 115 of file SIFTFeatureCalculator.h.

CDynamicArray* CSIFTFeatureCalculator::m_pResultList
private

Definition at line 117 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::prescaledsigma_ = PRESIGMA * PRESCALE
staticprivate

Definition at line 124 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::SIFTDescriptorWeights
staticprivate

Definition at line 130 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::SIFTDiffSigmas
staticprivate

Definition at line 132 of file SIFTFeatureCalculator.h.

float* CSIFTFeatureCalculator::SIFTGaussianFilters[MAX_SCALES]
staticprivate

Definition at line 134 of file SIFTFeatureCalculator.h.

int CSIFTFeatureCalculator::SIFTKernelRadius
staticprivate

Definition at line 135 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::SIFTOrientationWeights
staticprivate

Definition at line 129 of file SIFTFeatureCalculator.h.

int CSIFTFeatureCalculator::SIFTPointers
staticprivate

Definition at line 127 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::SIFTSigmas
staticprivate

Definition at line 133 of file SIFTFeatureCalculator.h.

float CSIFTFeatureCalculator::SIFTWeights
staticprivate

Definition at line 128 of file SIFTFeatureCalculator.h.


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


asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28