ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage > Class Template Reference

Uses the "l2" spline pyramid implementation of B-Spline Filters to up/down sample an image by a factor of 2. More...

#include <itkBSplineResampleImageFilterBase.h>

Inheritance diagram for itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >:
Collaboration diagram for itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >:

List of all members.

Public Types

typedef
itk::ImageLinearConstIteratorWithIndex
< TInputImage > 
ConstInputImageIterator
typedef
itk::ImageLinearConstIteratorWithIndex
< TOutputImage > 
ConstOutputImageIterator
typedef SmartPointer< const SelfConstPointer
typedef TInputImage::IndexType IndexType
typedef Superclass::InputImageType InputImageType
typedef
itk::ImageLinearIteratorWithIndex
< TOutputImage > 
OutputImageIterator
typedef
Superclass::OutputImagePixelType 
OutputImagePixelType
typedef SmartPointer< SelfPointer
typedef TInputImage::RegionType RegionType
typedef
BSplineResampleImageFilterBase 
Self
typedef TInputImage::SizeType SizeType
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual const char * GetNameOfClass () const
virtual int GetSplineOrder () const
void SetSplineOrder (int SplineOrder)

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

 BSplineResampleImageFilterBase ()
virtual void Expand1DImage (const std::vector< double > &In, OutputImageIterator &Iter, unsigned int traverseSize, ProgressReporter &progress)
void ExpandNDImage (OutputImageIterator &OutItr)
virtual void InitializePyramidSplineFilter (int SplineOrder)
void PrintSelf (std::ostream &os, Indent indent) const
virtual void Reduce1DImage (const std::vector< double > &In, OutputImageIterator &Iter, unsigned int traverseSize, ProgressReporter &progress)
void ReduceNDImage (OutputImageIterator &OutItr)
virtual ~BSplineResampleImageFilterBase ()

Protected Attributes

std::vector< double > m_G
int m_GSize
std::vector< double > m_H
int m_HSize
int m_SplineOrder

Private Member Functions

 BSplineResampleImageFilterBase (const Self &)
void CopyInputLineToScratch (ConstInputImageIterator &Iter)
void CopyLineToScratch (ConstInputImageIterator &Iter)
void CopyOutputLineToScratch (ConstOutputImageIterator &Iter)
void InitializeScratch (SizeType DataLength)
void operator= (const Self &)

Private Attributes

std::vector< double > m_Scratch

Detailed Description

template<class TInputImage, class TOutputImage>
class itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >

Uses the "l2" spline pyramid implementation of B-Spline Filters to up/down sample an image by a factor of 2.

This class defines N-Dimension B-Spline transformation. It is based on: [1] M. Unser, "Splines: A Perfect Fit for Signal and Image Processing," IEEE Signal Processing Magazine, vol. 16, no. 6, pp. 22-38, November 1999. [2] M. Unser, A. Aldroubi and M. Eden, "B-Spline Signal Processing: Part I--Theory," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 821-832, February 1993. [3] M. Unser, A. Aldroubi and M. Eden, "B-Spline Signal Processing: Part II--Efficient Design and Applications," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 834-848, February 1993. And code obtained from bigwww.epfl.ch by Philippe Thevenaz

Limitations: Spline order for the l2 pyramid must be between 0 and 3. This code cannot be multi-threaded since the entire image must be traversed in the proper order. This code cannot be streamed and requires the all of the input image. Only up/down samples by a factor of 2. This is a base class and is not meant to be instantiated on its own. It requires one of the itkBSplineDownsampleImageFilter or itkBSplineUpsampleImageFilter classes.

See also:
itkBSplineDownsampleImageFilter
itkBSplineUpsampleImageFilter
itkBSplineCenteredL2ResampleImageFilterBase
itkBSplineCenteredResampleImageFilterBase
itkBSplineL2ResampleImageFilterBase

Definition at line 82 of file itkBSplineResampleImageFilterBase.h.


Member Typedef Documentation

template<class TInputImage , class TOutputImage >
typedef itk::ImageLinearConstIteratorWithIndex< TInputImage > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::ConstInputImageIterator

Iterator typedef support

Definition at line 118 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
typedef itk::ImageLinearConstIteratorWithIndex< TOutputImage > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::ConstOutputImageIterator

Iterator typedef support

Definition at line 121 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
typedef SmartPointer< const Self > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::ConstPointer
template<class TInputImage , class TOutputImage >
typedef TInputImage::IndexType itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::IndexType

