VTK: Imaging/General/vtkImageSeparableConvolution.h Source File

| VTK 9.3.1

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
32 #ifndef vtkImageSeparableConvolution_h
33 #define vtkImageSeparableConvolution_h
34
35 #include "vtkImageDecomposeFilter.h"
36 #include "vtkImagingGeneralModule.h" // For export macro
37
38 VTK_ABI_NAMESPACE_BEGIN
39 class vtkFloatArray;
40
41 class VTKIMAGINGGENERAL_EXPORT vtkImageSeparableConvolution : public vtkImageDecomposeFilter
42 {
43 public:
44 static vtkImageSeparableConvolution* New();
45 vtkTypeMacro(vtkImageSeparableConvolution, vtkImageDecomposeFilter);
46
47 // Set the X convolution kernel, a null value indicates no convolution to
48 // be done. The kernel must be of odd length
49 virtual void SetXKernel(vtkFloatArray*);
50 vtkGetObjectMacro(XKernel, vtkFloatArray);
51
52 // Set the Y convolution kernel, a null value indicates no convolution to
53 // be done The kernel must be of odd length
54 virtual void SetYKernel(vtkFloatArray*);
55 vtkGetObjectMacro(YKernel, vtkFloatArray);
56
57 // Set the Z convolution kernel, a null value indicates no convolution to
58 // be done The kernel must be of odd length
59 virtual void SetZKernel(vtkFloatArray*);
60 vtkGetObjectMacro(ZKernel, vtkFloatArray);
61
62 void PrintSelf(ostream& os, vtkIndent indent) override;
63
68 vtkMTimeType GetMTime() override;
69
70 protected:
71 vtkImageSeparableConvolution();
72 ~vtkImageSeparableConvolution() override;
73
74 vtkFloatArray* XKernel;
75 vtkFloatArray* YKernel;
76 vtkFloatArray* ZKernel;
77
78 int IterativeRequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
79
80 int IterativeRequestInformation(vtkInformation* in, vtkInformation* out) override;
81 int IterativeRequestUpdateExtent(vtkInformation* in, vtkInformation* out) override;
82
83 private:
84 vtkImageSeparableConvolution(const vtkImageSeparableConvolution&) = delete;
85 void operator=(const vtkImageSeparableConvolution&) = delete;
86 };
87
88 VTK_ABI_NAMESPACE_END
89 #endif
vtkFloatArray
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:40
vtkImageDecomposeFilter
Filters that execute axes in series.
Definition: vtkImageDecomposeFilter.h:22
vtkImageSeparableConvolution
3 1D convolutions on an image
Definition: vtkImageSeparableConvolution.h:42
vtkImageSeparableConvolution::SetZKernel
virtual void SetZKernel(vtkFloatArray *)
vtkImageSeparableConvolution::New
static vtkImageSeparableConvolution * New()
vtkImageSeparableConvolution::SetXKernel
virtual void SetXKernel(vtkFloatArray *)
vtkImageSeparableConvolution::vtkImageSeparableConvolution
vtkImageSeparableConvolution()
vtkImageSeparableConvolution::XKernel
vtkFloatArray * XKernel
Definition: vtkImageSeparableConvolution.h:74
vtkImageSeparableConvolution::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.
vtkImageSeparableConvolution::SetYKernel
virtual void SetYKernel(vtkFloatArray *)
vtkImageSeparableConvolution::~vtkImageSeparableConvolution
~vtkImageSeparableConvolution() override
vtkImageSeparableConvolution::YKernel
vtkFloatArray * YKernel
Definition: vtkImageSeparableConvolution.h:75
vtkImageSeparableConvolution::IterativeRequestUpdateExtent
int IterativeRequestUpdateExtent(vtkInformation *in, vtkInformation *out) override
vtkImageSeparableConvolution::IterativeRequestInformation
int IterativeRequestInformation(vtkInformation *in, vtkInformation *out) override
vtkImageSeparableConvolution::IterativeRequestData
int IterativeRequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
vtkImageSeparableConvolution::ZKernel
vtkFloatArray * ZKernel
Definition: vtkImageSeparableConvolution.h:76
vtkImageSeparableConvolution::GetMTime
vtkMTimeType GetMTime() override
Overload standard modified time function.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkImageDecomposeFilter.h
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270