43#ifndef vtkImageBSplineInterpolator_h
44#define vtkImageBSplineInterpolator_h
46#include "vtkImagingCoreModule.h"
49#define VTK_IMAGE_BSPLINE_DEGREE_MAX 9
100 const double matrix[16],
const int extent[6],
int newExtent[6],
103 const float matrix[16],
const int extent[6],
int newExtent[6],
interpolate data values from images
perform b-spline interpolation on images
float * KernelLookupTable
virtual void BuildKernelLookupTable()
Build the lookup tables used for the interpolation.
virtual void ComputeSupportSize(const double matrix[16], int support[3])
Get the support size for use in computing update extents.
virtual void PrecomputeWeightsForExtent(const float matrix[16], const int extent[6], int newExtent[6], vtkInterpolationWeights *&weights)
virtual void FreeKernelLookupTable()
Free the kernel lookup tables.
virtual void GetRowInterpolationFunc(void(**floatfunc)(vtkInterpolationWeights *, int, int, int, float *, int))
virtual void InternalUpdate()
Update the interpolator.
int GetSplineDegreeMinValue()
void SetSplineDegree(int degree)
Set the degree of the spline polynomial.
virtual void PrecomputeWeightsForExtent(const double matrix[16], const int extent[6], int newExtent[6], vtkInterpolationWeights *&weights)
If the data is going to be sampled on a regular grid, then the interpolation weights can be precomput...
virtual bool IsSeparable()
Returns true if the interpolator supports weight precomputation.
vtkImageBSplineInterpolator()
int GetSplineDegreeMaxValue()
static vtkImageBSplineInterpolator * New()
virtual void InternalDeepCopy(vtkAbstractImageInterpolator *obj)
Copy the interpolator.
virtual void GetRowInterpolationFunc(void(**doublefunc)(vtkInterpolationWeights *, int, int, int, double *, int))
Get the row interpolation functions.
virtual void GetInterpolationFunc(void(**doublefunc)(vtkInterpolationInfo *, const double[3], double *))
Get the interpolation functions.
~vtkImageBSplineInterpolator()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void GetInterpolationFunc(void(**floatfunc)(vtkInterpolationInfo *, const float[3], float *))
virtual void FreePrecomputedWeights(vtkInterpolationWeights *&weights)
Free the precomputed weights.
topologically and geometrically regular array of data
a simple class to control print indentation
boost::graph_traits< vtkGraph * >::degree_size_type degree(boost::graph_traits< vtkGraph * >::vertex_descriptor u, vtkGraph *g)
#define VTK_IMAGE_BSPLINE_DEGREE_MAX