Imaging/vtkImageConvolve.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00042 #ifndef __vtkImageConvolve_h
00043 #define __vtkImageConvolve_h
00044
00045 #include "vtkImageToImageFilter.h"
00046
00047 class VTK_IMAGING_EXPORT vtkImageConvolve : public vtkImageToImageFilter
00048 {
00049 public:
00051
00052 static vtkImageConvolve *New();
00053 vtkTypeRevisionMacro(vtkImageConvolve,vtkImageToImageFilter);
00054 void PrintSelf(ostream& os, vtkIndent indent);
00056
00058
00059 vtkGetVector3Macro(KernelSize, int);
00061
00063
00064 void SetKernel3x3(const float kernel[9]);
00065 void SetKernel5x5(const float kernel[25]);
00067
00068 void SetKernel7x7(float kernel[49]);
00069
00070
00072
00073 float* GetKernel3x3();
00074 void GetKernel3x3(float kernel[9]);
00075 float* GetKernel5x5();
00076 void GetKernel5x5(float kernel[25]);
00078
00079 float* GetKernel7x7();
00080 void GetKernel7x7(float kernel[49]);
00081
00082
00084 void SetKernel3x3x3(const float kernel[27]);
00085
00086 void SetKernel5x5x5(float kernel[125]);
00087 void SetKernel7x7x7(float kernel[343]);
00088
00089
00091
00092 float* GetKernel3x3x3();
00093 void GetKernel3x3x3(float kernel[27]);
00095
00096 float* GetKernel5x5x5();
00097 void GetKernel5x5x5(float kernel[125]);
00098 float* GetKernel7x7x7();
00099 void GetKernel7x7x7(float kernel[343]);
00100
00101
00102 protected:
00103 vtkImageConvolve();
00104 ~vtkImageConvolve();
00105
00106 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00107 int outExt[6], int id);
00108
00109 void GetKernel(float *kernel);
00110 float* GetKernel();
00111 void SetKernel(const float* kernel,
00112 int sizeX, int sizeY, int sizeZ);
00113
00114
00115 int KernelSize[3];
00116 float Kernel[343];
00117 private:
00118 vtkImageConvolve(const vtkImageConvolve&);
00119 void operator=(const vtkImageConvolve&);
00120 };
00121
00122 #endif
00123
00124
00125