36 #include "vtkFiltersGeneralModule.h"
42 VTK_ABI_NAMESPACE_BEGIN
60 vtkGetMacro(CreateFrequencyColumn,
bool);
61 vtkSetMacro(CreateFrequencyColumn,
bool);
62 vtkBooleanMacro(CreateFrequencyColumn,
bool);
72 vtkGetMacro(DefaultSampleRate,
double);
73 vtkSetMacro(DefaultSampleRate,
double);
87 MAX_WINDOWING_FUNCTION
98 vtkGetMacro(WindowingFunction,
int);
112 vtkGetMacro(ReturnOnesided,
bool);
113 vtkSetMacro(ReturnOnesided,
bool);
114 vtkBooleanMacro(ReturnOnesided,
bool);
131 vtkGetMacro(AverageFft,
bool);
133 vtkBooleanMacro(AverageFft,
bool);
146 vtkGetMacro(Normalize,
bool);
147 vtkSetMacro(Normalize,
bool);
148 vtkBooleanMacro(Normalize,
bool);
162 vtkGetMacro(BlockSize,
int);
177 vtkGetMacro(BlockOverlap,
int);
178 vtkSetMacro(BlockOverlap,
int);
190 vtkGetMacro(ScalingMethod,
int);
191 vtkSetClampMacro(ScalingMethod,
int, vtkFFT::Scaling::Density, vtkFFT::Scaling::Spectrum);
204 vtkGetMacro(Detrend,
bool);
205 vtkSetMacro(Detrend,
bool);
206 vtkBooleanMacro(Detrend,
bool);
221 virtual
bool GetOptimizeForRealInput() {
return this->GetReturnOnesided(); }
223 virtual
void SetOptimizeForRealInput(
bool _arg) { this->SetReturnOnesided(_arg); }
225 virtual
void OptimizeForRealInputOn() { this->ReturnOnesidedOn(); }
227 virtual
void OptimizeForRealInputOff() { this->ReturnOnesidedOff(); }
239 "Block behavior is not controlled using BlockSize and BlockOverlap properties.")
240 virtual
int GetNumberOfBlock() {
return 0; }
242 "Block behavior is not controlled using BlockSize and BlockOverlap properties.")
243 virtual
void SetNumberOfBlock(
int) {}
270 bool CreateFrequencyColumn =
false;
271 double DefaultSampleRate = 1e4;
272 bool ReturnOnesided =
false;
273 bool AverageFft =
false;
274 int WindowingFunction = RECTANGULAR;
276 bool Normalize =
false;
278 int BlockSize = 1024;
279 int BlockOverlap = -1;
280 bool Detrend =
false;
281 int ScalingMethod = 0;
284 std::unique_ptr<vtkInternal> Internals;
287 VTK_ABI_NAMESPACE_END
abstract superclass for arrays of numeric data
a simple class to control print indentation
Superclass for algorithms that produce only vtkTables as output.
static vtkTableFFT * New()
virtual void SetWindowingFunction(int)
Specify the windowing function to apply on the input.
virtual void SetBlockSize(int)
Specify the number of samples to use for each block / segment in the Welch method.
virtual void SetAverageFft(bool)
Specify if filter should use the Welch / periodogram method.
vtkSmartPointer< vtkDataArray > DoFFT(vtkDataArray *input)
Perform the FFT on the given data array.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Initialize(vtkTable *input)
Initialize the internal state before performing the actual fft.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
A table, which contains similar-typed columns of data.
#define VTK_DEPRECATED_IN_9_3_0(reason)