ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
PyramidGL Class Referenceabstract

#include <PyramidGL.h>

Inheritance diagram for PyramidGL:
Collaboration diagram for PyramidGL:

Public Member Functions

void InitializeContext ()
 
void SetLevelFeatureNum (int idx, int num)
 
void GetTextureStorageSize (int num, int &fw, int &fh)
 
void GetAlignedStorageSize (int num, int align, int &fw, int &fh)
 
virtual void DownloadKeypoints ()
 
virtual int ResizeFeatureStorage ()
 
virtual void DestroyPerLevelData ()
 
virtual void DestroySharedData ()
 
virtual void GetFeatureDescriptors ()
 
virtual void GenerateFeatureListTex ()
 
virtual void ReshapeFeatureListCPU ()
 
virtual void GenerateFeatureDisplayVBO ()
 
virtual void CleanUpAfterSIFT ()
 
virtual GLTexImageGetBaseLevel (int octave, int dataName=DATA_GAUSSIAN)=0
 
 PyramidGL (SiftParam &sp)
 
virtual ~PyramidGL ()
 
- Public Member Functions inherited from SiftPyramid
virtual void RunSIFT (GLTexInput *input)
 
virtual void SaveSIFT (const char *szFileName)
 
virtual void CopyFeatureVector (float *keys, float *descriptors)
 
virtual void SetKeypointList (int num, const float *keys, int run_on_current, int skip_orientation)
 
virtual void GenerateFeatureListCPU ()=0
 
virtual void GenerateFeatureList ()=0
 
virtual GLTexImageGetLevelTexture (int octave, int level)=0
 
virtual GLTexImageGetLevelTexture (int octave, int level, int dataName)=0
 
virtual void BuildPyramid (GLTexInput *input)=0
 
virtual void ResizePyramid (int w, int h)=0
 
virtual void InitPyramid (int w, int h, int ds=0)=0
 
virtual void DetectKeypointsEX ()=0
 
virtual void ComputeGradient ()=0
 
virtual void GetFeatureOrientations ()=0
 
virtual void GetSimplifiedOrientation ()=0
 
virtual int IsUsingRectDescription ()
 
void SetFailStatus ()
 inline functions, shared by all implementations More...
 
int GetSucessStatus ()
 
int GetFeatureNum ()
 
int GetHistLevelNum ()
 
const GLuint * GetFeatureDipslayVBO ()
 
const GLuint * GetPointDisplayVBO ()
 
const int * GetLevelFeatureNum ()
 
void GetPyramidTiming (float *timing)
 
void CleanupBeforeSIFT ()
 
 SiftPyramid (SiftParam &sp)
 
virtual ~SiftPyramid ()
 

Static Public Member Functions

static void InterlaceDescriptorF2 (int w, int h, float *buf, float *pd, int step)
 
static void NormalizeDescriptor (int num, float *pd)
 
- Static Public Member Functions inherited from SiftPyramid
static int GetRequiredOctaveNum (int inputsz)
 
- Static Public Member Functions inherited from GlobalUtil
static double CLOCK ()
 
static void StopTimer ()
 
static void StartTimer (const char *event)
 
static float GetElapsedTime ()
 
static void FitViewPort (int width, int height)
 
static void SetTextureParameter ()
 
static void SetTextureParameterUS ()
 
static void CheckErrorsGL (const char *location=NULL)
 
static bool CheckFramebufferStatus ()
 
static void SelectDisplay ()
 
static void InitGLParam (int NotTargetGL=0)
 
static void SetGLParam ()
 
static int CreateWindowEZ ()
 
static void CleanupOpenGL ()
 
static void SetDeviceParam (int argc, char **argv)
 
static int CreateWindowEZ (LiteWindow *window)
 

Protected Attributes

GLTexImage_histoPyramidTex
 
GLTexImage_featureTex
 
GLTexImage_descriptorTex
 
GLTexImage_orientationTex
 
- Protected Attributes inherited from SiftPyramid
SiftParamparam
 
int _hpLevelNum
 
int * _levelFeatureNum
 
int _featureNum
 
float * _histo_buffer
 
int _existing_keypoints
 
vector< int > _keypoint_index
 
GLuint * _featureDisplayVBO
 
GLuint * _featurePointVBO
 

Additional Inherited Members

- Public Types inherited from SiftPyramid
enum  {
  DATA_GAUSSIAN = 0 , DATA_DOG = 1 , DATA_KEYPOINT = 2 , DATA_GRAD = 3 ,
  DATA_ROT = 4 , DATA_NUM = 5
}
 
enum  { SIFT_SKIP_FILTERING = 0x01 , SIFT_SKIP_DETECTION = 0x02 , SIFT_SKIP_ORIENTATION = 0x04 , SIFT_RECT_DESCRIPTION = 0x08 }
 
- Public Attributes inherited from SiftPyramid
float _timing [8]
 
int _octave_min
 
int _octave_num
 
int _pyramid_octave_num
 
int _pyramid_octave_first
 
int _pyramid_width
 
int _pyramid_height
 
int _down_sample_factor
 
int _allocated
 
int _alignment
 
int _siftgpu_failed
 
