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::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType > Class Template Reference

Generate a displacement field from a coordinate transform. More...

#include <itkTransformToDisplacementFieldSource.h>

Inheritance diagram for itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >:
Collaboration diagram for itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
OutputImageType::DirectionType 
DirectionType
typedef ImageBase
< itkGetStaticConstMacro(ImageDimension) > 
ImageBaseType
typedef OutputImageType::IndexType IndexType
typedef OutputImageType::PointType OriginType
typedef
OutputImageType::ConstPointer 
OutputImageConstPointer
typedef OutputImageType::Pointer OutputImagePointer
typedef OutputImageType::RegionType OutputImageRegionType
typedef TOutputImage OutputImageType
typedef OutputImageType::PixelType PixelType
typedef PixelType::ValueType PixelValueType
typedef SmartPointer< SelfPointer
typedef OutputImageType::PointType PointType
typedef OutputImageType::RegionType RegionType
typedef
TransformToDisplacementFieldSource 
Self
typedef RegionType::SizeType SizeType
typedef
OutputImageType::SpacingType 
SpacingType
typedef ImageSource< TOutputImage > Superclass
typedef Transform
< TTransformPrecisionType,
itkGetStaticConstMacro(ImageDimension),
itkGetStaticConstMacro(ImageDimension) > 
TransformType
typedef TransformType::ConstPointer TransformPointerType

Public Member Functions

virtual void BeforeThreadedGenerateData (void)
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void GenerateOutputInformation (void)
unsigned long GetMTime (void) const
virtual const char * GetNameOfClass () const
virtual const IndexTypeGetOutputIndex ()
virtual const OriginTypeGetOutputOrigin ()
virtual const
OutputImageRegionType
GetOutputRegion ()
virtual const SizeTypeGetOutputSize ()
virtual const SpacingTypeGetOutputSpacing ()
virtual const TransformTypeGetTransform ()
virtual void SetOutputIndex (const IndexType &index)
void SetOutputParametersFromImage (const ImageBaseType *image)
virtual void SetOutputRegion (OutputImageRegionType _arg)
virtual void SetOutputSize (const SizeType &size)
virtual void SetTransform (const TransformType *_arg)
 typedef (Concept::SameDimension< ImageDimension, PixelDimension >) SameDimensionCheck
virtual void SetOutputSpacing (SpacingType _arg)
virtual void SetOutputSpacing (const double *values)
virtual void SetOutputOrigin (OriginType _arg)
virtual void SetOutputOrigin (const double *values)
virtual void SetOutputDirection (DirectionType _arg)
virtual const DirectionTypeGetOutputDirection ()

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TOutputImage::ImageDimension
static const unsigned int PixelDimension = PixelType::Dimension

Protected Member Functions

void LinearThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
void NonlinearThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
void PrintSelf (std::ostream &os, Indent indent) const
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
 TransformToDisplacementFieldSource (void)
 ~TransformToDisplacementFieldSource (void)

Private Member Functions

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

Private Attributes

DirectionType m_OutputDirection
OriginType m_OutputOrigin
RegionType m_OutputRegion
SpacingType m_OutputSpacing
TransformPointerType m_Transform

Detailed Description

template<class TOutputImage, class TTransformPrecisionType = double>
class itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >

Generate a displacement field from a coordinate transform.

Output information (spacing, size and direction) for the output image should be set. This information has the normal defaults of unit spacing, zero origin and identity direction. Optionally, the output information can be obtained from a reference image. If the reference image is provided and UseReferenceImage is On, then the spacing, origin and direction of the reference image will be used.

Since this filter produces an image which is a different size than its input, it needs to override several of the methods defined in ProcessObject in order to properly manage the pipeline execution model. In particular, this filter overrides ProcessObject::GenerateInputRequestedRegion() and ProcessObject::GenerateOutputInformation().

This filter is implemented as a multithreaded filter. It provides a ThreadedGenerateData() method for its implementation.

Author:
Marius Staring, Leiden University Medical Center, The Netherlands.

This class was taken from the Insight Journal paper: http://hdl.handle.net/1926/1387

Definition at line 56 of file itkTransformToDisplacementFieldSource.h.


Member Typedef Documentation

template<class TOutputImage , class TTransformPrecisionType = double>
typedef SmartPointer< const Self > itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::ConstPointer

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 64 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::DirectionType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::DirectionType

Definition at line 97 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef ImageBase< itkGetStaticConstMacro(ImageDimension) > itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::ImageBaseType

Typedefs for base image.

Definition at line 100 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::IndexType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::IndexType

Definition at line 93 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::PointType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::OriginType

Definition at line 96 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::ConstPointer itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::OutputImageConstPointer

Definition at line 68 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::Pointer itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::OutputImagePointer

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 67 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::RegionType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::OutputImageRegionType

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 69 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef TOutputImage itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::OutputImageType

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 66 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::PixelType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::PixelType

Typedefs for output image.

Definition at line 89 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef PixelType::ValueType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::PixelValueType

Definition at line 90 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef SmartPointer< Self > itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::Pointer

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 63 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::PointType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::PointType

Definition at line 94 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::RegionType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::RegionType

Definition at line 91 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef TransformToDisplacementFieldSource itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::Self

Standard class typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 61 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef RegionType::SizeType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SizeType

