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::VectorExpandImageFilter< TInputImage, TOutputImage > Class Template Reference

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

#include <itkVectorExpandImageFilter.h>

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

List of all members.

Public Types

enum  { VectorDimension = InputPixelType::Dimension }
typedef SmartPointer< const SelfConstPointer
typedef double CoordRepType
typedef
VectorLinearInterpolateImageFunction
< InputImageType, CoordRepType
DefaultInterpolatorType
typedef FixedArray
< ExpandFactorsType,
ImageDimension
ExpandFactorsArrayType
typedef float ExpandFactorsType
typedef TInputImage::Pointer InputImagePointer
typedef Superclass::InputImageType InputImageType
typedef InputImageType::PixelType InputPixelType
typedef InputPixelType::ValueType InputValueType
typedef InterpolatorType::Pointer InterpolatorPointer
typedef
VectorInterpolateImageFunction
< InputImageType, CoordRepType
InterpolatorType
typedef TOutputImage::Pointer OutputImagePointer
typedef TOutputImage::RegionType OutputImageRegionType
typedef Superclass::OutputImageType OutputImageType
typedef OutputImageType::PixelType OutputPixelType
typedef OutputPixelType::ValueType OutputValueType
typedef SmartPointer< SelfPointer
typedef VectorExpandImageFilter Self
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void GenerateInputRequestedRegion ()
virtual void GenerateOutputInformation ()
virtual const
ExpandFactorsArrayType
GetExpandFactors ()
virtual InterpolatorTypeGetInterpolator ()
virtual const char * GetNameOfClass () const
virtual void SetInterpolator (InterpolatorType *_arg)
 typedef (Concept::HasNumericTraits< InputValueType >) InputHasNumericTraitsCheck
 typedef (Concept::HasNumericTraits< OutputValueType >) OutputHasNumericTraitsCheck
virtual void SetExpandFactors (ExpandFactorsArrayType _arg)
virtual void SetExpandFactors (const float factor)
virtual void SetExpandFactors (const unsigned int data[])

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

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

Private Member Functions

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

Private Attributes

ExpandFactorsArrayType m_ExpandFactors
InterpolatorPointer m_Interpolator

Detailed Description

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

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

VectorExpandImageFilter 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 VectorLinearInterpolateImageFunction. The user can specified a particular interpolation function via SetInterpolator(). Note that the input interpolator must derive from base class VectorInterpolateImageFunction.

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 pixel types base on itk::Vectors. For scalar pixel images use ExpandImageFilter.

This filter assumes that the input and output image has the same number of dimensions, and that the input and output pixel types have the same vector dimension.

See also:
Vector
VectorInterpolateImageFunction
VectorLinearInterpolationImageFunction
ExpandImageFilter

Definition at line 72 of file itkVectorExpandImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TOutputImage >
typedef SmartPointer< const Self > itk::VectorExpandImageFilter< TInputImage, TOutputImage >::ConstPointer
template<class TInputImage , class TOutputImage >
typedef double itk::VectorExpandImageFilter< TInputImage, TOutputImage >::CoordRepType

Typedef support for the interpolation function

Definition at line 115 of file itkVectorExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef VectorLinearInterpolateImageFunction< InputImageType, CoordRepType > itk::VectorExpandImageFilter< TInputImage, TOutputImage >::DefaultInterpolatorType

Definition at line 118 of file itkVectorExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef FixedArray< ExpandFactorsType, ImageDimension > itk::VectorExpandImageFilter< TInputImage, TOutputImage >::ExpandFactorsArrayType

Definition at line 112 of file itkVectorExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef float itk::VectorExpandImageFilter< TInputImage, TOutputImage >::ExpandFactorsType

The type of the expand factors representation

Definition at line 111 of file itkVectorExpandImageFilter.h.

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

Typedef to describe the output image region type.

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

Definition at line 83 of file itkVectorExpandImageFilter.h.

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

Inherit some types from superclass

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

Definition at line 98 of file itkVectorExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType itk::VectorExpandImageFilter< TInputImage, TOutputImage >::InputPixelType

Definition at line 104 of file itkVectorExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef InputPixelType::ValueType itk::VectorExpandImageFilter< TInputImage, TOutputImage >::InputValueType

Definition at line 105 of file itkVectorExpandImageFilter.h.

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

Definition at line 117 of file itkVectorExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef VectorInterpolateImageFunction< InputImageType, CoordRepType > itk::VectorExpandImageFilter< TInputImage, TOutputImage >::InterpolatorType

Definition at line 116 of file itkVectorExpandImageFilter.h.

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

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 87 of file itkVectorExpandImageFilter.h.

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

Superclass typedefs.

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

Definition at line 88 of file itkVectorExpandImageFilter.h.

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

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 99 of file itkVectorExpandImageFilter.h.

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

Input/output vector types.

Definition at line 102 of file itkVectorExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef OutputPixelType::ValueType itk::VectorExpandImageFilter< TInputImage, TOutputImage >::OutputValueType

Definition at line 103 of file itkVectorExpandImageFilter.h.

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

Standard class typedefs.

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

Definition at line 77 of file itkVectorExpandImageFilter.h.

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

Member Enumeration Documentation

template<class TInputImage , class TOutputImage >
anonymous enum

Determine the vector dimension.

Enumerator:
VectorDimension 

Definition at line 108 of file itkVectorExpandImageFilter.h.


Constructor & Destructor Documentation

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

End concept checking

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

Definition at line 173 of file itkVectorExpandImageFilter.h.

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

Member Function Documentation

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

VectorExpandImageFilter 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::VectorExpandImageFilter< TInputImage, TOutputImage >::GenerateOutputInformation ( ) [virtual]

Set the edge padding value. The default is a vector of zero. Get the edge padding value. VectorExpandImageFilter produces an image which is a different resolution and with a different pixel spacing than its input image. As such, VectorExpandImageFilter 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 ExpandFactorsArrayType& itk::VectorExpandImageFilter< TInputImage, TOutputImage >::GetExpandFactors ( ) [virtual]

Get the expand factors.

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

Get a pointer to the interpolator function.

template<class TInputImage , class TOutputImage >
virtual const char* itk::VectorExpandImageFilter< 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::VectorExpandImageFilter< TInputImage, TOutputImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

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

template<class TInputImage , class TOutputImage >
virtual void itk::VectorExpandImageFilter< TInputImage, TOutputImage >::SetExpandFactors ( const float  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::VectorExpandImageFilter< TInputImage, TOutputImage >::SetExpandFactors ( const unsigned int  data[]) [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::VectorExpandImageFilter< TInputImage, TOutputImage >::SetExpandFactors ( ExpandFactorsArrayType  _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::VectorExpandImageFilter< TInputImage, TOutputImage >::SetInterpolator ( InterpolatorType _arg) [virtual]

Set the interpolator function.

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

VectorExpandImageFilter 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::VectorExpandImageFilter< TInputImage, TOutputImage >::typedef ( Concept::HasNumericTraits< OutputValueType )

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

template<class TInputImage , class TOutputImage >
itk::VectorExpandImageFilter< TInputImage, TOutputImage >::typedef ( Concept::HasNumericTraits< InputValueType )

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


Member Data Documentation

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

ImageDimension enumeration

Definition at line 95 of file itkVectorExpandImageFilter.h.

template<class TInputImage , class TOutputImage >
ExpandFactorsArrayType itk::VectorExpandImageFilter< TInputImage, TOutputImage >::m_ExpandFactors [private]

Definition at line 196 of file itkVectorExpandImageFilter.h.

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

Definition at line 197 of file itkVectorExpandImageFilter.h.


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