ITK  4.6.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
itk::CompositeTransformIOHelperTemplate< TScalar > Class Template Reference

#include <itkCompositeTransformIOHelper.h>

+ Collaboration diagram for itk::CompositeTransformIOHelperTemplate< TScalar >:

Detailed Description

template<typename TScalar>
class itk::CompositeTransformIOHelperTemplate< TScalar >

An adapter that adapts CompositeTransform into the TransformReader/Writer.

The stumbling block with fitting CompositeTransforms into the Transform hierarchy is that it encapsulates a list of itk::Transform, templated to match the dimension and scalar type of the CompositeTransform itself. But the Transform Reader/Writer uses instances of the superclass itk::TransformBase which is not templated.

This class handles this by hiding the conversion between a list of TransformBase and the queue of Transform. It handles the conversion in a cascade of template function invocations to match up the transform list with the particular instantiation of CompositeTransform.

Definition at line 46 of file itkCompositeTransformIOHelper.h.

Public Types

typedef
TransformIOBaseTemplate
< TScalar >
::ConstTransformListType 
ConstTransformListType
 
typedef
TransformIOBaseTemplate
< TScalar >
::ConstTransformPointer 
ConstTransformPointer
 
typedef
TransformIOBaseTemplate
< TScalar >::TransformListType 
TransformListType
 
typedef
TransformIOBaseTemplate
< TScalar >::TransformPointer 
TransformPointer
 
typedef
TransformIOBaseTemplate
< TScalar >::TransformType 
TransformType
 

Public Member Functions

ConstTransformListTypeGetTransformList (const TransformType *transform)
 
void SetTransformList (TransformType *transform, TransformListType &transformList)
 

Private Member Functions

template<unsigned TDim>
int BuildTransformList (const TransformType *transform)
 
template<unsigned TDim>
int InternalSetTransformList (TransformType *transform, TransformListType &transformList)
 

Private Attributes

ConstTransformListType m_TransformList
 

Member Typedef Documentation

Definition at line 53 of file itkCompositeTransformIOHelper.h.

Definition at line 52 of file itkCompositeTransformIOHelper.h.

Definition at line 51 of file itkCompositeTransformIOHelper.h.

template<typename TScalar >
typedef TransformIOBaseTemplate<TScalar>::TransformPointer itk::CompositeTransformIOHelperTemplate< TScalar >::TransformPointer

Definition at line 50 of file itkCompositeTransformIOHelper.h.

template<typename TScalar >
typedef TransformIOBaseTemplate<TScalar>::TransformType itk::CompositeTransformIOHelperTemplate< TScalar >::TransformType

Definition at line 49 of file itkCompositeTransformIOHelper.h.

Member Function Documentation

template<typename TScalar >
template<unsigned TDim>
int itk::CompositeTransformIOHelperTemplate< TScalar >::BuildTransformList ( const TransformType transform)
private

Builds a list of TransformBase from the CompositeTransform's queue. A cascade of calls with different template parameters selects the correct concrete type for CompositeTransform.

template<typename TScalar >
ConstTransformListType& itk::CompositeTransformIOHelperTemplate< TScalar >::GetTransformList ( const TransformType transform)

from a composite transform, recover a TransformIOBase::ConstTransformList. This will re-build the list each time it is called, so it is best to call it once per CompositeTransform and access it through the ConstTransformListType reference, as any subsequent calls will rebuild the list and possibly invalidate any iterators on the list.

template<typename TScalar >
template<unsigned TDim>
int itk::CompositeTransformIOHelperTemplate< TScalar >::InternalSetTransformList ( TransformType transform,
TransformListType transformList 
)
private

Sets a CompositeTransform's TransformQueue from the TransformIO's list of TransformBase. Will throw an exception if the scalar type or dimension of the transform being added doesn't match that of the concrete CompositeTransform's type.

template<typename TScalar >
void itk::CompositeTransformIOHelperTemplate< TScalar >::SetTransformList ( TransformType transform,
TransformListType transformList 
)

set a compositeTransform's transform list from a TransformIOABase::TransformList. If there is any mismatch between a transform being added to composite and the composite, this will throw an exception

Member Data Documentation

template<typename TScalar >
ConstTransformListType itk::CompositeTransformIOHelperTemplate< TScalar >::m_TransformList
private

Definition at line 73 of file itkCompositeTransformIOHelper.h.


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