NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType > Class Template Reference

Parameterised Factory Pattern [2] for creating registration objects. More...

Inheritance diagram for itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >:
Inheritance graph
[legend]
Collaboration diagram for itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >:
Collaboration graph
[legend]

Public Types

typedef ImageRegistrationFactory Self
 
typedef Object Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TInputImageType::PixelType InputPixelType
 
typedef itk::IterationUpdateCommand IterationUpdateCommandType
 
typedef
itk::VnlIterationUpdateCommand 
VnlIterationUpdateCommandType
 
typedef
itk::InterpolateImageFunction
< TInputImageType, TScalarType > 
InterpolatorType
 
typedef
itk::NearestNeighborInterpolateImageFunction
< TInputImageType, TScalarType > 
NearestNeighbourInterpolatorType
 
typedef
itk::LinearInterpolateImageFunction
< TInputImageType, TScalarType > 
LinearInterpolatorType
 
typedef
itk::BSplineInterpolateImageFunction
< TInputImageType, TScalarType > 
BSplineInterpolatorType
 
typedef
itk::ConstantBoundaryCondition
< TInputImageType > 
BoundaryConditionType
 
typedef
itk::Function::WelchWindowFunction
< WindowRadius
WindowFunctionType
 
typedef
itk::WindowedSincInterpolateImageFunction
< TInputImageType,
WindowRadius,
WindowFunctionType,
BoundaryConditionType,
TScalarType > 
SincInterpolatorType
 
typedef itk::SimilarityMeasure
< TInputImageType,
TInputImageType > 
MetricType
 
typedef
itk::SSDImageToImageMetric
< TInputImageType,
TInputImageType > 
SSDMetricType
 
typedef
itk::MSDImageToImageMetric
< TInputImageType,
TInputImageType > 
MSDMetricType
 
typedef
itk::NCCImageToImageMetric
< TInputImageType,
TInputImageType > 
NCCMetricType
 
typedef
itk::SADImageToImageMetric
< TInputImageType,
TInputImageType > 
SADMetricType
 
typedef
itk::RIUImageToImageMetric
< TInputImageType,
TInputImageType > 
RIUMetricType
 
typedef
itk::PIUImageToImageMetric
< TInputImageType,
TInputImageType > 
PIUMetricType
 
typedef
itk::JEImageToImageMetric
< TInputImageType,
TInputImageType > 
JEMetricType
 
typedef
itk::MIImageToImageMetric
< TInputImageType,
TInputImageType > 
MIMetricType
 
typedef
itk::NMIImageToImageMetric
< TInputImageType,
TInputImageType > 
NMIMetricType
 
typedef
itk::CRImageToImageMetric
< TInputImageType,
TInputImageType > 
CRMetricType
 
typedef itk::Transform
< TScalarType, Dimension,
Dimension
TransformType
 
typedef
itk::PerspectiveProjectionTransform
< TScalarType > 
PerspectiveProjectionTransformType
 
typedef
itk::EulerAffineTransform
< TScalarType, Dimension,
Dimension
EulerAffineTransformType
 
typedef
itk::UCLBSplineTransform
< TInputImageType, TScalarType,
Dimension, float > 
BSplineDeformableTransformType
 
typedef
itk::FluidDeformableTransform
< TInputImageType, TScalarType,
Dimension, float > 
FluidDeformableTransformType
 
typedef itk::AffineTransform
< TScalarType, Dimension
ITKAffineTransformType
 
typedef
itk::PCADeformationModelTransform
< TScalarType, Dimension
PCADeformationModelTransformType
 
typedef
itk::TranslationPCADeformationModelTransform
< TScalarType, Dimension
TranslationPCADeformationModelTransformType
 
typedef
itk::SingleValuedNonLinearOptimizer 
OptimizerType
 
typedef itk::UCLSimplexOptimizer SimplexType
 
typedef SimplexTypeSimplexPointer
 
typedef
itk::GradientDescentOptimizer 
GradientDescentType
 
typedef GradientDescentTypeGradientDescentPointer
 
typedef
itk::UCLRegularStepGradientDescentOptimizer 
RegularStepGradientDescentType
 
typedef
RegularStepGradientDescentType
RegularStepGradientDescentPointer
 
typedef
itk::ConjugateGradientOptimizer 
ConjugateGradientType
 
typedef ConjugateGradientTypeConjugateGradientPointer
 
