Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Imaging/vtkImageAnisotropicDiffusion3D.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00058 #ifndef __vtkImageAnisotropicDiffusion3D_h
00059 #define __vtkImageAnisotropicDiffusion3D_h
00060
00061
00062 #include "vtkImageSpatialFilter.h"
00063
00064 class VTK_IMAGING_EXPORT vtkImageAnisotropicDiffusion3D : public vtkImageSpatialFilter
00065 {
00066 public:
00067 static vtkImageAnisotropicDiffusion3D *New();
00068 vtkTypeRevisionMacro(vtkImageAnisotropicDiffusion3D,vtkImageSpatialFilter);
00069 void PrintSelf(ostream& os, vtkIndent indent);
00070
00071
00077 void SetNumberOfIterations(int num);
00078
00080
00081 vtkGetMacro(NumberOfIterations,int);
00083
00085
00090 vtkSetMacro(DiffusionThreshold,float);
00091 vtkGetMacro(DiffusionThreshold,float);
00093
00095
00096 vtkSetMacro(DiffusionFactor,float);
00097 vtkGetMacro(DiffusionFactor,float);
00099
00101
00102 vtkSetMacro(Faces,int);
00103 vtkGetMacro(Faces,int);
00104 vtkBooleanMacro(Faces,int);
00105 vtkSetMacro(Edges,int);
00106 vtkGetMacro(Edges,int);
00107 vtkBooleanMacro(Edges,int);
00108 vtkSetMacro(Corners,int);
00109 vtkGetMacro(Corners,int);
00110 vtkBooleanMacro(Corners,int);
00112
00114
00116 vtkSetMacro(GradientMagnitudeThreshold,int);
00117 vtkGetMacro(GradientMagnitudeThreshold,int);
00118 vtkBooleanMacro(GradientMagnitudeThreshold,int);
00120
00121 protected:
00122 vtkImageAnisotropicDiffusion3D();
00123 ~vtkImageAnisotropicDiffusion3D() {};
00124
00125 int NumberOfIterations;
00126 float DiffusionThreshold;
00127 float DiffusionFactor;
00128
00129 int Faces;
00130 int Edges;
00131 int Corners;
00132
00133 int GradientMagnitudeThreshold;
00134
00135 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00136 int extent[6], int id);
00137 void Iterate(vtkImageData *in, vtkImageData *out,
00138 float ar0, float ar1, float ar3, int *coreExtent, int count);
00139 private:
00140 vtkImageAnisotropicDiffusion3D(const vtkImageAnisotropicDiffusion3D&);
00141 void operator=(const vtkImageAnisotropicDiffusion3D&);
00142 };
00143
00144 #endif
00145
00146
00147