Imaging/vtkImageConvolve.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkImageConvolve_h
00027 #define __vtkImageConvolve_h
00028
00029 #include "vtkImageToImageFilter.h"
00030
00031 class VTK_IMAGING_EXPORT vtkImageConvolve : public vtkImageToImageFilter
00032 {
00033 public:
00035
00036 static vtkImageConvolve *New();
00037 vtkTypeRevisionMacro(vtkImageConvolve,vtkImageToImageFilter);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00040
00042
00043 vtkGetVector3Macro(KernelSize, int);
00045
00047
00048 void SetKernel3x3(const double kernel[9]);
00049 void SetKernel5x5(const double kernel[25]);
00051
00052 void SetKernel7x7(double kernel[49]);
00053
00054
00056
00057 double* GetKernel3x3();
00058 void GetKernel3x3(double kernel[9]);
00059 double* GetKernel5x5();
00060 void GetKernel5x5(double kernel[25]);
00062
00063 double* GetKernel7x7();
00064 void GetKernel7x7(double kernel[49]);
00065
00066
00068 void SetKernel3x3x3(const double kernel[27]);
00069
00070 void SetKernel5x5x5(double kernel[125]);
00071 void SetKernel7x7x7(double kernel[343]);
00072
00073
00075
00076 double* GetKernel3x3x3();
00077 void GetKernel3x3x3(double kernel[27]);
00079
00080 double* GetKernel5x5x5();
00081 void GetKernel5x5x5(double kernel[125]);
00082 double* GetKernel7x7x7();
00083 void GetKernel7x7x7(double kernel[343]);
00084
00085
00086 protected:
00087 vtkImageConvolve();
00088 ~vtkImageConvolve();
00089
00090 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00091 int outExt[6], int id);
00092
00093 void GetKernel(double *kernel);
00094 double* GetKernel();
00095 void SetKernel(const double* kernel,
00096 int sizeX, int sizeY, int sizeZ);
00097
00098
00099 int KernelSize[3];
00100 double Kernel[343];
00101 private:
00102 vtkImageConvolve(const vtkImageConvolve&);
00103 void operator=(const vtkImageConvolve&);
00104 };
00105
00106 #endif
00107
00108
00109