Go to the documentation of this file.
37 #ifndef vtkImageSincInterpolator_h
38 #define vtkImageSincInterpolator_h
40 #include "vtkImagingCoreModule.h"
43 #define VTK_LANCZOS_WINDOW 0
44 #define VTK_KAISER_WINDOW 1
45 #define VTK_COSINE_WINDOW 2
46 #define VTK_HANN_WINDOW 3
47 #define VTK_HAMMING_WINDOW 4
48 #define VTK_BLACKMAN_WINDOW 5
49 #define VTK_BLACKMAN_HARRIS3 6
50 #define VTK_BLACKMAN_HARRIS4 7
51 #define VTK_NUTTALL_WINDOW 8
52 #define VTK_BLACKMAN_NUTTALL3 9
53 #define VTK_BLACKMAN_NUTTALL4 10
54 #define VTK_SINC_KERNEL_SIZE_MAX 32
152 this->SetBlurFactors(f[0], f[1], f[2]); }
154 f[0] = this->BlurFactors[0];
155 f[1] = this->BlurFactors[1];
156 f[2] = this->BlurFactors[2]; }
205 const double matrix[16],
const int extent[6],
int newExtent[6],
208 const float matrix[16],
const int extent[6],
int newExtent[6],
267 float *KernelLookupTable[3];
271 double BlurFactors[3];
272 double LastBlurFactors[3];
#define VTK_BLACKMAN_HARRIS4
void UseWindowParameterOn()
void SetBlurFactors(const double f[3])
virtual void FreeKernelLookupTable()
Free the kernel lookup tables.
void SetUseWindowParameter(int val)
Turn this on in order to use SetWindowParameter.
bool IsSeparable() override
Returns true if the interpolator supports weight precomputation.
void SetAntialiasing(int antialiasing)
Turn on antialiasing.
void SetBlurFactors(double x, double y, double z)
Blur the image by widening the windowed sinc kernel by the specified factors for the x,...
void InternalDeepCopy(vtkAbstractImageInterpolator *obj) override
Copy the interpolator.
~vtkImageSincInterpolator() override
void SetWindowFunctionToCosine()
void SetWindowFunctionToNuttall()
void GetInterpolationFunc(void(**doublefunc)(vtkInterpolationInfo *, const double[3], double *)) override
Get the interpolation functions.
vtkImageSincInterpolator()
void FreePrecomputedWeights(vtkInterpolationWeights *&weights) override
Free the precomputed weights.
#define VTK_BLACKMAN_NUTTALL4
void PrecomputeWeightsForExtent(const float matrix[16], const int extent[6], int newExtent[6], vtkInterpolationWeights *&weights) override
void SetWindowFunctionToBlackmanHarris4()
#define VTK_BLACKMAN_HARRIS3
void GetBlurFactors(double f[3])
void SetWindowParameter(double parm)
Set the alpha parameter for the Kaiser window function.
#define VTK_COSINE_WINDOW
virtual void BuildKernelLookupTable()
Build the lookup tables used for the interpolation.
virtual const char * GetWindowFunctionAsString()
#define VTK_BLACKMAN_NUTTALL3
void SetWindowHalfWidth(int n)
Set the window half-width, this must be an integer between 1 and 16, with a default value of 3.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void UseWindowParameterOff()
#define VTK_SIZEHINT(...)
int GetUseWindowParameter()
double GetWindowParameter()
void SetWindowFunctionToHamming()
#define VTK_LANCZOS_WINDOW
topologically and geometrically regular array of data
a simple class to control print indentation
#define VTK_KAISER_WINDOW
#define VTK_HAMMING_WINDOW
void SetWindowFunctionToBlackmanNuttall3()
void InternalUpdate() override
Update the interpolator.
void SetWindowFunctionToBlackmanHarris3()
void SetWindowFunctionToBlackman()
void SetWindowFunctionToBlackmanNuttall4()
void SetWindowFunctionToKaiser()
void SetRenormalization(int renormalization)
Turn off renormalization.
virtual void SetWindowFunction(int mode)
The window function to use.
void SetWindowFunctionToLanczos()
void ComputeSupportSize(const double matrix[16], int support[3]) override
Get the support size for use in computing update extents.
void GetRowInterpolationFunc(void(**doublefunc)(vtkInterpolationWeights *, int, int, int, double *, int)) override
Get the row interpolation functions.
#define VTK_NUTTALL_WINDOW
void RenormalizationOff()
void PrecomputeWeightsForExtent(const double matrix[16], const int extent[6], int newExtent[6], vtkInterpolationWeights *&weights) override
If the data is going to be sampled on a regular grid, then the interpolation weights can be precomput...
static vtkImageSincInterpolator * New()
perform sinc interpolation on images
interpolate data values from images
void GetRowInterpolationFunc(void(**floatfunc)(vtkInterpolationWeights *, int, int, int, float *, int)) override
void SetWindowFunctionToHann()
#define VTK_BLACKMAN_WINDOW
void GetInterpolationFunc(void(**floatfunc)(vtkInterpolationInfo *, const float[3], float *)) override
double * GetBlurFactors()