36#include "vtkFiltersGeneralModule.h"
42VTK_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);
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;
abstract superclass for arrays of numeric data
@ Spectrum
Cross Spectrum scaling (V^2)
@ Density
Cross Spectral Density scaling (V^2/Hz)
a simple class to control print indentation
Hold a reference to a vtkObjectBase instance.
Superclass for algorithms that produce only vtkTables as output.
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.
static vtkTableFFT * New()
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)