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 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 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 //BTX 00056 void SetKernel7x7(float kernel[49]); 00057 //ETX 00058 00060 00061 float* GetKernel3x3(); 00062 void GetKernel3x3(float kernel[9]); 00063 float* GetKernel5x5(); 00064 void GetKernel5x5(float kernel[25]); 00066 //BTX 00067 float* GetKernel7x7(); 00068 void GetKernel7x7(float kernel[49]); 00069 //ETX 00070 00072 void SetKernel3x3x3(const float kernel[27]); 00073 //BTX 00074 void SetKernel5x5x5(float kernel[125]); 00075 void SetKernel7x7x7(float kernel[343]); 00076 //ETX 00077 00079 00080 float* GetKernel3x3x3(); 00081 void GetKernel3x3x3(float kernel[27]); 00083 //BTX 00084 float* GetKernel5x5x5(); 00085 void GetKernel5x5x5(float kernel[125]); 00086 float* GetKernel7x7x7(); 00087 void GetKernel7x7x7(float kernel[343]); 00088 //ETX 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&); // Not implemented. 00107 void operator=(const vtkImageConvolve&); // Not implemented. 00108 }; 00109 00110 #endif 00111 00112 00113