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 "vtkThreadedImageAlgorithm.h"
00030
00031 class VTK_IMAGING_EXPORT vtkImageConvolve : public vtkThreadedImageAlgorithm
00032 {
00033 public:
00035
00036 static vtkImageConvolve *New();
00037 vtkTypeMacro(vtkImageConvolve,vtkThreadedImageAlgorithm);
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]);
00050
00051 void SetKernel7x7(double kernel[49]);
00052
00054
00056
00057 double* GetKernel3x3();
00058 void GetKernel3x3(double kernel[9]);
00059 double* GetKernel5x5();
00060 void GetKernel5x5(double kernel[25]);
00061
00062 double* GetKernel7x7();
00063 void GetKernel7x7(double kernel[49]);
00064
00066
00068
00069 void SetKernel3x3x3(const double kernel[27]);
00070
00071 void SetKernel5x5x5(double kernel[125]);
00072 void SetKernel7x7x7(double kernel[343]);
00073
00075
00077
00078 double* GetKernel3x3x3();
00079 void GetKernel3x3x3(double kernel[27]);
00080
00081 double* GetKernel5x5x5();
00082 void GetKernel5x5x5(double kernel[125]);
00083 double* GetKernel7x7x7();
00084 void GetKernel7x7x7(double kernel[343]);
00085
00087
00088 protected:
00089 vtkImageConvolve();
00090 ~vtkImageConvolve();
00091
00092 void ThreadedRequestData(vtkInformation *request,
00093 vtkInformationVector **inputVector,
00094 vtkInformationVector *outputVector,
00095 vtkImageData ***inData, vtkImageData **outData,
00096 int outExt[6], int id);
00097
00098 void GetKernel(double *kernel);
00099 double* GetKernel();
00100 void SetKernel(const double* kernel,
00101 int sizeX, int sizeY, int sizeZ);
00102
00103
00104 int KernelSize[3];
00105 double Kernel[343];
00106 private:
00107 vtkImageConvolve(const vtkImageConvolve&);
00108 void operator=(const vtkImageConvolve&);
00109 };
00110
00111 #endif
00112
00113
00114