37#include "vtkFiltersGeneralModule.h"
43VTK_ABI_NAMESPACE_BEGIN
61 vtkGetMacro(CreateFrequencyColumn,
bool);
62 vtkSetMacro(CreateFrequencyColumn,
bool);
63 vtkBooleanMacro(CreateFrequencyColumn,
bool);
73 vtkGetMacro(DefaultSampleRate,
double);
74 vtkSetMacro(DefaultSampleRate,
double);
88 MAX_WINDOWING_FUNCTION
99 vtkGetMacro(WindowingFunction,
int);
113 vtkGetMacro(ReturnOnesided,
bool);
114 vtkSetMacro(ReturnOnesided,
bool);
115 vtkBooleanMacro(ReturnOnesided,
bool);
132 vtkGetMacro(AverageFft,
bool);
134 vtkBooleanMacro(AverageFft,
bool);
147 vtkGetMacro(Normalize,
bool);
148 vtkSetMacro(Normalize,
bool);
149 vtkBooleanMacro(Normalize,
bool);
163 vtkGetMacro(BlockSize,
int);
178 vtkGetMacro(BlockOverlap,
int);
179 vtkSetMacro(BlockOverlap,
int);
191 vtkGetMacro(ScalingMethod,
int);
205 vtkGetMacro(Detrend,
bool);
206 vtkSetMacro(Detrend,
bool);
207 vtkBooleanMacro(Detrend,
bool);
218 "Deprecated in favor of always keeping the output array names the same as the input.")
219 vtkGetMacro(PrefixOutputArrays,
bool);
221 "Deprecated in favor of always keeping the output array names the same as the input.")
222 vtkSetMacro(PrefixOutputArrays,
bool);
237 virtual
bool GetOptimizeForRealInput() {
return this->GetReturnOnesided(); }
239 virtual
void SetOptimizeForRealInput(
bool _arg) { this->SetReturnOnesided(_arg); }
241 virtual
void OptimizeForRealInputOn() { this->ReturnOnesidedOn(); }
243 virtual
void OptimizeForRealInputOff() { this->ReturnOnesidedOff(); };
255 "Block behavior is not controlled using BlockSize and BlockOverlap properties.")
256 virtual
int GetNumberOfBlock() {
return 0; };
258 "Block behavior is not controlled using BlockSize and BlockOverlap properties.")
259 virtual
void SetNumberOfBlock(
int){};
286 bool CreateFrequencyColumn =
false;
287 double DefaultSampleRate = 1e4;
288 bool ReturnOnesided =
false;
289 bool AverageFft =
false;
290 int WindowingFunction = RECTANGULAR;
292 bool Normalize =
false;
294 int BlockSize = 1024;
295 int BlockOverlap = -1;
296 bool Detrend =
false;
297 int ScalingMethod = 0;
300 bool PrefixOutputArrays =
false;
303 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)
#define VTK_DEPRECATED_IN_9_2_0(reason)