ITK  4.2.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Private Member Functions | Private Attributes
itk::CompositeTransformIOHelper Class Reference

#include <itkCompositeTransformIOHelper.h>

+ Collaboration diagram for itk::CompositeTransformIOHelper:

List of all members.

Public Types

typedef
TransformIOBase::ConstTransformListType 
ConstTransformListType
typedef
TransformIOBase::ConstTransformPointer 
ConstTransformPointer
typedef
TransformIOBase::TransformListType 
TransformListType
typedef
TransformIOBase::TransformPointer 
TransformPointer
typedef
TransformIOBase::TransformType 
TransformType

Public Member Functions

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

Private Member Functions

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

Private Attributes

ConstTransformListType m_TransformList

Detailed Description

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 44 of file itkCompositeTransformIOHelper.h.


Member Typedef Documentation

Definition at line 51 of file itkCompositeTransformIOHelper.h.

Definition at line 50 of file itkCompositeTransformIOHelper.h.

Definition at line 49 of file itkCompositeTransformIOHelper.h.

Definition at line 48 of file itkCompositeTransformIOHelper.h.

Definition at line 47 of file itkCompositeTransformIOHelper.h.


Member Function Documentation

template<typename TScalar , unsigned TDim>
int itk::CompositeTransformIOHelper::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.

ConstTransformListType& itk::CompositeTransformIOHelper::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 , unsigned TDim>
int itk::CompositeTransformIOHelper::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.

void itk::CompositeTransformIOHelper::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

ConstTransformListType itk::CompositeTransformIOHelper::m_TransformList
private

Definition at line 70 of file itkCompositeTransformIOHelper.h.


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