vector< float > _keypoint_buffer
 
vector< float > _descriptor_buffer
 
- Static Public Attributes inherited from GlobalParam
static GLuint _texTarget = GL_TEXTURE_RECTANGLE_ARB
 
static GLuint _iTexFormat =GL_RGBA32F_ARB
 
static int _texMaxDim = 3200
 
static int _texMaxDimGL = 4096
 
static int _texMinDim = 16
 
static int _MemCapGPU = 0
 
static int _FitMemoryCap = 0
 
static int _verbose = 1
 
static int _timingS = 1
 
static int _timingO = 0
 
static int _timingL = 0
 
static int _usePackedTex = 1
 
static int _IsNvidia = 0
 
static int _KeepShaderLoop = 0
 
static int _UseCUDA = 0
 
static int _UseOpenCL = 0
 
static int _UseDynamicIndexing = 0
 
static int _debug = 0
 
static int _MaxFilterWidth = -1
 
static float _FilterWidthFactor = 4.0f
 
static float _OrientationWindowFactor = 2.0f
 
static float _DescriptorWindowFactor = 3.0f
 
static int _MaxOrientation = 2
 
static int _OrientationPack2 = 0
 
static int _ListGenGPU = 1
 
static int _ListGenSkipGPU = 6
 
static int _SupportNVFloat = 0
 
static int _SupportTextureRG = 0
 
static int _FullSupported = 1
 
static float _MaxFeaturePercent = 0.005f
 
static int _MaxLevelFeatureNum = 4096
 
static int _DescriptorPPR = 8
 
static int _DescriptorPPT = 16
 
static int _FeatureTexBlock = 4
 
static int _NarrowFeatureTex = 0
 
static int _SubpixelLocalization = 1
 
static int _ProcessOBO = 0
 
static int _TruncateMethod = 0
 
static int _PreciseBorder = 1
 
static int _UseSiftGPUEX = 0
 
static int _ForceTightPyramid = 0
 
static int _octave_min_default =0
 
static int _octave_num_default =-1
 
static int _InitPyramidWidth =0
 
static int _InitPyramidHeight =0
 
static int _PreProcessOnCPU = 1
 
static int _GoodOpenGL = -1
 
static int _FixedOrientation = 0
 
static int _LoweOrigin = 0
 
static int _ExitAfterSIFT = 0
 
static int _NormalizedSIFT = 1
 
static int _BinarySIFT = 0
 
static int _KeepExtremumSign = 0
 
static int _FeatureCountThreshold = -1
 
static int _KeyPointListForceLevel0 = 0
 
static int _DarknessAdaption = 0
 
static float _OrientationExtraFactor
 
static float _OrientationGaussianFactor = 1.5f
 
static float _MulitiOrientationThreshold = 0.8f
 
static int _WindowInitX = -1
 
static int _WindowInitY = -1
 
static const char * _WindowDisplay = NULL
 
static int _DeviceIndex = 0
 

Detailed Description

Definition at line 35 of file PyramidGL.h.

Constructor & Destructor Documentation

◆ PyramidGL()

PyramidGL::PyramidGL ( SiftParam sp)

◆ ~PyramidGL()

PyramidGL::~PyramidGL ( )
virtual

Member Function Documentation

◆ CleanUpAfterSIFT()

void PyramidGL::CleanUpAfterSIFT ( )
virtual

◆ DestroyPerLevelData()

◆ DestroySharedData()

void PyramidGL::DestroySharedData ( )
virtual

◆ DownloadKeypoints()

◆ GenerateFeatureDisplayVBO()

◆ GenerateFeatureListTex()

◆ GetAlignedStorageSize()

void PyramidGL::GetAlignedStorageSize ( int  num,
int  align,
int &  fw,
int &  fh 
)

◆ GetBaseLevel()

virtual GLTexImage* PyramidGL::GetBaseLevel ( int  octave,
int  dataName = DATA_GAUSSIAN 
)
pure virtual

◆ GetFeatureDescriptors()

◆ GetTextureStorageSize()

void PyramidGL::GetTextureStorageSize ( int  num,
int &  fw,
int &  fh 
)

◆ InitializeContext()

void PyramidGL::InitializeContext ( )

◆ InterlaceDescriptorF2()

void PyramidGL::InterlaceDescriptorF2 ( int  w,
int  h,
float *  buf,
float *  pd,
int  step 
)
inlinestatic

Definition at line 1583 of file PyramidGL.cpp.

References GlobalParam::_DescriptorPPR.

Referenced by GetFeatureDescriptors().

◆ NormalizeDescriptor()

void PyramidGL::NormalizeDescriptor ( int  num,
float *  pd 
)
inlinestatic

Definition at line 1541 of file PyramidGL.cpp.

References min().

Referenced by GetFeatureDescriptors().

◆ ReshapeFeatureListCPU()

◆ ResizeFeatureStorage()

◆ SetLevelFeatureNum()

Member Data Documentation

◆ _descriptorTex

GLTexImage* PyramidGL::_descriptorTex
protected

◆ _featureTex

◆ _histoPyramidTex

GLTexImage* PyramidGL::_histoPyramidTex
protected

◆ _orientationTex


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