00001 #ifndef __F2DAosHeatFlowOp__
00002 #define __F2DAosHeatFlowOp__
00003
00004
00030 #include <stdio.h>
00031
00032 #include "AbsFImageFilter.hpp"
00033
00034 #include "AbsFLinearSolver.hpp"
00035
00036 class F2DAosHeatFlowOp : public AbsFImageFilter
00037 {
00038 protected:
00039
00040 int iterMax;
00041 int innerIterMax;
00042 float tau;
00043 float epsilon;
00044
00045 AbsFLinearSolver* linearSolver;
00046
00047 public:
00048
00050 F2DAosHeatFlowOp(int typeSolver, int iter=1, int innerIter=8, float t=0.5, float eps=1.0e-4);
00051 virtual ~F2DAosHeatFlowOp(){delete linearSolver;}
00052
00053
00054 virtual FImage* filter(FImage* src, FImage* dest=0);
00055 virtual FImage* selectedFilter(AnImage* mask, FImage* src, FImage* dest=0)
00056 { return filter(src, dest); }
00057
00058 virtual void report(FILE* file){ fprintf(file,"HeatFlow: 2D Linear Solver\n"); }
00059 };
00060
00061
00062 #endif