00001 #ifndef __RRegularizedAosOp__ 00002 #define __RRegularizedAosOp__ 00003 00004 00042 #include <stdio.h> 00043 00044 #include "RSimpleAosOp.hpp" 00045 00046 class RRegularizedAosOp : public RSimpleAosOp 00047 { 00048 protected: 00049 00050 // basic filter parameters 00051 00052 double lambda; 00053 00054 RImage* I0; 00055 00056 00057 public: 00058 00059 RRegularizedAosOp(int iterations=8, double t=0.5, 00060 double deltaGradient=16.0, double alambda=0.1, double asigma=5.0, 00061 bool iirFlag=false, bool nonLinearFlag=true); 00062 virtual ~RRegularizedAosOp(){} 00063 00064 virtual void setI0(RImage* Istart){ I0= Istart; } 00065 00066 // single shot filtering 00067 virtual RImage* filter(RImage* src, RImage* dest=0); 00068 virtual RImage* selectedFilter(AnImage* mask, RImage* src, RImage* dest=0); 00069 00070 virtual void report(FILE* file){ fprintf(file,"Real Regularized Aos Operator\n"); } 00071 }; 00072 00073 00074 #endif