ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkCompositeTransformIOHelper.h>
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 | |
ConstTransformListType & | GetTransformList (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 |
typedef TransformIOBaseTemplate<TScalar>::ConstTransformListType itk::CompositeTransformIOHelperTemplate< TScalar >::ConstTransformListType |
Definition at line 53 of file itkCompositeTransformIOHelper.h.
typedef TransformIOBaseTemplate<TScalar>::ConstTransformPointer itk::CompositeTransformIOHelperTemplate< TScalar >::ConstTransformPointer |
Definition at line 52 of file itkCompositeTransformIOHelper.h.
typedef TransformIOBaseTemplate<TScalar>::TransformListType itk::CompositeTransformIOHelperTemplate< TScalar >::TransformListType |
Definition at line 51 of file itkCompositeTransformIOHelper.h.
typedef TransformIOBaseTemplate<TScalar>::TransformPointer itk::CompositeTransformIOHelperTemplate< TScalar >::TransformPointer |
Definition at line 50 of file itkCompositeTransformIOHelper.h.
typedef TransformIOBaseTemplate<TScalar>::TransformType itk::CompositeTransformIOHelperTemplate< TScalar >::TransformType |
Definition at line 49 of file itkCompositeTransformIOHelper.h.
|
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::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.
|
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::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
|
private |
Definition at line 73 of file itkCompositeTransformIOHelper.h.