|  | VTK
    9.0.1
    | 
 
 
 
Go to the documentation of this file.
   30 #ifndef vtkAbstractImageInterpolator_h 
   31 #define vtkAbstractImageInterpolator_h 
   33 #include "vtkImagingCoreModule.h"  
   36 #define VTK_IMAGE_BORDER_CLAMP 0 
   37 #define VTK_IMAGE_BORDER_REPEAT 1 
   38 #define VTK_IMAGE_BORDER_MIRROR 2 
   60   virtual void ReleaseData();
 
   82   double Interpolate(
double x, 
double y, 
double z, 
int component);
 
   91   bool Interpolate(
const double point[3], 
double* 
value);
 
   96   void SetOutValue(
double outValue);
 
  104   void SetTolerance(
double tol);
 
  113   void SetComponentOffset(
int offset);
 
  122   void SetComponentCount(
int count);
 
  129   int ComputeNumberOfComponents(
int inputComponents);
 
  136   int GetNumberOfComponents();
 
  144   void InterpolateIJK(
const double point[3], 
double* 
value);
 
  145   void InterpolateIJK(
const float point[3], 
float* 
value);
 
  155   bool CheckBoundsIJK(
const double x[3]);
 
  156   bool CheckBoundsIJK(
const float x[3]);
 
  167   void SetBorderMode(
int mode);
 
  172   const char* GetBorderModeAsString();
 
  182   void SetSlidingWindow(
bool x);
 
  193   virtual void ComputeSupportSize(
const double matrix[16], 
int support[3]) = 0;
 
  201   virtual bool IsSeparable() = 0;
 
  214   virtual void PrecomputeWeightsForExtent(
const double matrix[16], 
const int extent[6],
 
  216   virtual void PrecomputeWeightsForExtent(
const float matrix[16], 
const int extent[6],
 
  242   vtkGetVector3Macro(Spacing, 
double);
 
  249   vtkGetVector3Macro(Origin, 
double);
 
  256   vtkGetVector6Macro(Extent, 
int);
 
  264   VTK_LEGACY(
int* GetWholeExtent());
 
  265   VTK_LEGACY(
void GetWholeExtent(
int extent[6]));
 
  275   virtual void InternalUpdate() = 0;
 
  286   virtual void GetInterpolationFunc(
 
  288   virtual void GetInterpolationFunc(
 
  296   virtual void GetRowInterpolationFunc(
 
  298   virtual void GetRowInterpolationFunc(
 
  306   virtual void GetSlidingWindowFunc(
 
  308   virtual void GetSlidingWindowFunc(
 
  313   double StructuredBoundsDouble[6];
 
  314   float StructuredBoundsFloat[6];
 
  328   void (*InterpolationFuncDouble)(
 
  332   void (*RowInterpolationFuncDouble)(
 
  334   void (*RowInterpolationFuncFloat)(
 
  355   return !((x[0] < bounds[0]) || (x[0] > bounds[1]) || (x[1] < bounds[2]) || (x[1] > bounds[3]) ||
 
  356     (x[2] < bounds[4]) || (x[2] > bounds[5]));
 
  362   return !((x[0] < bounds[0]) || (x[0] > bounds[1]) || (x[1] < bounds[2]) || (x[1] > bounds[3]) ||
 
  363     (x[2] < bounds[4]) || (x[2] > bounds[5]));
 
  
void(* InterpolationFuncFloat)(vtkInterpolationInfo *info, const float point[3], float *outPtr)
void(* InterpolationFuncDouble)(vtkInterpolationInfo *info, const double point[3], double *outPtr)
abstract base class for most VTK objects
#define VTK_IMAGE_BORDER_MIRROR
abstract superclass for arrays of numeric data
bool CheckBoundsIJK(const double x[3])
Check an x,y,z point to see if it is within the bounds for the structured coords of the image.
float StructuredBoundsFloat[6]
#define VTK_IMAGE_BORDER_CLAMP
void SetBorderModeToRepeat()
void(* RowInterpolationFuncDouble)(vtkInterpolationWeights *weights, int idX, int idY, int idZ, double *outPtr, int n)
topologically and geometrically regular array of data
a simple class to control print indentation
void InterpolateIJK(const double point[3], double *value)
A version of Interpolate that takes structured coords instead of data coords.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_IMAGE_BORDER_REPEAT
void InterpolateRow(vtkInterpolationWeights *&weights, int xIdx, int yIdx, int zIdx, double *value, int n)
Get a row of samples, using the weights that were precomputed by PrecomputeWeightsForExtent.
void SetBorderModeToMirror()
void SetBorderModeToClamp()
vtkInterpolationInfo * InterpolationInfo
interpolate data values from images
general representation of visualization data
void(* RowInterpolationFuncFloat)(vtkInterpolationWeights *weights, int idX, int idY, int idZ, float *outPtr, int n)
double StructuredBoundsDouble[6]