00001 #ifndef __AFull2DRestorationLS__
00002 #define __AFull2DRestorationLS__
00003
00004
00025 #include <stdio.h>
00026
00027 #include "AbsFRestorationLS.hpp"
00028
00029 #include "AbsFLinearSolver.hpp"
00030
00031
00032 class AFull2DRestorationLS : public AbsFRestorationLS
00033 {
00034 protected:
00035
00036 int solverType;
00037 AbsFLinearSolver* solver;
00038
00039
00040 FloatVector* vk;
00041 FloatVector* vk1;
00042
00043 protected:
00044
00045 virtual void init(FImage* im)
00046 {
00047 AbsFRestorationLS::init(im);
00048 }
00049
00050 public:
00051 AFull2DRestorationLS(int model, int outerIter, int innerIter, double t, AFSpatialDiscretisation* smodel,
00052 bool normalized=true, bool nonLinearFlag=true);
00053 virtual ~AFull2DRestorationLS(){delete solver;}
00054
00055 virtual void setSolver(int model);
00056
00057 virtual FImage* filter(FImage* src, FImage* dest=0);
00058
00059 virtual void report(FILE* file){ fprintf(file,"Full 2D restoration\n"); }
00060 };
00061
00062
00063 #endif