VTK  9.3.1
vtkImageButterworthLowPass.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
22 #ifndef vtkImageButterworthLowPass_h
23 #define vtkImageButterworthLowPass_h
24 
25 #include "vtkImagingFourierModule.h" // For export macro
27 
28 VTK_ABI_NAMESPACE_BEGIN
29 class VTKIMAGINGFOURIER_EXPORT vtkImageButterworthLowPass : public vtkThreadedImageAlgorithm
30 {
31 public:
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
37 
42  vtkSetVector3Macro(CutOff, double);
43  void SetCutOff(double v) { this->SetCutOff(v, v, v); }
44  void SetXCutOff(double cutOff);
45  void SetYCutOff(double cutOff);
46  void SetZCutOff(double cutOff);
47  vtkGetVector3Macro(CutOff, double);
48  double GetXCutOff() { return this->CutOff[0]; }
49  double GetYCutOff() { return this->CutOff[1]; }
50  double GetZCutOff() { return this->CutOff[2]; }
52 
54 
57  vtkSetMacro(Order, int);
58  vtkGetMacro(Order, int);
60 
61 protected:
63  ~vtkImageButterworthLowPass() override = default;
64 
65  int Order;
66  double CutOff[3];
67 
68  void ThreadedRequestData(vtkInformation* request, vtkInformationVector** inputVector,
69  vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData,
70  int outExt[6], int id) override;
71 
72 private:
74  void operator=(const vtkImageButterworthLowPass&) = delete;
75 };
76 
77 VTK_ABI_NAMESPACE_END
78 #endif
Frequency domain Low pass.
Store vtkAlgorithm input/output information.
void SetCutOff(double v)
Set/Get the cutoff frequency for each axis.
Generic filter that has one input.
a simple class to control print indentation
Definition: vtkIndent.h:28
topologically and geometrically regular array of data
Definition: vtkImageData.h:42
virtual void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId)
If the subclass does not define an Execute method, then the task will be broken up, multiple threads will be spawned, and each thread will call this method.
double GetZCutOff()
Set/Get the cutoff frequency for each axis.
double GetXCutOff()
Set/Get the cutoff frequency for each axis.
double GetYCutOff()
Set/Get the cutoff frequency for each axis.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.