Index typedef support.

Definition at line 106 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
typedef Superclass::InputImageType itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::InputImageType

New macro for creation of through a Smart Pointer InputInputImage typedef support.

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

Definition at line 93 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
typedef itk::ImageLinearIteratorWithIndex< TOutputImage > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::OutputImageIterator

Output Iterator typedef support

Reimplemented in itk::BSplineCenteredResampleImageFilterBase< TInputImage, TOutputImage >.

Definition at line 124 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
typedef Superclass::OutputImagePixelType itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::OutputImagePixelType

OutputImagePixelType typedef support.

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

Reimplemented in itk::BSplineCenteredResampleImageFilterBase< TInputImage, TOutputImage >.

Definition at line 115 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
typedef SmartPointer< Self > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::Pointer
template<class TInputImage , class TOutputImage >
typedef TInputImage::RegionType itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::RegionType

Size typedef support.

Definition at line 112 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
typedef BSplineResampleImageFilterBase itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::Self
template<class TInputImage , class TOutputImage >
typedef TInputImage::SizeType itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::SizeType

Size typedef support.

Definition at line 109 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage >
itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::BSplineResampleImageFilterBase ( ) [protected]
template<class TInputImage , class TOutputImage >
virtual itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::~BSplineResampleImageFilterBase ( ) [inline, protected, virtual]

Definition at line 161 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::BSplineResampleImageFilterBase ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::CopyInputLineToScratch ( ConstInputImageIterator Iter) [private]
template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::CopyLineToScratch ( ConstInputImageIterator Iter) [private]
template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::CopyOutputLineToScratch ( ConstOutputImageIterator Iter) [private]
template<class TInputImage , class TOutputImage >
virtual void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::Expand1DImage ( const std::vector< double > &  In,
OutputImageIterator Iter,
unsigned int  traverseSize,
ProgressReporter progress 
) [protected, virtual]

The basic operator for expanding a line of data by a factor of 2

template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::ExpandNDImage ( OutputImageIterator OutItr) [protected]

Expands an N-dimension image by a factor of 2 in each dimension.

template<class TInputImage , class TOutputImage >
virtual const char* itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::GetNameOfClass ( ) const [virtual]
template<class TInputImage , class TOutputImage >
virtual int itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::GetSplineOrder ( ) const [virtual]

Get the spline order

template<class TInputImage , class TOutputImage >
virtual void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::InitializePyramidSplineFilter ( int  SplineOrder) [protected, virtual]
template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::InitializeScratch ( SizeType  DataLength) [private]
template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::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 >.

Reimplemented in itk::BSplineCenteredL2ResampleImageFilterBase< TInputImage, TOutputImage >, itk::BSplineCenteredResampleImageFilterBase< TInputImage, TOutputImage >, and itk::BSplineL2ResampleImageFilterBase< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::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 >.

Reimplemented in itk::BSplineCenteredL2ResampleImageFilterBase< TInputImage, TOutputImage >, itk::BSplineCenteredResampleImageFilterBase< TInputImage, TOutputImage >, and itk::BSplineL2ResampleImageFilterBase< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
virtual void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::Reduce1DImage ( const std::vector< double > &  In,
OutputImageIterator Iter,
unsigned int  traverseSize,
ProgressReporter progress 
) [protected, virtual]

The basic operator for reducing a line of data by a factor of 2

template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::ReduceNDImage ( OutputImageIterator OutItr) [protected]

Reduces an N-dimension image by a factor of 2 in each dimension.

template<class TInputImage , class TOutputImage >
void itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::SetSplineOrder ( int  SplineOrder)

Set the spline order for interpolation. Value must be between 0 and 3 with a default of 0.


Member Data Documentation

template<class TInputImage , class TOutputImage >
const unsigned int itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension [static]

Dimension underlying input image.

Definition at line 103 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
std::vector< double > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::m_G [protected]

Definition at line 168 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
int itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::m_GSize [protected]

Definition at line 165 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
std::vector< double > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::m_H [protected]

Definition at line 169 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
int itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::m_HSize [protected]

Definition at line 166 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
std::vector< double > itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::m_Scratch [private]

Definition at line 183 of file itkBSplineResampleImageFilterBase.h.

template<class TInputImage , class TOutputImage >
int itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::m_SplineOrder [protected]

Definition at line 164 of file itkBSplineResampleImageFilterBase.h.


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