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 Member Functions | Private Attributes
itk::ExpandImageFilter< TInputImage, TOutputImage > Class Template Reference

Expand the size of an image by an integer factor in each dimension. More...

#include <itkExpandImageFilter.h>

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

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef double CoordRepType
typedef
LinearInterpolateImageFunction
< InputImageType, CoordRepType
DefaultInterpolatorType
typedef FixedArray< unsigned
int, ImageDimension
ExpandFactorsType
typedef InputImageType::Pointer InputImagePointer
typedef Superclass::InputImageType InputImageType
typedef InterpolatorType::Pointer InterpolatorPointer
typedef
InterpolateImageFunction
< InputImageType, CoordRepType
InterpolatorType
typedef OutputImageType::Pointer OutputImagePointer
typedef TOutputImage::RegionType OutputImageRegionType
typedef Superclass::OutputImageType OutputImageType
typedef OutputImageType::PixelType OutputPixelType
typedef SmartPointer< SelfPointer
typedef ExpandImageFilter Self
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void GenerateInputRequestedRegion ()
virtual void GenerateOutputInformation ()
virtual const ExpandFactorsTypeGetExpandFactors ()
virtual InterpolatorTypeGetInterpolator ()
virtual const char * GetNameOfClass () const
virtual void SetInterpolator (InterpolatorType *_arg)
 typedef (Concept::HasNumericTraits< typename TInputImage::PixelType >) InputHasNumericTraitsCheck
 typedef (Concept::HasNumericTraits< OutputPixelType >) OutputHasNumericTraitsCheck
virtual void SetExpandFactors (ExpandFactorsType _arg)
virtual void SetExpandFactors (const unsigned int factor)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

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

Private Member Functions

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

Private Attributes

ExpandFactorsType m_ExpandFactors
InterpolatorPointer m_Interpolator

Detailed Description

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

Expand the size of an image by an integer factor in each dimension.

ExpandImageFilter increases the size of an image by an integer factor in each dimension using a interpolation method. The output image size in each dimension is given by:

OutputSize[j] = InputSize[j] * ExpandFactors[j]

The output values are obtained by interpolating the input image. The default interpolation type used is the LinearInterpolateImageFunction. The user can specify a particular interpolation function via SetInterpolator(). Note that the input interpolator must derive from base class InterpolateImageFunction.

This filter will produce an output with different pixel spacing that its input image such that:

OutputSpacing[j] = InputSpacing[j] / ExpandFactors[j]

The filter is templated over the input image type and the output image type.

This filter is implemented as a multithreaded filter and supports streaming.

Warning:
This filter only works for image with scalar pixel types. For vector images use VectorExpandImageFilter.

This filter assumes that the input and output image has the same number of dimensions.

See also:
InterpolateImageFunction
LinearInterpolationImageFunction
VectorExpandImageFilter

Definition at line 67 of file itkExpandImageFilter.h.


Member Typedef Documentation

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

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

Definition at line 75 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef double itk::ExpandImageFilter< TInputImage, TOutputImage >::CoordRepType

Typedef support for the interpolation function.

Definition at line 98 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef LinearInterpolateImageFunction< InputImageType, CoordRepType > itk::ExpandImageFilter< TInputImage, TOutputImage >::DefaultInterpolatorType

Definition at line 102 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef FixedArray< unsigned int, ImageDimension > itk::ExpandImageFilter< TInputImage, TOutputImage >::ExpandFactorsType

The type of the expand factors representation

Definition at line 108 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::Pointer itk::ExpandImageFilter< TInputImage, TOutputImage >::InputImagePointer

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

Definition at line 94 of file itkExpandImageFilter.h.

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

Inherit some types from superclass.

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

Definition at line 91 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InterpolatorType::Pointer itk::ExpandImageFilter< TInputImage, TOutputImage >::InterpolatorPointer

Definition at line 100 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InterpolateImageFunction< InputImageType, CoordRepType > itk::ExpandImageFilter< TInputImage, TOutputImage >::InterpolatorType

Definition at line 99 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::Pointer itk::ExpandImageFilter< TInputImage, TOutputImage >::OutputImagePointer

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 95 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef TOutputImage::RegionType itk::ExpandImageFilter< TInputImage, TOutputImage >::OutputImageRegionType

