VTK  9.3.1
vtkEqualizerFilter.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
3 #ifndef vtkEqualizerFilter_h
4 #define vtkEqualizerFilter_h
5 
6 #include "vtkFiltersGeneralModule.h" // For export macro
7 #include "vtkTableAlgorithm.h"
8 
9 #include <string> // for std::string
10 
19 VTK_ABI_NAMESPACE_BEGIN
20 class VTKFILTERSGENERAL_EXPORT vtkEqualizerFilter : public vtkTableAlgorithm
21 {
22 public:
23  static vtkEqualizerFilter* New();
25  void PrintSelf(ostream& os, vtkIndent indent) override;
26 
28 
32  vtkSetMacro(SamplingFrequency, int);
33  vtkGetMacro(SamplingFrequency, int);
35 
37 
43  vtkSetMacro(AllColumns, bool);
44  vtkGetMacro(AllColumns, bool);
46 
48 
51  vtkSetStdStringFromCharMacro(Array);
52  vtkGetCharFromStdStringMacro(Array);
54 
60  void SetPoints(const std::string& points);
61  std::string GetPoints() const;
62 
64 
68  vtkSetMacro(SpectrumGain, int);
69  vtkGetMacro(SpectrumGain, int);
71 
72 protected:
74  ~vtkEqualizerFilter() override;
75 
77 
78 private:
79  void ProcessColumn(
80  vtkDataArray* array, vtkTable* spectrumTable, vtkTable* resultTable, vtkTable* normalizedTable);
81 
82  vtkEqualizerFilter(const vtkEqualizerFilter&) = delete;
83  void operator=(const vtkEqualizerFilter&) = delete;
84 
85  int SamplingFrequency = 1000; // Hz
86  bool AllColumns = false;
87  std::string Array;
88  int SpectrumGain = 0; // dB
89 
90  class vtkInternal;
91  vtkInternal* Internal;
92 };
93 
94 VTK_ABI_NAMESPACE_END
95 #endif
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
implements an algorithm for digital signal processing
static vtkTableAlgorithm * New()
Store vtkAlgorithm input/output information.
a simple class to control print indentation
Definition: vtkIndent.h:28
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:58
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Superclass for algorithms that produce only vtkTables as output.
Store zero or more vtkInformation instances.