VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkImageInterpolator Class Reference

interpolate data values from images More...

#include <vtkImageInterpolator.h>

Inheritance diagram for vtkImageInterpolator:
Inheritance graph
[legend]
Collaboration diagram for vtkImageInterpolator:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
vtkAbstractImageInterpolator 
Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
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)
virtual void SetInterpolationMode (int mode)
void SetInterpolationModeToNearest ()
void SetInterpolationModeToLinear ()
void SetInterpolationModeToCubic ()
int GetInterpolationMode ()
virtual const char * GetInterpolationModeAsString ()
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)

Static Public Member Functions

static vtkImageInterpolatorNew ()
static int IsTypeOf (const char *type)
static vtkImageInterpolatorSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkImageInterpolator ()
 ~vtkImageInterpolator ()
virtual void InternalUpdate ()
virtual void InternalDeepCopy (vtkAbstractImageInterpolator *obj)
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))

Protected Attributes

int InterpolationMode

Detailed Description

interpolate data values from images

vtkImageInterpolator provides a simple interface for interpolating image data. It provides linear, cubic, and nearest-neighbor interpolation.

Thanks:
Thanks to David Gobbi at the Seaman Family MR Centre and Dept. of Clinical Neurosciences, Foothills Medical Centre, Calgary, for providing this class.
See also:
vtkImageReslice

Definition at line 32 of file vtkImageInterpolator.h.


Member Typedef Documentation

Reimplemented from vtkAbstractImageInterpolator.

Definition at line 37 of file vtkImageInterpolator.h.


Constructor & Destructor Documentation

vtkImageInterpolator::vtkImageInterpolator ( ) [protected]
vtkImageInterpolator::~vtkImageInterpolator ( ) [protected]

Member Function Documentation

static vtkImageInterpolator* vtkImageInterpolator::New ( ) [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual const char* vtkImageInterpolator::GetClassName ( ) [virtual]

Reimplemented from vtkAbstractImageInterpolator.

static int vtkImageInterpolator::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkAbstractImageInterpolator.

virtual int vtkImageInterpolator::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkAbstractImageInterpolator.

static vtkImageInterpolator* vtkImageInterpolator::SafeDownCast ( vtkObject o) [static]

Reimplemented from vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::SetInterpolationMode ( int  mode) [virtual]

The interpolation mode for point scalars (default: linear). Subclasses will provide additional interpolation modes, so this is a virtual method.

void vtkImageInterpolator::SetInterpolationModeToNearest ( ) [inline]

The interpolation mode for point scalars (default: linear). Subclasses will provide additional interpolation modes, so this is a virtual method.

Definition at line 45 of file vtkImageInterpolator.h.

void vtkImageInterpolator::SetInterpolationModeToLinear ( ) [inline]

The interpolation mode for point scalars (default: linear). Subclasses will provide additional interpolation modes, so this is a virtual method.

Definition at line 47 of file vtkImageInterpolator.h.

void vtkImageInterpolator::SetInterpolationModeToCubic ( ) [inline]

The interpolation mode for point scalars (default: linear). Subclasses will provide additional interpolation modes, so this is a virtual method.

Definition at line 49 of file vtkImageInterpolator.h.

int vtkImageInterpolator::GetInterpolationMode ( ) [inline]

The interpolation mode for point scalars (default: linear). Subclasses will provide additional interpolation modes, so this is a virtual method.

Definition at line 51 of file vtkImageInterpolator.h.

virtual const char* vtkImageInterpolator::GetInterpolationModeAsString ( ) [virtual]

The interpolation mode for point scalars (default: linear). Subclasses will provide additional interpolation modes, so this is a virtual method.

virtual void vtkImageInterpolator::ComputeSupportSize ( const double  matrix[16],
int  support[3] 
) [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 bool vtkImageInterpolator::IsSeparable ( ) [virtual]

Returns true if the interpolator supports weight precomputation. This will always return true for this interpolator.

Implements vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::PrecomputeWeightsForExtent ( const double  matrix[16],
const int  extent[6],
int  newExtent[6],
vtkInterpolationWeights *&  weights 
) [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 that can be used for out-of-bounds checks. THIS METHOD IS THREAD SAFE.

Reimplemented from vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::PrecomputeWeightsForExtent ( const float  matrix[16],
const int  extent[6],
int  newExtent[6],
vtkInterpolationWeights *&  weights 
) [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 that can be used for out-of-bounds checks. THIS METHOD IS THREAD SAFE.

Reimplemented from vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::FreePrecomputedWeights ( vtkInterpolationWeights *&  weights) [virtual]

Free the precomputed weights. THIS METHOD IS THREAD SAFE.

Reimplemented from vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::InternalUpdate ( ) [protected, virtual]

Update the interpolator.

Implements vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::InternalDeepCopy ( vtkAbstractImageInterpolator obj) [protected, virtual]

Copy all members.

Implements vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::GetInterpolationFunc ( void(**)(vtkInterpolationInfo *, const double[3], double *)  doublefunc) [protected, virtual]

Get the interpolation functions.

Reimplemented from vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::GetInterpolationFunc ( void(**)(vtkInterpolationInfo *, const float[3], float *)  floatfunc) [protected, virtual]

Get the interpolation functions.

Reimplemented from vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::GetRowInterpolationFunc ( void(**)(vtkInterpolationWeights *, int, int, int, double *, int doublefunc) [protected, virtual]

Get the row interpolation functions.

Reimplemented from vtkAbstractImageInterpolator.

virtual void vtkImageInterpolator::GetRowInterpolationFunc ( void(**)(vtkInterpolationWeights *, int, int, int, float *, int floatfunc) [protected, virtual]

Get the row interpolation functions.

Reimplemented from vtkAbstractImageInterpolator.


Member Data Documentation

Definition at line 115 of file vtkImageInterpolator.h.


The documentation for this class was generated from the following file: