00001 /* Import from Gabor API 00002 00003 Copyright (c) 2002-3 Adriaan Tijsseling 00004 00005 00006 All Rights Reserved 00007 00008 This program is free software; you can redistribute it and/or modify 00009 it under the terms of the GNU General Public License as published by 00010 the Free Software Foundation; either version 2 of the License, or 00011 (at your option) any later version. 00012 00013 This program is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 GNU General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with this program. If not, see <http://www.gnu.org/licenses/>. 00020 */ 00021 00022 /* 00023 Description: Class definition for a Gabor Jet 00024 Author: Adriaan Tijsseling (AGT) 00025 Copyright: (c) Copyright 2002 Adriaan Tijsseling. All rights reserved. 00026 Change History (most recent first): 00027 18/04/2002 - AGT - initial version 00028 */ 00029 00030 #ifndef __GABORJET__ 00031 #define __GABORJET__ 00032 00033 #include <cstring> 00034 #include "GaborGlobal.h" 00035 #include "GaborFilter.h" 00036 00037 namespace celeste 00038 { 00039 class GaborJet 00040 { 00041 public: 00042 00043 GaborJet(); 00044 ~GaborJet(); 00045 00046 void Initialize( int y, int x, int x0, int y0, int r, float s = 2.0, int f = 2, 00047 float maxF = 2, float minF = 1, int a = 8, bool save = false ); 00048 void Filter( float** image, int* len ); 00049 float GetResponse( int idx ) { return mFiducials[idx]; } 00050 00051 inline void SetFileName( char* file ) { strcpy( mFile, file ); } 00052 00053 protected: 00054 00055 bool mShowFilter;// indicates whether to save images of used filters 00056 int mHeight; // vertical size of image 00057 int mWidth; // horizontal size of image 00058 int mX; // origin of Gabor Jet 00059 int mY; 00060 float mSigma; // modulator for standard deviation sigma 00061 int mAngles; // number of orientations 00062 int mFreqs; // number of frequencies 00063 int mRadius; // radius of filter 00064 float mMinFreq; // minimum frequency 00065 float mMaxFreq; // maximum frequency 00066 GaborFilter** mFilters; // set of filters in use 00067 float* mFiducials; // vector with Gabor responses at center 00068 char mFile[256]; // filename 00069 }; 00070 } //namespace 00071 #endif 00072
1.3.9.1