typedef itk::PowellOptimizer PowellOptimizerType
 
typedef PowellOptimizerTypePowellOptimizerPointer
 
typedef
itk::UCLRegularStepOptimizer 
UCLRegularStepOptimizerType
 
typedef
UCLRegularStepOptimizerType
UCLRegularStepOptimizerTypePointer
 
typedef itk::UCLPowellOptimizer UCLPowellOptimizerType
 
typedef UCLPowellOptimizerTypeUCLPowellOptimizerPointer
 
typedef
itk::MaskedImageRegistrationMethod
< TInputImageType > 
SingleResRegistrationType
 
typedef
itk::TranslationThenRotationImageRegistrationMethod
< TInputImageType > 
TranslationThenRotationRegistrationType
 
typedef
itk::TranslateRotateScaleImageRegistrationMethod
< TInputImageType > 
TranslateRotateScaleRegistrationType
 
typedef
itk::RigidPlusScaleImageRegistrationMethod
< TInputImageType > 
RigidPlusScaleRegistrationType
 
typedef
itk::BlockMatchingMethod
< TInputImageType, TScalarType > 
BlockMatchingRegistrationType
 
typedef
itk::MultiResolutionImageRegistrationWrapper
< TInputImageType > 
MultiResRegistrationType
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual
SingleResRegistrationType::Pointer 
CreateSingleResRegistration (SingleResRegistrationMethodTypeEnum type)
 
virtual
MultiResRegistrationType::Pointer 
CreateMultiResRegistration (MultiResRegistrationMethodTypeEnum type)
 
virtual InterpolatorType::Pointer CreateInterpolator (InterpolationTypeEnum type)
 
virtual MetricType::Pointer CreateMetric (MetricTypeEnum type)
 
virtual TransformType::Pointer CreateTransform (TransformTypeEnum type)
 
virtual TransformType::Pointer CreateTransform (std::string transfomFilename)
 
virtual OptimizerType::Pointer CreateOptimizer (OptimizerTypeEnum optimizerType)
 
virtual
IterationUpdateCommandType::Pointer 
CreateIterationUpdateCommand (OptimizerTypeEnum optimizerType)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int WindowRadius = 5
 

Protected Member Functions

 ImageRegistrationFactory ()
 
virtual ~ImageRegistrationFactory ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 

Detailed Description

template<typename TInputImageType, unsigned int Dimension, class TScalarType>
class itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >

Parameterised Factory Pattern [2] for creating registration objects.

The purpose of this class is to:

a.) Define the types that we can create, so look at the typedefs below, and enums above.

b.) Set reasonable defaults, if necessary.

i.e. There is NO clever logic here, it's just "how do I create an object"

While there are many ways of doing this, this one was deemed to be the simplest.

Member Typedef Documentation

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::BlockMatchingMethod<TInputImageType, TScalarType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::BlockMatchingRegistrationType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::ConstantBoundaryCondition< TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::BoundaryConditionType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::UCLBSplineTransform<TInputImageType, TScalarType, Dimension, float> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::BSplineDeformableTransformType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::BSplineInterpolateImageFunction< TInputImageType, TScalarType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::BSplineInterpolatorType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef ConjugateGradientType* itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::ConjugateGradientPointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::ConjugateGradientOptimizer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::ConjugateGradientType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef SmartPointer<const Self> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::ConstPointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::CRImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CRMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::EulerAffineTransform<TScalarType, Dimension, Dimension> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::EulerAffineTransformType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::FluidDeformableTransform<TInputImageType, TScalarType, Dimension, float> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::FluidDeformableTransformType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef GradientDescentType* itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::GradientDescentPointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::GradientDescentOptimizer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::GradientDescentType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef TInputImageType::PixelType itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::InputPixelType

Typedefs.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::InterpolateImageFunction< TInputImageType, TScalarType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::InterpolatorType

Interpolators.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::IterationUpdateCommand itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::IterationUpdateCommandType

Iteration Update Commands.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::AffineTransform<TScalarType, Dimension> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::ITKAffineTransformType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::JEImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::JEMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::LinearInterpolateImageFunction< TInputImageType, TScalarType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::LinearInterpolatorType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::SimilarityMeasure<TInputImageType, TInputImageType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::MetricType

