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