Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Imaging/vtkImageConvolve.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImageConvolve.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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 //BTX 00052 void SetKernel7x7(double kernel[49]); 00053 //ETX 00054 00056 00057 double* GetKernel3x3(); 00058 void GetKernel3x3(double kernel[9]); 00059 double* GetKernel5x5(); 00060 void GetKernel5x5(double kernel[25]); 00062 //BTX 00063 double* GetKernel7x7(); 00064 void GetKernel7x7(double kernel[49]); 00065 //ETX 00066 00068 void SetKernel3x3x3(const double kernel[27]); 00069 //BTX 00070 void SetKernel5x5x5(double kernel[125]); 00071 void SetKernel7x7x7(double kernel[343]); 00072 //ETX 00073 00075 00076 double* GetKernel3x3x3(); 00077 void GetKernel3x3x3(double kernel[27]); 00079 //BTX 00080 double* GetKernel5x5x5(); 00081 void GetKernel5x5x5(double kernel[125]); 00082 double* GetKernel7x7x7(); 00083 void GetKernel7x7x7(double kernel[343]); 00084 //ETX 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&); // Not implemented. 00103 void operator=(const vtkImageConvolve&); // Not implemented. 00104 }; 00105 00106 #endif 00107 00108 00109