VTK  9.3.0
vtkImageSeparableConvolution.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
23 #ifndef vtkImageSeparableConvolution_h
24 #define vtkImageSeparableConvolution_h
25 
27 #include "vtkImagingGeneralModule.h" // For export macro
28 
29 VTK_ABI_NAMESPACE_BEGIN
30 class vtkFloatArray;
31 
32 class VTKIMAGINGGENERAL_EXPORT vtkImageSeparableConvolution : public vtkImageDecomposeFilter
33 {
34 public:
37 
38  // Set the X convolution kernel, a null value indicates no convolution to
39  // be done. The kernel must be of odd length
40  virtual void SetXKernel(vtkFloatArray*);
41  vtkGetObjectMacro(XKernel, vtkFloatArray);
42 
43  // Set the Y convolution kernel, a null value indicates no convolution to
44  // be done The kernel must be of odd length
45  virtual void SetYKernel(vtkFloatArray*);
46  vtkGetObjectMacro(YKernel, vtkFloatArray);
47 
48  // Set the Z convolution kernel, a null value indicates no convolution to
49  // be done The kernel must be of odd length
50  virtual void SetZKernel(vtkFloatArray*);
51  vtkGetObjectMacro(ZKernel, vtkFloatArray);
52 
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
59  vtkMTimeType GetMTime() override;
60 
61 protected:
64 
68 
70 
73 
74 private:
76  void operator=(const vtkImageSeparableConvolution&) = delete;
77 };
78 
79 VTK_ABI_NAMESPACE_END
80 #endif
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:31
Filters that execute axes in series.
3 1D convolutions on an image
virtual void SetZKernel(vtkFloatArray *)
static vtkImageSeparableConvolution * New()
virtual void SetXKernel(vtkFloatArray *)
void PrintSelf(ostream &os, vtkIndent indent) override
Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.
virtual void SetYKernel(vtkFloatArray *)
~vtkImageSeparableConvolution() override
int IterativeRequestUpdateExtent(vtkInformation *in, vtkInformation *out) override
int IterativeRequestInformation(vtkInformation *in, vtkInformation *out) override
int IterativeRequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
vtkMTimeType GetMTime() override
Overload standard modified time function.
a simple class to control print indentation
Definition: vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270