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 single Gabor Filter 00024 Author: Adriaan Tijsseling (AGT) 00025 Copyright: (c) Copyright 2002-3 Adriaan Tijsseling. All rights reserved. 00026 */ 00027 00028 00029 #ifndef __GABORFILTER__ 00030 #define __GABORFILTER__ 00031 00032 #include "GaborGlobal.h" 00033 #include "PGMImage.h" 00034 00035 namespace celeste 00036 { 00037 class GaborFilter 00038 { 00039 public: 00040 00041 GaborFilter(); 00042 ~GaborFilter(); 00043 00044 void Initialize( int radius, float a, float f, float s, float p = 0 ); 00045 void Save( char* file, int angle, int freq ); 00046 00047 inline float GetReal( int x, int y ) { return mReal[x][y]; } 00048 inline float GetImaginary( int x, int y ) { return mImaginary[x][y]; } 00049 00050 protected: 00051 00052 int mXYO; // origin 00053 int mRadius; // radius of filter 00054 float mSigma; // curve of gaussian (sually set to PI) 00055 float mAngle; // orientation of filter (theta) 00056 float mPhase; // phase of filter (rho) 00057 float mFrequency; // wavelengths of filter (omega) 00058 float** mReal; // real part of filter 00059 float** mImaginary; // imaginary part of filter 00060 }; 00061 } //namespace 00062 #endif
1.3.9.1