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
00030 #ifndef __vtkImageConvolve_h
00031 #define __vtkImageConvolve_h
00032
00033 #include "vtkImageToImageFilter.h"
00034
00035 class VTK_IMAGING_EXPORT vtkImageConvolve : public vtkImageToImageFilter
00036 {
00037 public:
00039
00040 static vtkImageConvolve *New();
00041 vtkTypeRevisionMacro(vtkImageConvolve,vtkImageToImageFilter);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046
00047 vtkGetVector3Macro(KernelSize, int);
00049
00051
00052 void SetKernel3x3(const float kernel[9]);
00053 void SetKernel5x5(const float kernel[25]);
00055
00056 void SetKernel7x7(float kernel[49]);
00057
00058
00060
00061 float* GetKernel3x3();
00062 void GetKernel3x3(float kernel[9]);
00063 float* GetKernel5x5();
00064 void GetKernel5x5(float kernel[25]);
00066
00067 float* GetKernel7x7();
00068 void GetKernel7x7(float kernel[49]);
00069
00070
00072 void SetKernel3x3x3(const float kernel[27]);
00073
00074 void SetKernel5x5x5(float kernel[125]);
00075 void SetKernel7x7x7(float kernel[343]);
00076
00077
00079
00080 float* GetKernel3x3x3();
00081 void GetKernel3x3x3(float kernel[27]);
00083
00084 float* GetKernel5x5x5();
00085 void GetKernel5x5x5(float kernel[125]);
00086 float* GetKernel7x7x7();
00087 void GetKernel7x7x7(float kernel[343]);
00088
00089
00090 protected:
00091 vtkImageConvolve();
00092 ~vtkImageConvolve();
00093
00094 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00095 int outExt[6], int id);
00096
00097 void GetKernel(float *kernel);
00098 float* GetKernel();
00099 void SetKernel(const float* kernel,
00100 int sizeX, int sizeY, int sizeZ);
00101
00102
00103 int KernelSize[3];
00104 float Kernel[343];
00105 private:
00106 vtkImageConvolve(const vtkImageConvolve&);
00107 void operator=(const vtkImageConvolve&);
00108 };
00109
00110 #endif
00111
00112
00113