Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #include "SurfExtractorBase.h"
00009
00010
00011 #include <cmath>
00012 #include <sstream>
00013 #include <float.h>
00014
00015 #include "Architecture/Config/Config.h"
00016
00017 #define THIS SurfExtractorBase
00018
00019 #define FULL_DEBUG
00020
00021 using namespace std;
00022
00023 THIS::THIS( )
00024 {
00025 m_IndexSize = Config::getInt ( "KeyPointExtraction.Surf.iIndexSize" );
00026 m_SamplingStep = Config::getInt ( "KeyPointExtraction.Surf.iSamplingStep" );
00027 m_Octaves = Config::getInt ( "KeyPointExtraction.Surf.iOctaves" );
00028 m_BlobResponseThreshold = Config::getFloat ( "KeyPointExtraction.Surf.fBlobResponseThreshold" );
00029 m_InitLobeSize = Config::getInt ( "KeyPointExtraction.Surf.iInitLobeSize" );
00030 m_RotationInvariance = Config::getBool ( "KeyPointExtraction.Surf.bRotationInvariance" );
00031 m_Extended = Config::getBool ( "KeyPointExtraction.Surf.bExtended" );
00032 }
00033
00034
00035 THIS::~THIS()
00036 {
00037 }
00038
00039
00040 THIS::THIS ( const SurfExtractorBase& other ) : KeyPointExtractor ( other )
00041 {
00042 *this = other;
00043 }
00044
00045
00046
00047 SurfExtractorBase& THIS::operator= ( const SurfExtractorBase & other )
00048 {
00049 m_IndexSize = other.m_IndexSize;
00050 m_SamplingStep = other.m_SamplingStep;
00051 m_Octaves = other.m_Octaves;
00052 m_BlobResponseThreshold = other.m_BlobResponseThreshold;
00053 m_InitLobeSize = other.m_InitLobeSize;
00054 m_RotationInvariance = other.m_RotationInvariance;
00055 m_Extended = other.m_Extended;
00056 return *this;
00057 }
00058
00059
00060
00061 void THIS::setSamplingStep ( int newValue )
00062 {
00063 m_SamplingStep = newValue;
00064 };
00065
00066 void THIS::setOctaves ( int newValue )
00067 {
00068 m_Octaves = newValue;
00069 };
00070
00071 void THIS::setBlobResponseThreshold ( double newValue )
00072 {
00073 m_BlobResponseThreshold = newValue;
00074 };
00075
00076 void THIS::setInitLobeSize ( int newValue )
00077 {
00078 m_InitLobeSize = newValue;
00079 };
00080
00081 void THIS::setRotationInvariance ( bool newValue )
00082 {
00083 m_RotationInvariance = newValue;
00084 };
00085
00086 void THIS::setExtended ( bool newValue )
00087 {
00088 m_Extended = newValue;
00089 };
00090
00091 std::string THIS::getDescription()
00092 {
00093 ostringstream s;
00094 s << "SURF Parameters:" << endl << "----------------" << endl;
00095
00096 s << endl << "m_IndexSize: " << m_IndexSize;
00097 s << endl << "m_SamplingStep: " << m_SamplingStep;
00098 s << endl << "m_Octaves: " << m_Octaves;
00099 s << endl << "m_BlobResponseThreshold: " << m_BlobResponseThreshold;
00100 s << endl << "m_InitLobeSize: " << m_InitLobeSize;
00101 s << endl << "m_RotationInvariance: " << m_RotationInvariance;
00102 s << endl << "m_Extended: " << m_Extended;
00103
00104 s << endl << endl;
00105
00106 return s.str();
00107 }
00108
00109
00110 #undef THIS
00111