Imaging/vtkImageAnisotropicDiffusion2D.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00046 #ifndef __vtkImageAnisotropicDiffusion2D_h
00047 #define __vtkImageAnisotropicDiffusion2D_h
00048
00049
00050 #include "vtkImageSpatialFilter.h"
00051 class VTK_IMAGING_EXPORT vtkImageAnisotropicDiffusion2D : public vtkImageSpatialFilter
00052 {
00053 public:
00054 static vtkImageAnisotropicDiffusion2D *New();
00055 vtkTypeRevisionMacro(vtkImageAnisotropicDiffusion2D,vtkImageSpatialFilter);
00056 void PrintSelf(ostream& os, vtkIndent indent);
00057
00063 void SetNumberOfIterations(int num);
00064
00066
00067 vtkGetMacro(NumberOfIterations,int);
00069
00071
00076 vtkSetMacro(DiffusionThreshold,float);
00077 vtkGetMacro(DiffusionThreshold,float);
00079
00081
00085 vtkSetMacro(DiffusionFactor,float);
00086 vtkGetMacro(DiffusionFactor,float);
00088
00090
00091 vtkSetMacro(Faces,int);
00092 vtkGetMacro(Faces,int);
00093 vtkBooleanMacro(Faces,int);
00094 vtkSetMacro(Edges,int);
00095 vtkGetMacro(Edges,int);
00096 vtkBooleanMacro(Edges,int);
00097 vtkSetMacro(Corners,int);
00098 vtkGetMacro(Corners,int);
00099 vtkBooleanMacro(Corners,int);
00101
00103
00105 vtkSetMacro(GradientMagnitudeThreshold,int);
00106 vtkGetMacro(GradientMagnitudeThreshold,int);
00107 vtkBooleanMacro(GradientMagnitudeThreshold,int);
00109
00110 protected:
00111 vtkImageAnisotropicDiffusion2D();
00112 ~vtkImageAnisotropicDiffusion2D() {};
00113
00114 int NumberOfIterations;
00115 float DiffusionThreshold;
00116 float DiffusionFactor;
00117
00118 int Faces;
00119 int Edges;
00120 int Corners;
00121
00122 int GradientMagnitudeThreshold;
00123
00124 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00125 int extent[6], int id);
00126 void Iterate(vtkImageData *in, vtkImageData *out,
00127 float ar0, float ar1, int *coreExtent, int count);
00128 private:
00129 vtkImageAnisotropicDiffusion2D(const vtkImageAnisotropicDiffusion2D&);
00130 void operator=(const vtkImageAnisotropicDiffusion2D&);
00131 };
00132
00133 #endif
00134
00135
00136