Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType > Class Template Reference

Resamples an image at the coordinates specified by the user. More...

#include <itkInterpolateImagePointsFilter.h>

Inheritance diagram for itk::InterpolateImagePointsFilter:

Inheritance graph
[legend]
Collaboration diagram for itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef InterpolateImagePointsFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::InputImageType InputImageType
typedef Superclass::OutputImageType OutputImageType
typedef Superclass::InputImagePointer InputImagePointer
typedef TOutputImage::Pointer OutputImagePointer
typedef ImageRegionIterator<
InputImageType
OutputImageIterator
typedef OutputImageType::RegionType OutputImageRegionType
typedef TOutputImage::PixelType PixelType
typedef InterpolatorType::Pointer InterpolatorPointer
typedef InterpolatorType::ContinuousIndexType ContinuousIndexType
typedef Image< TCoordType,
itkGetStaticConstMacro(ImageDimension) 
CoordImageType )
typedef ImageToImageFilterDetail::ImageRegionCopier<
itkGetStaticConstMacro(ImageDimension),
itkGetStaticConstMacro(ImageDimension) 
RegionCopierType )

Public Methods

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
void SetInputImage (const TInputImage *inputImage)
void SetInterpolationCoordinate (const CoordImageType *coordinate, unsigned int setDimension)
virtual void SetDefaultPixelValue (PixelType _arg)
virtual PixelType GetDefaultPixelValue ()
InterpolatorPointer GetInterpolator ()
void GenerateOutputInformation ()
void GenerateInputRequestedRegion ()

Static Public Methods

Pointer New ()

Protected Methods

 InterpolateImagePointsFilter ()
 ~InterpolateImagePointsFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int threadId)
void BeforeThreadedGenerateData ()

Detailed Description

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
class itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >

Resamples an image at the coordinates specified by the user.

This class may be templated over the Interpolate Function but defaults to the BSplineInterpolateImageFunction for cubic interpolation. The user must set the image using the SetInputImage function and they must set the coordinates (one coordinate "image" for each dimension) using SetInterpolationCoordinate(). The coordinates may be any number of points and can be randomly organized. The interpolated output will correspond to the ordering of the coordinate points. The coordinates must be of type ContinuousIndexType and not of PointType.

This function is different from the resampleImageFilter class in that the resampleImageFilter applies a transform to the original input image coordinates. This function takes an arbitrary set of point coordinates and applies the transform at these locations.

Limitations: The coordinates must be in an image of the same dimension as the input image. There is no reason why this should be the case and future revisions should look at eliminating this limitation. Currently TCoordType must be the same as the input pixel type (TInputImage). Again future revisions should look at eliminating this limitation. Though the output generation may be streamed the entire input image, must be supplied. The coordinates may be streamed in smaller blocks. The coordinates are specified as seperate images for each dimension. The coordinates are treated as Continuous Indicies. If coordinates are supplied as Points then they must be converted to an Index before passing to this class.

See also:
BSplineInterpolateImageFunction , ResampleImageFilter

Definition at line 74 of file itkInterpolateImagePointsFilter.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef SmartPointer<const Self> itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::ConstPointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 82 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef InterpolatorType::ContinuousIndexType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::ContinuousIndexType
 

Definition at line 111 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef Image< TCoordType, itkGetStaticConstMacro(ImageDimension) itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::CoordImageType)
 

Typedefs to describe and access coordinate images

Definition at line 114 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef Superclass::InputImagePointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InputImagePointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 97 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef Superclass::InputImageType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InputImageType
 

Typedefs from the Superclass

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 95 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef InterpolatorType::Pointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InterpolatorPointer
 

Typedefs to describe and access Interpolator

Definition at line 110 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef ImageRegionIterator<InputImageType> itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::OutputImageIterator
 

Definition at line 101 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef TOutputImage::Pointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::OutputImagePointer
 

Typedefs to describe and access output image.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 100 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef OutputImageType::RegionType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::OutputImageRegionType
 

Superclass typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 102 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef Superclass::OutputImageType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::OutputImageType
 

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 96 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef TOutputImage::PixelType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::PixelType
 

Image pixel value typedef.

Definition at line 105 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef SmartPointer<Self> itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::Pointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 81 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef ImageToImageFilterDetail::ImageRegionCopier<itkGetStaticConstMacro(ImageDimension),itkGetStaticConstMacro(ImageDimension) itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::RegionCopierType)
 

Typedef for region copier

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 117 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef InterpolateImagePointsFilter itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::Self
 

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 79 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
typedef ImageToImageFilter<TInputImage, TOutputImage> itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::Superclass
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 80 of file itkInterpolateImagePointsFilter.h.


Constructor & Destructor Documentation

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InterpolateImagePointsFilter   [protected]
 

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::~InterpolateImagePointsFilter   [inline, protected]
 

Definition at line 159 of file itkInterpolateImagePointsFilter.h.

References HardConnectedComponentImageFilter::PrintSelf().


Member Function Documentation

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::BeforeThreadedGenerateData   [protected, virtual]
 

TODO: This needs to be modified for a threaded implementation.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::GenerateInputRequestedRegion   [virtual]
 

Overloaded to set the input image to the largest possible region

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::GenerateOutputInformation   [virtual]
 

Overloaded to ensure that output is sized the same as the coordinate inputs and not the size of the input image.

Reimplemented from itk::ProcessObject.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
virtual const char* itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::GetClassName   const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
virtual PixelType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::GetDefaultPixelValue   [virtual]
 

Get the pixel value when a transformed pixel is outside of the image

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
InterpolatorPointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::GetInterpolator   [inline]
 

Returns a pointer to the interpolator.

Definition at line 136 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::itkStaticConstMacro ImageDimension   ,
unsigned    int,
TInputImage::ImageDimension   
 

ImageDimension enumeration.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
Pointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::New   [static]
 

New macro for creation of through a Smart Pointer

Reimplemented from itk::Object.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::PrintSelf std::ostream &    os,
Indent    indent
const [protected, 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 itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
virtual void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::SetDefaultPixelValue PixelType    _arg [virtual]
 

Set the pixel value when a transformed pixel is outside of the image

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::SetInputImage const TInputImage *    inputImage
 

SetInputImage is used to set the image to be interpolated. Note that this should be used instead of the direct setInput as multiple inputs are needed and this class keeps track of the ordering.

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::SetInterpolationCoordinate const CoordImageType   coordinate,
unsigned int    setDimension
 

SetInterpolationCoordinate must be called for each dimension. The variable setDimension is used to identify the dimension being set, i.e. 0,1,2...N

template<class TInputImage, class TOutputImage, class TCoordType = float, class InterpolatorType = BSplineInterpolateImageFunction<TInputImage, TCoordType>>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::ThreadedGenerateData const OutputImageRegionType   outputRegionForThread,
int    threadId
[protected, virtual]
 

TODO: This needs to be modified for a threaded implementation.

Reimplemented from itk::ImageSource< TOutputImage >.


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:30:27 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000