VTK
vtkImageConvolve.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkImageConvolve.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
30#ifndef vtkImageConvolve_h
31#define vtkImageConvolve_h
32
33#include "vtkImagingGeneralModule.h" // For export macro
35
36class VTKIMAGINGGENERAL_EXPORT vtkImageConvolve : public vtkThreadedImageAlgorithm
37{
38public:
40
45 void PrintSelf(ostream& os, vtkIndent indent);
47
49
52 vtkGetVector3Macro(KernelSize, int);
54
56
59 void SetKernel3x3(const double kernel[9]);
60 void SetKernel5x5(const double kernel[25]);
62
63 void SetKernel7x7(const double kernel[49]);
64
66
69 double* GetKernel3x3();
70 void GetKernel3x3(double kernel[9]);
71 double* GetKernel5x5();
72 void GetKernel5x5(double kernel[25]);
74
75 double* GetKernel7x7();
76 void GetKernel7x7(double kernel[49]);
77
81 void SetKernel3x3x3(const double kernel[27]);
82
83 void SetKernel5x5x5(const double kernel[125]);
84 void SetKernel7x7x7(const double kernel[343]);
85
87
90 double* GetKernel3x3x3();
91 void GetKernel3x3x3(double kernel[27]);
93
94 double* GetKernel5x5x5();
95 void GetKernel5x5x5(double kernel[125]);
96 double* GetKernel7x7x7();
97 void GetKernel7x7x7(double kernel[343]);
98
99protected:
102
104 vtkInformationVector **inputVector,
105 vtkInformationVector *outputVector,
106 vtkImageData ***inData, vtkImageData **outData,
107 int outExt[6], int id);
108
109 void GetKernel(double *kernel);
110 double* GetKernel();
111 void SetKernel(const double* kernel,
112 int sizeX, int sizeY, int sizeZ);
113
114
115 int KernelSize[3];
116 double Kernel[343];
117private:
118 vtkImageConvolve(const vtkImageConvolve&) VTK_DELETE_FUNCTION;
119 void operator=(const vtkImageConvolve&) VTK_DELETE_FUNCTION;
120};
121
122#endif
123
124
125
Convolution of an image with a kernel.
void SetKernel3x3x3(const double kernel[27])
Set the kernel to be a 3x3x3 or 5x5x5 or 7x7x7 kernel.
static vtkImageConvolve * New()
Construct an instance of vtkImageConvolve filter.
void SetKernel3x3(const double kernel[9])
Set the kernel to be a given 3x3 or 5x5 or 7x7 kernel.
void GetKernel3x3(double kernel[9])
double * GetKernel5x5()
void SetKernel7x7(const double kernel[49])
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void GetKernel7x7x7(double kernel[343])
void SetKernel5x5x5(const double kernel[125])
double * GetKernel3x3x3()
Return an array that contains the kernel.
void GetKernel(double *kernel)
void GetKernel5x5(double kernel[25])
void GetKernel7x7(double kernel[49])
double * GetKernel7x7()
void SetKernel5x5(const double kernel[25])
void SetKernel7x7x7(const double kernel[343])
double * GetKernel()
double * GetKernel3x3()
Return an array that contains the kernel.
void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int outExt[6], int id)
If the subclass does not define an Execute method, then the task will be broken up,...
void GetKernel3x3x3(double kernel[27])
void GetKernel5x5x5(double kernel[125])
void SetKernel(const double *kernel, int sizeX, int sizeY, int sizeZ)
double * GetKernel5x5x5()
double * GetKernel7x7x7()
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Generic filter that has one input.