Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

ContrastFunctionFactory.hpp

00001 #ifndef __ContrastFunctionFactory__
00002 #define __ContrastFunctionFactory__
00003 
00004 
00005 
00026 #include <stdio.h>
00027 
00028 #include "AContrastFunction.hpp"
00029 
00030 #define NUMBER_CONTRASTFUNC_CONTEXT 3
00031 #define NUMBER_CONTRASTFUNC_MODELS 3
00032 
00033 class ContrastFunctionFactory
00034 {
00035 public:
00036 
00037 const static char       context[NUMBER_CONTRASTFUNC_CONTEXT][64]; 
00038 const static char       model[NUMBER_CONTRASTFUNC_MODELS][64]; 
00039 const static int        modelContext[NUMBER_CONTRASTFUNC_MODELS]; 
00040 
00041 protected:
00042 
00043 AContrastFunction* createSuperGaussian(double a);
00044 AContrastFunction* createHyperGaussian(double a);
00045 AContrastFunction* createSubGaussian();
00046 
00047 public:
00048         
00049 ContrastFunctionFactory(){}
00050 virtual ~ContrastFunctionFactory(){}
00051 
00052 static int numberOfContexts(){ return NUMBER_CONTRASTFUNC_CONTEXT; }
00053 static int numberOfModels(){ return NUMBER_CONTRASTFUNC_MODELS; }
00054 
00055 static const char*      getContext(int i){ return ContrastFunctionFactory::context[getModelContext(i)]; }
00056 static const char*      getModel(int i){ return ContrastFunctionFactory::model[i]; }
00057 static const int        getModelContext(int i){ return ContrastFunctionFactory::modelContext[i]; }
00058 
00059 AContrastFunction* createModel(int indexModel=0, double a=1.0);
00060 
00061 virtual void report(FILE* file){}
00062 };
00063 
00064 
00065 
00066 #endif
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com