00001 #ifndef __F2DImplicitRestorationLS__ 00002 #define __F2DImplicitRestorationLS__ 00003 00004 00024 #include <stdio.h> 00025 00026 #include "AFull2DRestorationLS.hpp" 00027 00028 #include "AbsFLinearSolver.hpp" 00029 00030 #include "AFSymMatrix.hpp" 00031 00032 00033 class F2DImplicitRestorationLS : public AFull2DRestorationLS 00034 { 00035 protected: 00036 00037 bool cfl; 00038 00039 AFSymMatrix* Aleft; // (I-tau*B) 00040 AFSymMatrix* Aright; // (I+tau*B) 00041 00042 protected: 00043 00044 // U(k+1) <--- U(k) 00045 virtual FImage* solveSingle(FImage* uk, FImage* uk1=0); 00046 00047 public: 00048 F2DImplicitRestorationLS(int model, int outerIter, int innerIter, double t, AFSpatialDiscretisation* smodel, 00049 bool cflTest=true, bool normalized=true, bool nonLinearFlag=true) 00050 :AFull2DRestorationLS(model, outerIter, innerIter, t, smodel, normalized, nonLinearFlag) 00051 { Aleft= Aright= 0; cfl= cflTest; } 00052 virtual ~F2DImplicitRestorationLS(){} 00053 00054 00055 00056 virtual void report(FILE* file){ fprintf(file,"Full 2D Semi-Implicit restoration\n"); } 00057 }; 00058 00059 00060 #endif