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


Public Member Functions | |
| PyramidPacked (SiftParam &sp) | |
| ~PyramidPacked () | |
| void | DestroyPyramidData () |
| void | DetectKeypointsEX () |
| void | ComputeGradient () |
| void | BuildPyramid (GLTexInput *input) |
| void | InitPyramid (int w, int h, int ds) |
| void | FitPyramid (int w, int h) |
| void | ResizePyramid (int w, int h) |
| void | FitHistogramPyramid () |
| void | GenerateFeatureListCPU () |
| void | GenerateFeatureList () |
| void | GetSimplifiedOrientation () |
| void | GetFeatureOrientations () |
| GLTexImage * | GetBaseLevel (int octave, int dataName=DATA_GAUSSIAN) |
| GLTexImage * | GetLevelTexture (int octave, int level) |
| GLTexImage * | GetLevelTexture (int octave, int level, int dataName) |
| virtual int | IsUsingRectDescription () |
Public Member Functions inherited from PyramidGL | |
| 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 () |
| 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) |
| 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 () |
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 } |
Static Public Member Functions inherited from PyramidGL | |
| 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) |
Static Public Member Functions inherited from ShaderMan | |
| static void | SelectInitialSmoothingFilter (int octave_min, SiftParam ¶m) |
| static void | UseShaderMarginCopy (int xmax, int ymax) |
| static void | UseShaderOrientation (int gtex, int width, int height, float sigma, int auxtex, float step, int keypoint_list) |
| static void | UseShaderDescriptor (int gtex, int otex, int dwidth, int fwidth, int width, int height, float sigma) |
| static void | UseShaderSimpleOrientation (int oTex, float sigma, float sigma_step) |
| static void | UseShaderCopyKeypoint () |
| static void | UseShaderGenVBO (float width, float fwidth, float size) |
| static void | UseShaderDebug () |
| static void | UseShaderZeroPass () |
| static void | UseShaderGenListStart (float fw, int tex0) |
| static void | UseShaderGenListStep (int tex, int tex0) |
| static void | UseShaderGenListEnd (int ktex) |
| static void | UseShaderGenListHisto () |
| static void | UseShaderGenListInit (int w, int h, int tight=1) |
| static void | UseShaderKeypoint (int texU, int texD) |
| static void | UseShaderGradientPass (int texP=0) |
| static void | UseShaderDisplayKeypoints () |
| static void | UseShaderDisplayGrad () |
| static void | UseShaderRGB2Gray () |
| static void | UseShaderDisplayDOG () |
| static void | UseShaderDisplayGaussian () |
| static void | FilterInitialImage (GLTexImage *tex, GLTexImage *buf) |
| static void | FilterSampledImage (GLTexImage *tex, GLTexImage *buf) |
| static void | FilterImage (FilterProgram *filter, GLTexImage *dst, GLTexImage *src, GLTexImage *tmp) |
| static void | TextureCopy (GLTexImage *dst, GLTexImage *src) |
| static void | TextureDownSample (GLTexImage *dst, GLTexImage *src, int scale=2) |
| static void | TextureUpSample (GLTexImage *dst, GLTexImage *src, int scale) |
| static void | InitShaderMan (SiftParam ¶m) |
| static void | DestroyShaders () |
| static int | HaveShaderMan () |
| static void | UnloadProgram () |
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 |
Static Public Attributes inherited from ShaderMan | |
| static ShaderBag * | s_bag = NULL |
Protected Attributes inherited from PyramidGL | |
| GLTexImage * | _histoPyramidTex |
| GLTexImage * | _featureTex |
| GLTexImage * | _descriptorTex |
| GLTexImage * | _orientationTex |
Protected Attributes inherited from SiftPyramid | |
| SiftParam & | param |
| int | _hpLevelNum |
| int * | _levelFeatureNum |
| int | _featureNum |
| float * | _histo_buffer |
| int | _existing_keypoints |
| vector< int > | _keypoint_index |
| GLuint * | _featureDisplayVBO |
| GLuint * | _featurePointVBO |
Definition at line 93 of file PyramidGL.h.
| PyramidPacked::PyramidPacked | ( | SiftParam & | sp | ) |
Definition at line 1935 of file PyramidGL.cpp.
References NULL.
| PyramidPacked::~PyramidPacked | ( | ) |
Definition at line 1940 of file PyramidGL.cpp.
References DestroyPyramidData().
|
virtual |
Implements SiftPyramid.
Definition at line 1948 of file PyramidGL.cpp.
References SiftParam::_level_ds, SiftParam::_level_max, SiftParam::_level_min, SiftPyramid::_octave_min, SiftPyramid::_octave_num, GlobalParam::_timingS, SiftPyramid::DATA_DOG, ShaderBag::f_gaussian_step, ShaderMan::FilterImage(), ShaderMan::FilterInitialImage(), ShaderMan::FilterSampledImage(), GLTexImage::FitTexViewPort(), GetBaseLevel(), GetLevelTexture(), LEVEL_FINISH, OCTAVE_FINISH, OCTAVE_START, SiftPyramid::param, ShaderMan::s_bag, ShaderMan::TextureDownSample(), ShaderMan::TextureUpSample(), ShaderMan::UnloadProgram(), and USE_TIMING.
|
virtual |
Implements SiftPyramid.
Definition at line 1995 of file PyramidGL.cpp.
References SiftParam::_dog_level_num, SiftPyramid::_octave_min, SiftPyramid::_octave_num, GlobalParam::_timingS, GlobalParam::_verbose, GLTexImage::AttachToFBO(), GLTexImage::BindTex(), GlobalUtil::CLOCK(), SiftPyramid::DATA_DOG, SiftPyramid::DATA_GRAD, SiftPyramid::DATA_ROT, GLTexImage::DetachFBO(), GLTexImage::DrawQuadMT4(), GLTexImage::FitTexViewPort(), GetBaseLevel(), SiftPyramid::param, FrameBufferObject::UnattachTex(), GLTexImage::UnbindMultiTex(), ShaderMan::UnloadProgram(), and ShaderMan::UseShaderGradientPass().
| void PyramidPacked::DestroyPyramidData | ( | ) |
Definition at line 2745 of file PyramidGL.cpp.
References NULL.
Referenced by ResizePyramid(), and ~PyramidPacked().
|
virtual |
Implements SiftPyramid.
Definition at line 2051 of file PyramidGL.cpp.
References GlobalParam::_DarknessAdaption, SiftPyramid::_down_sample_factor, SiftParam::_level_max, SiftParam::_level_min, SiftPyramid::_octave_min, SiftPyramid::_octave_num, GlobalParam::_timingL, GlobalParam::_timingO, GlobalParam::_timingS, GlobalParam::_verbose, GLTexImage::AttachToFBO(), GLTexImage::BindTex(), GlobalUtil::CheckErrorsGL(), GlobalUtil::CLOCK(), SiftPyramid::DATA_DOG, SiftPyramid::DATA_GRAD, SiftPyramid::DATA_KEYPOINT, SiftPyramid::DATA_ROT, GLTexImage::DetachFBO(), GLTexImage::DrawQuadMT4(), GLTexImage::DrawQuadMT8(), GLTexImage::FitTexViewPort(), GetBaseLevel(), SiftPyramid::param, FrameBufferObject::UnattachTex(), GLTexImage::UnbindMultiTex(), ShaderMan::UnloadProgram(), ShaderMan::UseShaderGradientPass(), and ShaderMan::UseShaderKeypoint().
| void PyramidPacked::FitHistogramPyramid | ( | ) |
Definition at line 2781 of file PyramidGL.cpp.
References PyramidGL::_histoPyramidTex, SiftPyramid::_hpLevelNum, SiftPyramid::_octave_min, SiftPyramid::_pyramid_octave_first, SiftPyramid::DATA_KEYPOINT, GetBaseLevel(), GLTexImage::GetImgHeight(), GLTexImage::GetImgWidth(), GLTexImage::SetImageSize(), and GLTexImage::ZeroHistoMargin().
Referenced by GenerateFeatureList().
| void PyramidPacked::FitPyramid | ( | int | w, |
| int | h | ||
| ) |
Definition at line 2613 of file PyramidGL.cpp.
References SiftParam::_level_max, SiftParam::_level_min, SiftPyramid::_octave_min, SiftPyramid::_octave_num, GlobalParam::_octave_num_default, SiftPyramid::_pyramid_height, SiftPyramid::_pyramid_octave_first, SiftPyramid::_pyramid_octave_num, SiftPyramid::_pyramid_width, SiftPyramid::DATA_DOG, SiftPyramid::DATA_GRAD, SiftPyramid::DATA_KEYPOINT, SiftPyramid::DATA_ROT, GetBaseLevel(), SiftPyramid::GetRequiredOctaveNum(), min(), SiftPyramid::param, and GLTexImage::SetImageSize().
Referenced by InitPyramid().
|
virtual |
Implements SiftPyramid.
Definition at line 2317 of file PyramidGL.cpp.
References SiftParam::_dog_level_num, SiftPyramid::_down_sample_factor, GlobalParam::_FeatureCountThreshold, SiftPyramid::_featureNum, SiftPyramid::_levelFeatureNum, SiftPyramid::_octave_min, GlobalParam::_timingO, GlobalParam::_timingS, GlobalParam::_TruncateMethod, GlobalParam::_verbose, GlobalUtil::CLOCK(), FitHistogramPyramid(), FOR_EACH_LEVEL, FOR_EACH_OCTAVE, and SiftPyramid::param.
|
virtual |
Implements SiftPyramid.
Definition at line 2370 of file PyramidGL.cpp.
References SiftParam::_dog_level_num, SiftPyramid::_featureNum, PyramidGL::_featureTex, GlobalParam::_KeepExtremumSign, SiftPyramid::_levelFeatureNum, SiftPyramid::_octave_min, SiftPyramid::_octave_num, GlobalParam::_texTarget, GlobalParam::_timingL, GlobalParam::_verbose, GLTexImage::AttachToFBO(), GLTexImage::BindTex(), SiftPyramid::DATA_KEYPOINT, fabs(), GetBaseLevel(), GLTexImage::GetDrawHeight(), GLTexImage::GetDrawWidth(), GLTexImage::GetImgHeight(), GLTexImage::GetImgWidth(), GLTexImage::GetTexHeight(), GLTexImage::GetTexWidth(), SiftPyramid::param, PyramidGL::SetLevelFeatureNum(), and GLTexImage::UnbindTex().
|
virtual |
Implements PyramidGL.
Definition at line 2772 of file PyramidGL.cpp.
References SiftParam::_level_num, SiftPyramid::_octave_min, SiftPyramid::_octave_num, SiftPyramid::_pyramid_octave_first, SiftPyramid::_pyramid_octave_num, NULL, offset, and SiftPyramid::param.
Referenced by BuildPyramid(), ComputeGradient(), DetectKeypointsEX(), FitHistogramPyramid(), FitPyramid(), GenerateFeatureListCPU(), GetFeatureOrientations(), GetSimplifiedOrientation(), and ResizePyramid().
|
virtual |
Implements SiftPyramid.
Definition at line 2447 of file PyramidGL.cpp.
References SiftParam::_dog_level_num, SiftPyramid::_existing_keypoints, PyramidGL::_featureTex, SiftParam::_level_min, SiftPyramid::_levelFeatureNum, SiftPyramid::_octave_min, SiftPyramid::_octave_num, PyramidGL::_orientationTex, GlobalParam::_timingS, GLTexImage::AttachToFBO(), GlobalUtil::CheckFramebufferStatus(), count, SiftPyramid::DATA_GRAD, SiftPyramid::DATA_ROT, GetBaseLevel(), SiftParam::GetLevelSigma(), SiftPyramid::param, FrameBufferObject::UnattachTex(), GLTexImage::UnbindMultiTex(), and ShaderMan::UseShaderOrientation().
|
virtual |
Implements SiftPyramid.
Definition at line 2763 of file PyramidGL.cpp.
References SiftParam::_level_min, SiftParam::_level_num, SiftPyramid::_octave_min, SiftPyramid::_pyramid_octave_first, and SiftPyramid::param.
Referenced by BuildPyramid().
|
virtual |
Implements SiftPyramid.
Definition at line 2755 of file PyramidGL.cpp.
References SiftParam::_level_min, SiftParam::_level_num, SiftPyramid::_octave_min, SiftPyramid::_pyramid_octave_first, SiftPyramid::_pyramid_octave_num, and SiftPyramid::param.
|
virtual |
Implements SiftPyramid.
Definition at line 2506 of file PyramidGL.cpp.
References SiftParam::_dog_level_num, PyramidGL::_featureTex, SiftParam::_level_min, SiftPyramid::_levelFeatureNum, SiftPyramid::_octave_min, SiftPyramid::_octave_num, GLTexImage::BindTex(), SiftPyramid::DATA_ROT, GetBaseLevel(), SiftParam::GetLevelSigma(), GLTexImage::GetTexID(), SiftPyramid::param, GLTexImage::UnbindMultiTex(), and ShaderMan::UseShaderSimpleOrientation().
|
virtual |
Implements SiftPyramid.
Definition at line 2539 of file PyramidGL.cpp.
References SiftPyramid::_allocated, SiftPyramid::_down_sample_factor, GlobalParam::_FitMemoryCap, GlobalParam::_ForceTightPyramid, GlobalParam::_MemCapGPU, SiftPyramid::_octave_min, GlobalParam::_octave_min_default, SiftPyramid::_pyramid_height, SiftPyramid::_pyramid_width, GlobalParam::_texMaxDim, GlobalParam::_verbose, FitPyramid(), max(), SiftPyramid::param, ResizePyramid(), and ShaderMan::SelectInitialSmoothingFilter().
|
inlinevirtual |
Reimplemented from SiftPyramid.
Definition at line 114 of file PyramidGL.h.
References SiftPyramid::_existing_keypoints, and SiftPyramid::SIFT_RECT_DESCRIPTION.
|
virtual |
Implements SiftPyramid.
Definition at line 2661 of file PyramidGL.cpp.
References SiftPyramid::_allocated, SiftParam::_level_num, SiftPyramid::_octave_min, SiftPyramid::_octave_num, GlobalParam::_octave_num_default, SiftPyramid::_pyramid_height, SiftPyramid::_pyramid_octave_first, SiftPyramid::_pyramid_octave_num, SiftPyramid::_pyramid_width, GlobalParam::_texMaxDim, GlobalParam::_timingS, GlobalParam::_verbose, SiftPyramid::DATA_DOG, SiftPyramid::DATA_GAUSSIAN, SiftPyramid::DATA_GRAD, SiftPyramid::DATA_KEYPOINT, SiftPyramid::DATA_NUM, SiftPyramid::DATA_ROT, PyramidGL::DestroyPerLevelData(), DestroyPyramidData(), QtCompat::endl(), GetBaseLevel(), SiftPyramid::GetRequiredOctaveNum(), GLTexImage::InitTexture(), GLTexPacked::InitTexture(), min(), NULL, SiftPyramid::param, and PyramidGL::ResizeFeatureStorage().
Referenced by InitPyramid().