vtkImageAnisotropicDiffusion2D.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00053 #ifndef __vtkImageAnisotropicDiffusion2D_h
00054 #define __vtkImageAnisotropicDiffusion2D_h
00055
00056
00057 #include "vtkImageSpatialFilter.h"
00058 class VTK_IMAGING_EXPORT vtkImageAnisotropicDiffusion2D : public vtkImageSpatialFilter
00059 {
00060 public:
00061 static vtkImageAnisotropicDiffusion2D *New();
00062 vtkTypeRevisionMacro(vtkImageAnisotropicDiffusion2D,vtkImageSpatialFilter);
00063 void PrintSelf(ostream& os, vtkIndent indent);
00064
00070 void SetNumberOfIterations(int num);
00071
00073
00074 vtkGetMacro(NumberOfIterations,int);
00076
00078
00083 vtkSetMacro(DiffusionThreshold,double);
00084 vtkGetMacro(DiffusionThreshold,double);
00086
00088
00092 vtkSetMacro(DiffusionFactor,double);
00093 vtkGetMacro(DiffusionFactor,double);
00095
00097
00098 vtkSetMacro(Faces,int);
00099 vtkGetMacro(Faces,int);
00100 vtkBooleanMacro(Faces,int);
00101 vtkSetMacro(Edges,int);
00102 vtkGetMacro(Edges,int);
00103 vtkBooleanMacro(Edges,int);
00104 vtkSetMacro(Corners,int);
00105 vtkGetMacro(Corners,int);
00106 vtkBooleanMacro(Corners,int);
00108
00110
00112 vtkSetMacro(GradientMagnitudeThreshold,int);
00113 vtkGetMacro(GradientMagnitudeThreshold,int);
00114 vtkBooleanMacro(GradientMagnitudeThreshold,int);
00116
00117 protected:
00118 vtkImageAnisotropicDiffusion2D();
00119 ~vtkImageAnisotropicDiffusion2D() {};
00120
00121 int NumberOfIterations;
00122 double DiffusionThreshold;
00123 double DiffusionFactor;
00124
00125 int Faces;
00126 int Edges;
00127 int Corners;
00128
00129 int GradientMagnitudeThreshold;
00130
00131 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00132 int extent[6], int id);
00133 void Iterate(vtkImageData *in, vtkImageData *out,
00134 double ar0, double ar1, int *coreExtent, int count);
00135 private:
00136 vtkImageAnisotropicDiffusion2D(const vtkImageAnisotropicDiffusion2D&);
00137 void operator=(const vtkImageAnisotropicDiffusion2D&);
00138 };
00139
00140 #endif
00141
00142
00143