Similarity Measures. We use our base class SimilarityMeasure, not ImageToImageMetric.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::MIImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::MIMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::MSDImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::MSDMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::MultiResolutionImageRegistrationWrapper<TInputImageType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::MultiResRegistrationType

Multi-resolution methods.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::NCCImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::NCCMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::NearestNeighborInterpolateImageFunction< TInputImageType, TScalarType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::NearestNeighbourInterpolatorType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::NMIImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::NMIMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::SingleValuedNonLinearOptimizer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::OptimizerType

Optimisers.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::PCADeformationModelTransform<TScalarType, Dimension> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::PCADeformationModelTransformType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::PerspectiveProjectionTransform<TScalarType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::PerspectiveProjectionTransformType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::PIUImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::PIUMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef SmartPointer<Self> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::Pointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef PowellOptimizerType* itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::PowellOptimizerPointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::PowellOptimizer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::PowellOptimizerType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef RegularStepGradientDescentType* itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::RegularStepGradientDescentPointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::UCLRegularStepGradientDescentOptimizer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::RegularStepGradientDescentType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::RigidPlusScaleImageRegistrationMethod<TInputImageType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::RigidPlusScaleRegistrationType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::RIUImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::RIUMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::SADImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::SADMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef ImageRegistrationFactory itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::Self

Standard class typedefs.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef SimplexType* itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::SimplexPointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::UCLSimplexOptimizer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::SimplexType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::WindowedSincInterpolateImageFunction< TInputImageType, WindowRadius, WindowFunctionType, BoundaryConditionType, TScalarType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::SincInterpolatorType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::MaskedImageRegistrationMethod<TInputImageType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::SingleResRegistrationType

Registration Methods.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::SSDImageToImageMetric<TInputImageType, TInputImageType > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::SSDMetricType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef Object itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::Superclass
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::Transform< TScalarType, Dimension, Dimension > itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::TransformType

Transformations

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::TranslateRotateScaleImageRegistrationMethod<TInputImageType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::TranslateRotateScaleRegistrationType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::TranslationPCADeformationModelTransform<TScalarType, Dimension> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::TranslationPCADeformationModelTransformType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::TranslationThenRotationImageRegistrationMethod<TInputImageType> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::TranslationThenRotationRegistrationType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef UCLPowellOptimizerType* itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::UCLPowellOptimizerPointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::UCLPowellOptimizer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::UCLPowellOptimizerType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::UCLRegularStepOptimizer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::UCLRegularStepOptimizerType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef UCLRegularStepOptimizerType* itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::UCLRegularStepOptimizerTypePointer
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::VnlIterationUpdateCommand itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::VnlIterationUpdateCommandType
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
typedef itk::Function::WelchWindowFunction<WindowRadius> itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::WindowFunctionType

Constructor & Destructor Documentation

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::ImageRegistrationFactory ( )
protected
template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::~ImageRegistrationFactory ( )
inlineprotectedvirtual

Member Function Documentation

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual InterpolatorType::Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CreateInterpolator ( InterpolationTypeEnum  type)
virtual

Create an interpolator.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual IterationUpdateCommandType::Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CreateIterationUpdateCommand ( OptimizerTypeEnum  optimizerType)
virtual

You need to create one of these, dependent on the type of optimizer.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual MetricType::Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CreateMetric ( MetricTypeEnum  type)
virtual

Create a Metric.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual MultiResRegistrationType::Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CreateMultiResRegistration ( MultiResRegistrationMethodTypeEnum  type)
virtual

Creates a multi-resolution method.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual OptimizerType::Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CreateOptimizer ( OptimizerTypeEnum  optimizerType)
virtual

Create an optimiser.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual SingleResRegistrationType::Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CreateSingleResRegistration ( SingleResRegistrationMethodTypeEnum  type)
virtual

Creates a single-resolution method.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual TransformType::Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CreateTransform ( TransformTypeEnum  type)
virtual

Create a transform.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual TransformType::Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::CreateTransform ( std::string  transfomFilename)
virtual

Create a transform from a file

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
virtual const char* itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
static Pointer itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::New ( )
static

Method for creation through the object factory.

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
void itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

Member Data Documentation

template<typename TInputImageType , unsigned int Dimension, class TScalarType >
const unsigned int itk::ImageRegistrationFactory< TInputImageType, Dimension, TScalarType >::WindowRadius = 5
static

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