VTK
vtkImageSeparableConvolution.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageSeparableConvolution.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 =========================================================================*/
29 #ifndef vtkImageSeparableConvolution_h
30 #define vtkImageSeparableConvolution_h
31 
32 
33 #include "vtkImagingGeneralModule.h" // For export macro
35 
36 class vtkFloatArray;
37 
38 class VTKIMAGINGGENERAL_EXPORT vtkImageSeparableConvolution : public vtkImageDecomposeFilter
39 {
40 public:
43 
44 
45  // Set the X convolution kernel, a null value indicates no convolution to
46  // be done. The kernel must be of odd length
47  virtual void SetXKernel(vtkFloatArray*);
48  vtkGetObjectMacro ( XKernel, vtkFloatArray );
49 
50  // Set the Y convolution kernel, a null value indicates no convolution to
51  // be done The kernel must be of odd length
52  virtual void SetYKernel(vtkFloatArray*);
53  vtkGetObjectMacro ( YKernel, vtkFloatArray );
54 
55  // Set the Z convolution kernel, a null value indicates no convolution to
56  // be done The kernel must be of odd length
57  virtual void SetZKernel(vtkFloatArray*);
58  vtkGetObjectMacro ( ZKernel, vtkFloatArray );
59 
60  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
61 
66  vtkMTimeType GetMTime() VTK_OVERRIDE;
67 
68 protected:
70  ~vtkImageSeparableConvolution() VTK_OVERRIDE;
71 
72  vtkFloatArray* XKernel;
73  vtkFloatArray* YKernel;
74  vtkFloatArray* ZKernel;
75 
76  int IterativeRequestData(vtkInformation*,
78  vtkInformationVector*) VTK_OVERRIDE;
79 
80  int IterativeRequestInformation(vtkInformation* in,
81  vtkInformation* out) VTK_OVERRIDE;
82  int IterativeRequestUpdateExtent(vtkInformation* in,
83  vtkInformation* out) VTK_OVERRIDE;
84 
85 private:
87  void operator=(const vtkImageSeparableConvolution&) VTK_DELETE_FUNCTION;
88 };
89 
90 #endif
91 
92 
93 
94 
95 
96 
97 
98 
99 
100 
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:35
void PrintSelf(ostream &os, vtkIndent indent) override
Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3...
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual vtkMTimeType GetMTime()
Return this object's modified time.
3 1D convolutions on an image
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
Filters that execute axes in series.