00001 #ifndef __Abs1DMapping__
00002 #define __Abs1DMapping__
00003 
00027 #include <stdio.h>
00028 
00029 
00030 #include "AnImage.hpp"
00031 #include "RealVector.hpp"
00032 
00033 class Abs1DMapping 
00034 {
00035 protected:
00036 
00037 bool            normalisation;
00038 double  shift;          
00039 
00040 public:
00041         
00042 Abs1DMapping(bool normalized=false, double biased=0.5){normalisation=normalized; shift=biased;}
00043 virtual ~Abs1DMapping(){}
00044 
00045 virtual RealVector* generate(AnImage* src, RealVector* map)=0;
00046 virtual RealVector* generate(AnImage* src, RealVector* map, int channel)=0;
00047 
00048 virtual AnImage* generateInv(RealVector* src, int w, int h, AnImage* dest)=0;
00049 virtual AnImage* generateInv(RealVector* src, int w, int h, int chMax, int ch, AnImage* dest)=0;
00050 
00051 virtual void report(FILE* file){}
00052 };
00053 
00054 #endif