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 // temporary results 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