Typedef to describe the output image region type.

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

Definition at line 81 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef Superclass::OutputImageType itk::ExpandImageFilter< TInputImage, TOutputImage >::OutputImageType

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 92 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputImageType::PixelType itk::ExpandImageFilter< TInputImage, TOutputImage >::OutputPixelType

Definition at line 93 of file itkExpandImageFilter.h.

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

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

Definition at line 74 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef ExpandImageFilter itk::ExpandImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

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

Definition at line 72 of file itkExpandImageFilter.h.

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

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

Definition at line 73 of file itkExpandImageFilter.h.


Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage >
itk::ExpandImageFilter< TInputImage, TOutputImage >::ExpandImageFilter ( ) [protected]

End concept checking

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

End concept checking

Definition at line 155 of file itkExpandImageFilter.h.

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

Member Function Documentation

template<class TInputImage , class TOutputImage >
virtual void itk::ExpandImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( ) [protected, virtual]

This method is used to set the state of the filter before multi-threading.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage >
virtual::itk::LightObject::Pointer itk::ExpandImageFilter< TInputImage, TOutputImage >::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 >
virtual void itk::ExpandImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion ( ) [virtual]

ExpandImageFilter needs a smaller input requested region than the output requested region. As such, ShrinkImageFilter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.

See also:
ProcessObject::GenerateInputRequestedRegion()

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

template<class TInputImage , class TOutputImage >
virtual void itk::ExpandImageFilter< TInputImage, TOutputImage >::GenerateOutputInformation ( ) [virtual]

Set the edge padding value. The default is zero. Get the edge padding value ExpandImageFilter produces an image which is a different resolution and with a different pixel spacing than its input image. As such, ExpandImageFilter needs to provide an implementation for UpdateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.

See also:
ProcessObject::GenerateOutputInformaton()

Reimplemented from itk::ProcessObject.

template<class TInputImage , class TOutputImage >
virtual const ExpandFactorsType& itk::ExpandImageFilter< TInputImage, TOutputImage >::GetExpandFactors ( ) [virtual]

Get the expand factors.

template<class TInputImage , class TOutputImage >
virtual InterpolatorType* itk::ExpandImageFilter< TInputImage, TOutputImage >::GetInterpolator ( ) [virtual]

Get a pointer to the interpolator function.

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

Run-time type information (and related methods).

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

template<class TInputImage , class TOutputImage >
static Pointer itk::ExpandImageFilter< TInputImage, TOutputImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

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

template<class TInputImage , class TOutputImage >
void itk::ExpandImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

End concept checking

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

template<class TInputImage , class TOutputImage >
virtual void itk::ExpandImageFilter< TInputImage, TOutputImage >::SetExpandFactors ( ExpandFactorsType  _arg) [virtual]

Set the expand factors. Values are clamped to a minimum value of 1. Default is 1 for all dimensions.

template<class TInputImage , class TOutputImage >
virtual void itk::ExpandImageFilter< TInputImage, TOutputImage >::SetExpandFactors ( const unsigned int  factor) [virtual]

Set the expand factors. Values are clamped to a minimum value of 1. Default is 1 for all dimensions.

template<class TInputImage , class TOutputImage >
virtual void itk::ExpandImageFilter< TInputImage, TOutputImage >::SetInterpolator ( InterpolatorType _arg) [virtual]

Set the interpolator function.

template<class TInputImage , class TOutputImage >
virtual void itk::ExpandImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected, virtual]

ExpandImageFilter is implemented as a multithreaded filter. Therefore, this implementation provides a ThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling ThreadedGenerateData(). ThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"

See also:
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage >
itk::ExpandImageFilter< TInputImage, TOutputImage >::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 >
itk::ExpandImageFilter< TInputImage, TOutputImage >::typedef ( Concept::HasNumericTraits< OutputPixelType )

This class requires OutputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< OutputPixelType > )


Member Data Documentation

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

ImageDimension enumeration.

Definition at line 88 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
ExpandFactorsType itk::ExpandImageFilter< TInputImage, TOutputImage >::m_ExpandFactors [private]

Definition at line 180 of file itkExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
InterpolatorPointer itk::ExpandImageFilter< TInputImage, TOutputImage >::m_Interpolator [private]

Definition at line 181 of file itkExpandImageFilter.h.


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