00001 #ifndef __ARLinearColorSpaceMapping__
00002 #define __ARLinearColorSpaceMapping__
00003
00004
00005
00026 #include <stdio.h>
00027
00028 #include "AR3ChannelConverter.hpp"
00029
00030 class ARLinearColorSpaceMapping : public AR3ChannelConverter
00031 {
00032 protected:
00033
00034 double Tdata[9];
00035 double Tinvdata[9];
00036
00037 double** T;
00038 double** Tinv;
00039
00040 public:
00041
00042 ARLinearColorSpaceMapping();
00043 virtual ~ARLinearColorSpaceMapping(){delete[] T; delete[] Tinv; T=0; Tinv=0; }
00044
00045
00046 virtual void inSpaceTo(double* to1, double* to2, double* to3, double from1=0.0, double from2=0.0, double from3=0.0);
00047 virtual void outSpaceTo(double* from1, double* from2, double* from3, double to1, double to2, double to3);
00048
00049
00050 virtual Real3CImage* convert(Real3CImage* from, Real3CImage* to=0);
00051 virtual Real3CImage* revert(Real3CImage* from, Real3CImage* to=0);
00052
00053
00054 virtual void report(FILE* file){}
00055 };
00056
00057
00058 #endif