ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
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< TInputImage, TOutputImage, TCoordType, InterpolatorType >:
Collaboration diagram for itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >:

List of all members.

Public Types

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

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
void GenerateInputRequestedRegion ()
void GenerateOutputInformation ()
virtual PixelType GetDefaultPixelValue () const
InterpolatorPointer GetInterpolator ()
virtual const char * GetNameOfClass () const
virtual void SetDefaultPixelValue (PixelType _arg)
void SetInputImage (const TInputImage *inputImage)
void SetInterpolationCoordinate (const CoordImageType *coordinate, unsigned int setDimension)
 typedef (Concept::HasNumericTraits< typename TInputImage::PixelType >) InputHasNumericTraitsCheck

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

void BeforeThreadedGenerateData ()
 InterpolateImagePointsFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
virtual void VerifyInputInformation ()

Private Types

typedef
ImageRegionConstIterator
< CoordImageType
CoordImageIterator
typedef CoordImageType::RegionType CoordImageRegionType
typedef CoordImageType::Pointer CoordImageTypePointer

Private Member Functions

 InterpolateImagePointsFilter (const Self &)
void operator= (const Self &)

Private Attributes

PixelType m_DefaultPixelValue
InterpolatorPointer m_Interpolator

Detailed Description

template<class TInputImage, class TOutputImage, class TCoordType = typename TInputImage::PixelType, 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 80 of file itkInterpolateImagePointsFilter.h.


Member Typedef Documentation

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

Definition at line 114 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
typedef ImageRegionConstIterator< CoordImageType > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::CoordImageIterator [private]

Definition at line 184 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
typedef CoordImageType::RegionType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::CoordImageRegionType [private]

Definition at line 185 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, 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 117 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
typedef CoordImageType::Pointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::CoordImageTypePointer [private]

Typedefs to describe and access coordinate images

Definition at line 183 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
typedef Superclass::InputImagePointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InputImagePointer
template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, 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 100 of file itkInterpolateImagePointsFilter.h.

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

Typedefs to describe and access Interpolator

Definition at line 113 of file itkInterpolateImagePointsFilter.h.

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

Definition at line 106 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, 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 105 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, 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 107 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, 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 101 of file itkInterpolateImagePointsFilter.h.

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

Image pixel value typedef.

Definition at line 110 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
typedef SmartPointer< Self > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::Pointer
template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
typedef ImageToImageFilterDetail::ImageRegionCopier< itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension) > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::RegionCopierType

Typedef for region copier

Definition at line 121 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, 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 85 of file itkInterpolateImagePointsFilter.h.

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

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InterpolateImagePointsFilter ( ) [protected]

End concept checking

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InterpolateImagePointsFilter ( const Self ) [private]

Member Function Documentation

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

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
virtual::itk::LightObject::Pointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, 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 = typename TInputImage::PixelType, 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 = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
virtual PixelType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::GetDefaultPixelValue ( ) const [virtual]

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

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
InterpolatorPointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::GetInterpolator ( ) [inline]

Returns a pointer to the interpolator.

Definition at line 140 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
virtual const char* itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

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

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
static 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 = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

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

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, 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 = typename TInputImage::PixelType, 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 = typename TInputImage::PixelType, 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 = typename TInputImage::PixelType, 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 = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected, virtual]

Main function for calculating interpolated values at each coordinate set. Access is through the update() call. TODO: This needs to be modified for a threaded implementation.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::typedef ( Concept::HasNumericTraits< typename TInputImage::PixelType >  )

Begin concept checking This class requires InputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< typename TInputImage::PixelType > )

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
virtual void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::VerifyInputInformation ( ) [inline, protected, virtual]

Override VeriyInputInformation() since this filter's inputs do not need to occoupy the same physical space.

See also:
ProcessObject::VerifyInputInformation

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

Definition at line 178 of file itkInterpolateImagePointsFilter.h.


Member Data Documentation

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
const unsigned int itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::ImageDimension = TInputImage::ImageDimension [static]

ImageDimension enumeration.

Definition at line 97 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
PixelType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::m_DefaultPixelValue [private]

Definition at line 191 of file itkInterpolateImagePointsFilter.h.

template<class TInputImage , class TOutputImage , class TCoordType = typename TInputImage::PixelType, class InterpolatorType = BSplineInterpolateImageFunction< TInputImage, TCoordType >>
InterpolatorPointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::m_Interpolator [private]

Definition at line 190 of file itkInterpolateImagePointsFilter.h.


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