![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <SiftPyramid.h>


Public Types | |
| 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 Member Functions | |
| 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 | GetFeatureDescriptors ()=0 |
| virtual void | GenerateFeatureListTex ()=0 |
| virtual void | ReshapeFeatureListCPU ()=0 |
| virtual void | GenerateFeatureDisplayVBO ()=0 |
| virtual void | DownloadKeypoints ()=0 |
| virtual void | GenerateFeatureListCPU ()=0 |
| virtual void | GenerateFeatureList ()=0 |
| virtual GLTexImage * | GetLevelTexture (int octave, int level)=0 |
| virtual GLTexImage * | GetLevelTexture (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 void | CleanUpAfterSIFT () |
| 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 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) |
Public Attributes | |
| 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 |
Protected Attributes | |
| SiftParam & | param |
| int | _hpLevelNum |
| int * | _levelFeatureNum |
| int | _featureNum |
| float * | _histo_buffer |
| int | _existing_keypoints |
| vector< int > | _keypoint_index |
| GLuint * | _featureDisplayVBO |
| GLuint * | _featurePointVBO |
Additional Inherited Members | |
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 |
Definition at line 49 of file SiftPyramid.h.
| anonymous enum |
| Enumerator | |
|---|---|
| DATA_GAUSSIAN | |
| DATA_DOG | |
| DATA_KEYPOINT | |
| DATA_GRAD | |
| DATA_ROT | |
| DATA_NUM | |
Definition at line 52 of file SiftPyramid.h.
| anonymous enum |
| Enumerator | |
|---|---|
| SIFT_SKIP_FILTERING | |
| SIFT_SKIP_DETECTION | |
| SIFT_SKIP_ORIENTATION | |
| SIFT_RECT_DESCRIPTION | |
Definition at line 60 of file SiftPyramid.h.
|
inline |
Definition at line 144 of file SiftPyramid.h.
References _alignment, _allocated, _down_sample_factor, _existing_keypoints, _featureDisplayVBO, _featureNum, _featurePointVBO, _histo_buffer, _hpLevelNum, _levelFeatureNum, _octave_min, _octave_num, _pyramid_height, _pyramid_octave_first, _pyramid_octave_num, _pyramid_width, and NULL.
|
inlinevirtual |
Definition at line 165 of file SiftPyramid.h.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
inlinevirtual |
Reimplemented in PyramidGL.
Definition at line 126 of file SiftPyramid.h.
|
inline |
Definition at line 139 of file SiftPyramid.h.
References _siftgpu_failed, and _timing.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
virtual |
Definition at line 238 of file SiftPyramid.cpp.
References descriptors.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
pure virtual |
Implemented in PyramidGL.
|
pure virtual |
Implemented in PyramidGL.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
pure virtual |
Implemented in PyramidGL.
|
pure virtual |
Implemented in PyramidGL.
|
inline |
Definition at line 135 of file SiftPyramid.h.
References _featureDisplayVBO.
|
inline |
Definition at line 133 of file SiftPyramid.h.
References _featureNum.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
inline |
Definition at line 134 of file SiftPyramid.h.
References _hpLevelNum.
|
inline |
Definition at line 137 of file SiftPyramid.h.
References _levelFeatureNum.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
inline |
Definition at line 136 of file SiftPyramid.h.
References _featurePointVBO.
|
inline |
Definition at line 138 of file SiftPyramid.h.
References _timing.
|
static |
Definition at line 230 of file SiftPyramid.cpp.
References GlobalParam::_texMinDim, and cloudViewer::utility::floor().
Referenced by PyramidNaive::FitPyramid(), PyramidPacked::FitPyramid(), PyramidNaive::ResizePyramid(), and PyramidPacked::ResizePyramid().
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
inline |
Definition at line 132 of file SiftPyramid.h.
References _siftgpu_failed.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
inlinevirtual |
Reimplemented in PyramidPacked.
Definition at line 127 of file SiftPyramid.h.
Referenced by PyramidGL::GenerateFeatureListTex(), and PyramidGL::GetFeatureDescriptors().
|
pure virtual |
Implemented in PyramidGL.
|
pure virtual |
Implemented in PyramidPacked, and PyramidNaive.
|
virtual |
Definition at line 49 of file SiftPyramid.cpp.
References GlobalParam::_DescriptorPPT, GlobalParam::_FixedOrientation, GlobalParam::_ListGenGPU, GlobalParam::_MaxOrientation, GlobalParam::_UseSiftGPUEX, GlobalUtil::GetElapsedTime(), GlobalUtil::StartTimer(), and GlobalUtil::StopTimer().
|
virtual |
Definition at line 264 of file SiftPyramid.cpp.
References GlobalParam::_BinarySIFT.
|
inline |
inline functions, shared by all implementations
Definition at line 131 of file SiftPyramid.h.
References _siftgpu_failed.
|
virtual |
copy the keypoints
Definition at line 244 of file SiftPyramid.cpp.
| int SiftPyramid::_alignment |
Definition at line 93 of file SiftPyramid.h.
Referenced by PyramidGL::GenerateFeatureDisplayVBO(), PyramidGL::ResizeFeatureStorage(), and SiftPyramid().
| int SiftPyramid::_allocated |
Definition at line 92 of file SiftPyramid.h.
Referenced by PyramidNaive::InitPyramid(), PyramidPacked::InitPyramid(), PyramidNaive::ResizePyramid(), PyramidPacked::ResizePyramid(), and SiftPyramid().
| vector<float> SiftPyramid::_descriptor_buffer |
Definition at line 97 of file SiftPyramid.h.
Referenced by PyramidGL::GetFeatureDescriptors().
| int SiftPyramid::_down_sample_factor |
Definition at line 91 of file SiftPyramid.h.
Referenced by PyramidNaive::DetectKeypointsEX(), PyramidPacked::DetectKeypointsEX(), PyramidGL::DownloadKeypoints(), PyramidNaive::GenerateFeatureList(), PyramidPacked::GenerateFeatureList(), PyramidGL::GenerateFeatureListTex(), PyramidNaive::InitPyramid(), PyramidPacked::InitPyramid(), PyramidGL::ReshapeFeatureListCPU(), and SiftPyramid().
|
protected |
Definition at line 73 of file SiftPyramid.h.
Referenced by PyramidNaive::GetFeatureOrientations(), PyramidPacked::GetFeatureOrientations(), PyramidPacked::IsUsingRectDescription(), PyramidGL::ReshapeFeatureListCPU(), and SiftPyramid().
|
protected |
Definition at line 76 of file SiftPyramid.h.
Referenced by PyramidGL::DestroyPerLevelData(), PyramidGL::GenerateFeatureDisplayVBO(), GetFeatureDipslayVBO(), and SiftPyramid().
|
protected |
Definition at line 70 of file SiftPyramid.h.
Referenced by PyramidGL::DownloadKeypoints(), PyramidNaive::GenerateFeatureList(), PyramidPacked::GenerateFeatureList(), PyramidNaive::GenerateFeatureListCPU(), PyramidPacked::GenerateFeatureListCPU(), PyramidGL::GenerateFeatureListTex(), PyramidGL::GetFeatureDescriptors(), GetFeatureNum(), PyramidGL::ReshapeFeatureListCPU(), and SiftPyramid().
|
protected |
Definition at line 77 of file SiftPyramid.h.
Referenced by PyramidGL::DestroyPerLevelData(), PyramidGL::GenerateFeatureDisplayVBO(), GetPointDisplayVBO(), and SiftPyramid().
|
protected |
Definition at line 71 of file SiftPyramid.h.
Referenced by PyramidGL::DestroySharedData(), PyramidGL::ResizeFeatureStorage(), and SiftPyramid().
|
protected |
Definition at line 68 of file SiftPyramid.h.
Referenced by PyramidGL::DestroySharedData(), PyramidNaive::FitHistogramPyramid(), PyramidPacked::FitHistogramPyramid(), GetHistLevelNum(), PyramidGL::ResizeFeatureStorage(), and SiftPyramid().
| vector<float> SiftPyramid::_keypoint_buffer |
Definition at line 96 of file SiftPyramid.h.
Referenced by PyramidGL::DownloadKeypoints(), PyramidGL::GenerateFeatureListTex(), and PyramidGL::ReshapeFeatureListCPU().
|
protected |
Definition at line 74 of file SiftPyramid.h.
Referenced by PyramidGL::DownloadKeypoints(), PyramidGL::GenerateFeatureListTex(), and PyramidGL::GetFeatureDescriptors().
|
protected |
Definition at line 69 of file SiftPyramid.h.
Referenced by PyramidGL::DestroyPerLevelData(), PyramidGL::DownloadKeypoints(), PyramidGL::GenerateFeatureDisplayVBO(), PyramidNaive::GenerateFeatureList(), PyramidPacked::GenerateFeatureList(), PyramidNaive::GenerateFeatureListCPU(), PyramidPacked::GenerateFeatureListCPU(), PyramidGL::GenerateFeatureListTex(), PyramidGL::GetFeatureDescriptors(), PyramidNaive::GetFeatureOrientations(), PyramidPacked::GetFeatureOrientations(), GetLevelFeatureNum(), PyramidNaive::GetSimplifiedOrientation(), PyramidPacked::GetSimplifiedOrientation(), PyramidGL::ReshapeFeatureListCPU(), PyramidGL::ResizeFeatureStorage(), and SiftPyramid().
| int SiftPyramid::_octave_min |
Definition at line 83 of file SiftPyramid.h.
Referenced by PyramidNaive::BuildPyramid(), PyramidPacked::BuildPyramid(), PyramidNaive::ComputeGradient(), PyramidPacked::ComputeGradient(), PyramidNaive::DetectKeypointsEX(), PyramidPacked::DetectKeypointsEX(), PyramidGL::DownloadKeypoints(), PyramidNaive::FitHistogramPyramid(), PyramidPacked::FitHistogramPyramid(), PyramidNaive::FitPyramid(), PyramidPacked::FitPyramid(), PyramidNaive::GenerateFeatureList(), PyramidPacked::GenerateFeatureList(), PyramidNaive::GenerateFeatureListCPU(), PyramidPacked::GenerateFeatureListCPU(), PyramidGL::GenerateFeatureListTex(), PyramidNaive::GetBaseLevel(), PyramidPacked::GetBaseLevel(), PyramidGL::GetFeatureDescriptors(), PyramidNaive::GetFeatureOrientations(), PyramidPacked::GetFeatureOrientations(), PyramidNaive::GetLevelTexture(), PyramidPacked::GetLevelTexture(), PyramidNaive::GetSimplifiedOrientation(), PyramidPacked::GetSimplifiedOrientation(), PyramidNaive::InitPyramid(), PyramidPacked::InitPyramid(), PyramidGL::ReshapeFeatureListCPU(), PyramidGL::ResizeFeatureStorage(), PyramidNaive::ResizePyramid(), PyramidPacked::ResizePyramid(), and SiftPyramid().
| int SiftPyramid::_octave_num |
Definition at line 85 of file SiftPyramid.h.
Referenced by PyramidNaive::BuildPyramid(), PyramidPacked::BuildPyramid(), PyramidNaive::ComputeGradient(), PyramidPacked::ComputeGradient(), PyramidGL::DestroyPerLevelData(), PyramidNaive::DetectKeypointsEX(), PyramidPacked::DetectKeypointsEX(), PyramidGL::DownloadKeypoints(), PyramidNaive::FitPyramid(), PyramidPacked::FitPyramid(), PyramidGL::GenerateFeatureDisplayVBO(), PyramidNaive::GenerateFeatureListCPU(), PyramidPacked::GenerateFeatureListCPU(), PyramidGL::GenerateFeatureListTex(), PyramidNaive::GetBaseLevel(), PyramidPacked::GetBaseLevel(), PyramidGL::GetFeatureDescriptors(), PyramidNaive::GetFeatureOrientations(), PyramidPacked::GetFeatureOrientations(), PyramidNaive::GetLevelTexture(), PyramidNaive::GetSimplifiedOrientation(), PyramidPacked::GetSimplifiedOrientation(), PyramidGL::ReshapeFeatureListCPU(), PyramidGL::ResizeFeatureStorage(), PyramidNaive::ResizePyramid(), PyramidPacked::ResizePyramid(), and SiftPyramid().
| int SiftPyramid::_pyramid_height |
Definition at line 90 of file SiftPyramid.h.
Referenced by PyramidNaive::FitPyramid(), PyramidPacked::FitPyramid(), PyramidNaive::InitPyramid(), PyramidPacked::InitPyramid(), PyramidNaive::ResizePyramid(), PyramidPacked::ResizePyramid(), and SiftPyramid().
| int SiftPyramid::_pyramid_octave_first |
Definition at line 88 of file SiftPyramid.h.
Referenced by PyramidNaive::FitHistogramPyramid(), PyramidPacked::FitHistogramPyramid(), PyramidNaive::FitPyramid(), PyramidPacked::FitPyramid(), PyramidNaive::GetBaseLevel(), PyramidPacked::GetBaseLevel(), PyramidNaive::GetLevelTexture(), PyramidPacked::GetLevelTexture(), PyramidNaive::ResizePyramid(), PyramidPacked::ResizePyramid(), and SiftPyramid().
| int SiftPyramid::_pyramid_octave_num |
Definition at line 87 of file SiftPyramid.h.
Referenced by PyramidNaive::FitPyramid(), PyramidPacked::FitPyramid(), PyramidPacked::GetBaseLevel(), PyramidPacked::GetLevelTexture(), PyramidNaive::ResizePyramid(), PyramidPacked::ResizePyramid(), and SiftPyramid().
| int SiftPyramid::_pyramid_width |
Definition at line 89 of file SiftPyramid.h.
Referenced by PyramidNaive::FitPyramid(), PyramidPacked::FitPyramid(), PyramidNaive::InitPyramid(), PyramidPacked::InitPyramid(), PyramidNaive::ResizePyramid(), PyramidPacked::ResizePyramid(), and SiftPyramid().
| int SiftPyramid::_siftgpu_failed |
Definition at line 94 of file SiftPyramid.h.
Referenced by CleanupBeforeSIFT(), GetSucessStatus(), and SetFailStatus().
| float SiftPyramid::_timing[8] |
Definition at line 80 of file SiftPyramid.h.
Referenced by CleanupBeforeSIFT(), and GetPyramidTiming().
|
protected |
Definition at line 67 of file SiftPyramid.h.
Referenced by PyramidNaive::BuildPyramid(), PyramidPacked::BuildPyramid(), PyramidNaive::ComputeGradient(), PyramidPacked::ComputeGradient(), PyramidGL::DestroyPerLevelData(), PyramidNaive::DetectKeypointsEX(), PyramidPacked::DetectKeypointsEX(), PyramidGL::DownloadKeypoints(), PyramidNaive::FitPyramid(), PyramidPacked::FitPyramid(), PyramidGL::GenerateFeatureDisplayVBO(), PyramidNaive::GenerateFeatureList(), PyramidPacked::GenerateFeatureList(), PyramidNaive::GenerateFeatureListCPU(), PyramidPacked::GenerateFeatureListCPU(), PyramidGL::GenerateFeatureListTex(), PyramidNaive::GetBaseLevel(), PyramidPacked::GetBaseLevel(), PyramidGL::GetFeatureDescriptors(), PyramidNaive::GetFeatureOrientations(), PyramidPacked::GetFeatureOrientations(), PyramidNaive::GetLevelTexture(), PyramidPacked::GetLevelTexture(), PyramidNaive::GetSimplifiedOrientation(), PyramidPacked::GetSimplifiedOrientation(), PyramidGL::InitializeContext(), PyramidNaive::InitPyramid(), PyramidPacked::InitPyramid(), PyramidGL::ReshapeFeatureListCPU(), PyramidGL::ResizeFeatureStorage(), PyramidNaive::ResizePyramid(), and PyramidPacked::ResizePyramid().