ITK  5.2.0
Insight Toolkit
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
itk::CompositeTransformIOHelperTemplate< TParametersValueType > Class Template Reference

#include <itkCompositeTransformIOHelper.h>

Public Types

using ConstTransformListType = typename TransformIOBaseTemplate< TParametersValueType >::ConstTransformListType
 
using ConstTransformPointer = typename TransformIOBaseTemplate< TParametersValueType >::ConstTransformPointer
 
using TransformListType = typename TransformIOBaseTemplate< TParametersValueType >::TransformListType
 
using TransformPointer = typename TransformIOBaseTemplate< TParametersValueType >::TransformPointer
 
using TransformType = typename TransformIOBaseTemplate< TParametersValueType >::TransformType
 

Public Member Functions

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

Private Member Functions

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

Private Attributes

ConstTransformListType m_TransformList
 

Detailed Description

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

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

Member Typedef Documentation

◆ ConstTransformListType

template<typename TParametersValueType >
using itk::CompositeTransformIOHelperTemplate< TParametersValueType >::ConstTransformListType = typename TransformIOBaseTemplate<TParametersValueType>::ConstTransformListType

Definition at line 55 of file itkCompositeTransformIOHelper.h.

◆ ConstTransformPointer

template<typename TParametersValueType >
using itk::CompositeTransformIOHelperTemplate< TParametersValueType >::ConstTransformPointer = typename TransformIOBaseTemplate<TParametersValueType>::ConstTransformPointer

Definition at line 54 of file itkCompositeTransformIOHelper.h.

◆ TransformListType

template<typename TParametersValueType >
using itk::CompositeTransformIOHelperTemplate< TParametersValueType >::TransformListType = typename TransformIOBaseTemplate<TParametersValueType>::TransformListType

Definition at line 53 of file itkCompositeTransformIOHelper.h.

◆ TransformPointer

template<typename TParametersValueType >
using itk::CompositeTransformIOHelperTemplate< TParametersValueType >::TransformPointer = typename TransformIOBaseTemplate<TParametersValueType>::TransformPointer

Definition at line 52 of file itkCompositeTransformIOHelper.h.

◆ TransformType

template<typename TParametersValueType >
using itk::CompositeTransformIOHelperTemplate< TParametersValueType >::TransformType = typename TransformIOBaseTemplate<TParametersValueType>::TransformType

Definition at line 51 of file itkCompositeTransformIOHelper.h.

Member Function Documentation

◆ BuildTransformList()

template<typename TParametersValueType >
template<unsigned int VDimension>
int itk::CompositeTransformIOHelperTemplate< TParametersValueType >::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.

◆ GetTransformList()

template<typename TParametersValueType >
ConstTransformListType& itk::CompositeTransformIOHelperTemplate< TParametersValueType >::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.

◆ InternalSetTransformList()

template<typename TParametersValueType >
template<unsigned int VDimension>
int itk::CompositeTransformIOHelperTemplate< TParametersValueType >::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.

◆ SetTransformList()

template<typename TParametersValueType >
void itk::CompositeTransformIOHelperTemplate< TParametersValueType >::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

◆ m_TransformList

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

Definition at line 77 of file itkCompositeTransformIOHelper.h.


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