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 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

Generated on 31 Oct 2014 for Hugintrunk by  doxygen 1.4.7