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

ICMultiImageOp.hpp

00001 #ifndef __ICMultiImageOp__
00002 #define __ICMultiImageOp__
00003 
00022 #include <stdio.h>
00023 
00024 #include "AnImageOp.hpp"
00025 #include "C3CImage.hpp"
00026 
00027 class ICMultiImageOp : public AnImageOp
00028 {
00029 protected:
00030 
00031 bool                    fullColor;              // determine if full color is used
00032 
00033 int                     iterations;             // default is 50
00034 
00035 int                     ctype;          // output complex type 0=real, 1=img, 2= root
00036 
00037 protected:
00038 
00039 // mono channel
00040 
00041 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00042 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0)
00043                 { return greyFilter(src,dest); }
00044 
00045 // separate color channels
00046 
00047 virtual C3CImage* scolorFilter(C3CImage* src, C3CImage* dest=0);
00048 virtual C3CImage* scolorSelectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0)
00049                 { return scolorFilter(src,dest); }
00050 
00051 
00052 // combined color channels
00053 
00054 virtual C3CImage* fcolorFilter(C3CImage* src, C3CImage* dest=0);
00055 virtual C3CImage* fcolorSelectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0)
00056                 { return fcolorFilter(src,dest); }
00057 
00058 public:
00059 ICMultiImageOp(int iter=50, bool colorFlag= false):AnImageOp()
00060         {fullColor= colorFlag; iterations= iter; ctype=0; }
00061 virtual ~ICMultiImageOp(){}
00062 
00063 virtual void setOutType(int outType){ ctype= outType; }
00064 virtual int getOutType(){ return ctype; }
00065 
00066 
00067 virtual void setIterations(int i){ iterations=i;}
00068 
00069 virtual AnImage* filter(AnImage* src, AnImage* dest=0);
00070 virtual AnImage* selectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00071 
00072 virtual void report(FILE* file){}
00073 };
00074 
00075 
00076 #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