 |
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]