VTK
|
perform b-spline interpolation on images More...
#include <vtkImageBSplineInterpolator.h>
Public Types | |
typedef vtkAbstractImageInterpolator | Superclass |
![]() | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkImageBSplineInterpolator * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | ComputeSupportSize (const double matrix[16], int support[3]) |
virtual bool | IsSeparable () |
virtual void | FreePrecomputedWeights (vtkInterpolationWeights *&weights) |
void | SetSplineDegree (int degree) |
int | GetSplineDegree () |
int | GetSplineDegreeMinValue () |
int | GetSplineDegreeMaxValue () |
virtual void | PrecomputeWeightsForExtent (const double matrix[16], const int extent[6], int newExtent[6], vtkInterpolationWeights *&weights) |
virtual void | PrecomputeWeightsForExtent (const float matrix[16], const int extent[6], int newExtent[6], vtkInterpolationWeights *&weights) |
![]() | |
vtkAbstractImageInterpolator * | NewInstance () const |
virtual void | Initialize (vtkDataObject *data) |
virtual void | ReleaseData () |
void | DeepCopy (vtkAbstractImageInterpolator *obj) |
void | Update () |
double | Interpolate (double x, double y, double z, int component) |
bool | Interpolate (const double point[3], double *value) |
int | ComputeNumberOfComponents (int inputComponents) |
int | GetNumberOfComponents () |
void | SetOutValue (double outValue) |
double | GetOutValue () |
void | SetTolerance (double tol) |
double | GetTolerance () |
void | SetComponentOffset (int offset) |
int | GetComponentOffset () |
void | SetComponentCount (int count) |
int | GetComponentCount () |
void | InterpolateIJK (const double point[3], double *value) |
void | InterpolateIJK (const float point[3], float *value) |
bool | CheckBoundsIJK (const double x[3]) |
bool | CheckBoundsIJK (const float x[3]) |
void | SetBorderMode (int mode) |
void | SetBorderModeToClamp () |
void | SetBorderModeToRepeat () |
void | SetBorderModeToMirror () |
int | GetBorderMode () |
const char * | GetBorderModeAsString () |
void | InterpolateRow (vtkInterpolationWeights *&weights, int xIdx, int yIdx, int zIdx, double *value, int n) |
void | InterpolateRow (vtkInterpolationWeights *&weights, int xIdx, int yIdx, int zIdx, float *value, int n) |
virtual double * | GetSpacing () |
virtual void | GetSpacing (double &, double &, double &) |
virtual void | GetSpacing (double[3]) |
virtual double * | GetOrigin () |
virtual void | GetOrigin (double &, double &, double &) |
virtual void | GetOrigin (double[3]) |
virtual int * | GetExtent () |
virtual void | GetExtent (int &, int &, int &, int &, int &, int &) |
virtual void | GetExtent (int[6]) |
virtual int * | GetWholeExtent () |
virtual void | GetWholeExtent (int &, int &, int &, int &, int &, int &) |
virtual void | GetWholeExtent (int[6]) |
Static Public Member Functions | |
static vtkImageBSplineInterpolator * | New () |
static int | IsTypeOf (const char *type) |
static vtkImageBSplineInterpolator * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkAbstractImageInterpolator * | SafeDownCast (vtkObjectBase *o) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkImageBSplineInterpolator () | |
~vtkImageBSplineInterpolator () | |
virtual void | InternalUpdate () |
virtual void | InternalDeepCopy (vtkAbstractImageInterpolator *obj) |
virtual void | BuildKernelLookupTable () |
virtual void | FreeKernelLookupTable () |
virtual void | GetInterpolationFunc (void(**doublefunc)(vtkInterpolationInfo *, const double[3], double *)) |
virtual void | GetInterpolationFunc (void(**floatfunc)(vtkInterpolationInfo *, const float[3], float *)) |
virtual void | GetRowInterpolationFunc (void(**doublefunc)(vtkInterpolationWeights *, int, int, int, double *, int)) |
virtual void | GetRowInterpolationFunc (void(**floatfunc)(vtkInterpolationWeights *, int, int, int, float *, int)) |
![]() | |
vtkAbstractImageInterpolator () | |
~vtkAbstractImageInterpolator () | |
Protected Attributes | |
int | SplineDegree |
float * | KernelLookupTable |
![]() | |
vtkDataArray * | Scalars |
double | StructuredBoundsDouble [6] |
float | StructuredBoundsFloat [6] |
int | WholeExtent [6] |
int | Extent [6] |
double | Spacing [3] |
double | Origin [3] |
double | OutValue |
double | Tolerance |
int | BorderMode |
int | ComponentOffset |
int | ComponentCount |
vtkInterpolationInfo * | InterpolationInfo |
void(* | InterpolationFuncDouble )(vtkInterpolationInfo *info, const double point[3], double *outPtr) |
void(* | InterpolationFuncFloat )(vtkInterpolationInfo *info, const float point[3], float *outPtr) |
void(* | RowInterpolationFuncDouble )(vtkInterpolationWeights *weights, int idX, int idY, int idZ, double *outPtr, int n) |
void(* | RowInterpolationFuncFloat )(vtkInterpolationWeights *weights, int idX, int idY, int idZ, float *outPtr, int n) |
perform b-spline interpolation on images
vtkImageBSplineInterpolator can be used to perform b-spline interpolation on images that have been filtered with vtkImageBSplineCoefficients. The b-spline interpolants provide the maximum possible degree of continuity for a given kernel size, but require that the image data be pre-filtered to generate b-spline coefficients before the interpolation is performed. Interpolating data that has not been pre-filtered will give incorrect results.
Definition at line 50 of file vtkImageBSplineInterpolator.h.
Definition at line 55 of file vtkImageBSplineInterpolator.h.
|
protected |
|
protected |
|
static |
|
static |
|
virtual |
Reimplemented from vtkAbstractImageInterpolator.
|
static |
|
protectedvirtual |
Reimplemented from vtkAbstractImageInterpolator.
vtkImageBSplineInterpolator* vtkImageBSplineInterpolator::NewInstance | ( | ) | const |
|
virtual |
Reimplemented from vtkAbstractImageInterpolator.
void vtkImageBSplineInterpolator::SetSplineDegree | ( | int | degree | ) |
Set the degree of the spline polynomial. The default value is 3, and the maximum is 9. The data must be pre-filtered for the same degree of polynomial with vtkImageBSplineCoefficients.
|
inline |
Set the degree of the spline polynomial. The default value is 3, and the maximum is 9. The data must be pre-filtered for the same degree of polynomial with vtkImageBSplineCoefficients.
Definition at line 63 of file vtkImageBSplineInterpolator.h.
|
inline |
Set the degree of the spline polynomial. The default value is 3, and the maximum is 9. The data must be pre-filtered for the same degree of polynomial with vtkImageBSplineCoefficients.
Definition at line 64 of file vtkImageBSplineInterpolator.h.
|
inline |
Set the degree of the spline polynomial. The default value is 3, and the maximum is 9. The data must be pre-filtered for the same degree of polynomial with vtkImageBSplineCoefficients.
Definition at line 65 of file vtkImageBSplineInterpolator.h.
|
virtual |
Get the support size for use in computing update extents. If the data will be sampled on a regular grid, then pass a matrix describing the structured coordinate transformation between the output and the input. Otherwise, pass NULL as the matrix to retrieve the full kernel size.
Implements vtkAbstractImageInterpolator.
|
virtual |
Returns true if the interpolator supports weight precomputation. This will always return true for this interpolator.
Implements vtkAbstractImageInterpolator.
|
virtual |
If the data is going to be sampled on a regular grid, then the interpolation weights can be precomputed. A matrix must be supplied that provides a transformation between the provided extent and the structured coordinates of the input. This matrix must perform only permutations, scales, and translation, i.e. each of the three columns must have only one non-zero value. A new extent is provided for out-of-bounds checks. THIS METHOD IS THREAD SAFE.
Reimplemented from vtkAbstractImageInterpolator.
|
virtual |
If the data is going to be sampled on a regular grid, then the interpolation weights can be precomputed. A matrix must be supplied that provides a transformation between the provided extent and the structured coordinates of the input. This matrix must perform only permutations, scales, and translation, i.e. each of the three columns must have only one non-zero value. A new extent is provided for out-of-bounds checks. THIS METHOD IS THREAD SAFE.
Reimplemented from vtkAbstractImageInterpolator.
|
virtual |
Free the precomputed weights. THIS METHOD IS THREAD SAFE.
Reimplemented from vtkAbstractImageInterpolator.
|
protectedvirtual |
Update the interpolator.
Implements vtkAbstractImageInterpolator.
|
protectedvirtual |
Copy the interpolator.
Implements vtkAbstractImageInterpolator.
|
protectedvirtual |
Get the interpolation functions.
Reimplemented from vtkAbstractImageInterpolator.
|
protectedvirtual |
Get the interpolation functions.
Reimplemented from vtkAbstractImageInterpolator.
|
protectedvirtual |
Get the row interpolation functions.
Reimplemented from vtkAbstractImageInterpolator.
|
protectedvirtual |
Get the row interpolation functions.
Reimplemented from vtkAbstractImageInterpolator.
|
protectedvirtual |
Build the lookup tables used for the interpolation.
|
protectedvirtual |
Free the kernel lookup tables.
|
protected |
Definition at line 134 of file vtkImageBSplineInterpolator.h.
|
protected |
Definition at line 135 of file vtkImageBSplineInterpolator.h.