Definition at line 92 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef OutputImageType::SpacingType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SpacingType

Definition at line 95 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef ImageSource< TOutputImage > itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::Superclass

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 62 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef TransformType::ConstPointer itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::TransformPointerType

Typedefs for transform.

Definition at line 85 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
typedef Transform< TTransformPrecisionType, itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension) > itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::TransformType

Typedefs for transform.

Definition at line 84 of file itkTransformToDisplacementFieldSource.h.


Constructor & Destructor Documentation

template<class TOutputImage , class TTransformPrecisionType = double>
itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::TransformToDisplacementFieldSource ( void  ) [protected]

End concept checking

template<class TOutputImage , class TTransformPrecisionType = double>
itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::~TransformToDisplacementFieldSource ( void  ) [inline, protected]

Definition at line 177 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::TransformToDisplacementFieldSource ( const Self ) [private]

Member Function Documentation

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::BeforeThreadedGenerateData ( void  ) [virtual]

Just checking if transform is set.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual::itk::LightObject::Pointer itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::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 TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GenerateOutputInformation ( void  ) [virtual]

DisplacementFieldImageFilter produces a vector image.

Reimplemented from itk::ProcessObject.

template<class TOutputImage , class TTransformPrecisionType = double>
unsigned long itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetMTime ( void  ) const [virtual]

Compute the Modified Time based on changes to the components.

Reimplemented from itk::Object.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual const char* itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual const DirectionType& itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetOutputDirection ( ) [virtual]

Set the output direction cosine matrix.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual const IndexType& itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetOutputIndex ( ) [virtual]

Get the start index of the output largest possible region.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual const OriginType& itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetOutputOrigin ( ) [virtual]

Get the output image origin.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual const OutputImageRegionType& itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetOutputRegion ( ) [virtual]

Get the region of the output image.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual const SizeType& itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetOutputSize ( ) [virtual]

Get the size of the output image.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual const SpacingType& itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetOutputSpacing ( ) [virtual]

Get the output image spacing.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual const TransformType* itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::GetTransform ( ) [virtual]

Get a pointer to the coordinate transform.

template<class TOutputImage , class TTransformPrecisionType = double>
void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::LinearThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected]

Faster implementation for resampling that works for with linear transformation types.

template<class TOutputImage , class TTransformPrecisionType = double>
static Pointer itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TOutputImage , class TTransformPrecisionType = double>
void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::NonlinearThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected]

Default implementation for resampling that works for any transformation type.

template<class TOutputImage , class TTransformPrecisionType = double>
void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::operator= ( const Self ) [private]

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TOutputImage , class TTransformPrecisionType = double>
void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::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::ProcessObject.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputDirection ( DirectionType  _arg) [virtual]

Set the output direction cosine matrix.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputIndex ( const IndexType index) [virtual]

Set the start index of the output largest possible region. The default is an index of all zeros.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputOrigin ( const double *  values) [virtual]

Set the output image origin.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputOrigin ( OriginType  _arg) [virtual]

Set the output image origin.

template<class TOutputImage , class TTransformPrecisionType = double>
void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputParametersFromImage ( const ImageBaseType image)

Helper method to set the output parameters based on this image

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputRegion ( OutputImageRegionType  _arg) [virtual]

Set the region of the output image.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputSize ( const SizeType size) [virtual]

Set the size of the output image.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputSpacing ( const double *  values) [virtual]

Set the output image spacing.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetOutputSpacing ( SpacingType  _arg) [virtual]

Set the output image spacing.

template<class TOutputImage , class TTransformPrecisionType = double>
virtual void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::SetTransform ( const TransformType _arg) [virtual]

Set the coordinate transformation. Set the coordinate transform to use for resampling. Note that this must be in physical coordinates and it is the output-to-input transform, NOT the input-to-output transform that you might naively expect. By default the filter uses an Identity transform. You must provide a different transform here, before attempting to run the filter, if you do not want to use the default Identity transform.

template<class TOutputImage , class TTransformPrecisionType = double>
void itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected, virtual]

TransformToDisplacementFieldSource can be implemented as a multithreaded filter.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TOutputImage , class TTransformPrecisionType = double>
itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::typedef ( Concept::SameDimension< ImageDimension, PixelDimension )

This class requires SameDimensionCheck in the form of ( Concept::SameDimension< ImageDimension, PixelDimension > )


Member Data Documentation

template<class TOutputImage , class TTransformPrecisionType = double>
const unsigned int itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::ImageDimension = TOutputImage::ImageDimension [static]

Number of dimensions.

Definition at line 79 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
DirectionType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::m_OutputDirection [private]

Definition at line 212 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
OriginType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::m_OutputOrigin [private]

Definition at line 211 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
RegionType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::m_OutputRegion [private]

Member variables.

Definition at line 208 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
SpacingType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::m_OutputSpacing [private]

Definition at line 210 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
TransformPointerType itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::m_Transform [private]

Definition at line 209 of file itkTransformToDisplacementFieldSource.h.

template<class TOutputImage , class TTransformPrecisionType = double>
const unsigned int itk::TransformToDisplacementFieldSource< TOutputImage, TTransformPrecisionType >::PixelDimension = PixelType::Dimension [static]

Begin concept checking

Definition at line 169 of file itkTransformToDisplacementFieldSource.h.


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