Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages
celeste/GaborFilter.h
Go to the documentation of this file.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 class GaborFilter 00036 { 00037 public: 00038 00039 GaborFilter(); 00040 ~GaborFilter(); 00041 00042 void Initialize( int radius, float a, float f, float s, float p = 0 ); 00043 void Save( char* file, int angle, int freq ); 00044 00045 inline float GetReal( int x, int y ) { return mReal[x][y]; } 00046 inline float GetImaginary( int x, int y ) { return mImaginary[x][y]; } 00047 00048 protected: 00049 00050 int mXYO; // origin 00051 int mRadius; // radius of filter 00052 float mSigma; // curve of gaussian (sually set to PI) 00053 float mAngle; // orientation of filter (theta) 00054 float mPhase; // phase of filter (rho) 00055 float mFrequency; // wavelengths of filter (omega) 00056 float** mReal; // real part of filter 00057 float** mImaginary; // imaginary part of filter 00058 }; 00059 00060 #endif
1.3.9.1