18#ifndef __elxElastixTemplate_h
19#define __elxElastixTemplate_h
24#include "itkObjectFactory.h"
25#include "itkCommand.h"
27#include "itkImageFileReader.h"
28#include "itkImageToImageMetric.h"
41#include "itkTimeProbe.h"
60#define elxGetBaseMacro( _name, _elxbasetype ) \
61 virtual _elxbasetype * GetElx##_name##Base( void ) const \
63 return this->GetElx##_name##Base( 0 ); \
65 _elxbasetype * GetElx##_name##Base( unsigned int idx ) const \
67 if( idx < this->GetNumberOf##_name##s() ) \
69 return dynamic_cast< _elxbasetype * >( \
70 this->Get##_name##Container()->ElementAt( idx ).GetPointer() ); \
113template<
class TFixedImage,
class TMovingImage >
315 itkGetConstMacro( IterationCounter,
unsigned int );
318 itkGetStringMacro( CurrentTransformParameterFileName );
328 return Superclass2::GetConfiguration();
421#undef elxGetBaseMacro
423#ifndef ITK_MANUAL_INSTANTIATION
424#include "elxElastixTemplate.hxx"
The BaseComponent class is a class that all elastix components should inherit from.
A class that deals with user given parameters and command line arguments.
This class creates an interface for elastix.
itk::VectorContainer< unsigned int, ObjectPointer > ObjectContainerType
itk::DataObject DataObjectType
ConfigurationType::Pointer ConfigurationPointer
ObjectType::Pointer ObjectPointer
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
DataObjectContainerType::Pointer DataObjectContainerPointer
FileNameContainerType::Pointer FileNameContainerPointer
DataObjectType::Pointer DataObjectPointer
ObjectContainerType::Pointer ObjectContainerPointer
itk::VectorContainer< unsigned int, std::string > FileNameContainerType
itk::ParameterMapInterface::ParameterMapType ParameterMapType
The main elastix class, which connects components and invokes the BeforeRegistration(),...
~ElastixTemplate() override
itk::SmartPointer< Self > Pointer
itkStaticConstMacro(MovingDimension, unsigned int, MovingImageType::ImageDimension)
int ApplyTransform(void) override
int CallInEachComponentInt(PtrToMemberFunction2 func)
virtual int BeforeAllTransformix(void)
elx::ImageSamplerBase< Self > ImageSamplerBaseType
AfterEachIterationCommandPointer m_AfterEachIterationCommand
virtual ResultDeformationFieldType * GetResultDeformationField(unsigned int idx) const
itk::DataObject ResultImageType
MetricBase< Self > MetricBaseType
BaseComponent BaseComponentType
ResampleInterpolatorBase< Self > ResampleInterpolatorBaseType
virtual ConfigurationPointer GetConfiguration(const vcl_size_t index)
void BeforeRegistration(void) override
std::vector< ConfigurationPointer > m_Configurations
Superclass2::FileNameContainerPointer FileNameContainerPointer
virtual ResultImageType * GetResultImage(void) const
elxGetBaseMacro(Optimizer, OptimizerBaseType)
ParameterMapType GetTransformParametersMap(void) const override
unsigned int m_IterationCounter
virtual bool GetOriginalFixedImageDirection(FixedImageDirectionType &direction) const
virtual void OpenIterationInfoFile(void)
itk::SimpleMemberCommand< Self > AfterEachResolutionCommandType
MovingImagePyramidBase< Self > MovingImagePyramidBaseType
itk::DataObject ResultDeformationFieldType
itk::Image< MaskPixelType, MovingDimension > MovingMaskType
void CreateTransformParametersMap(void) override
void BeforeEachResolution(void) override
virtual MovingMaskType * GetMovingMask(void) const
elxGetBaseMacro(Transform, TransformBaseType)
elxGetBaseMacro(Resampler, ResamplerBaseType)
void AfterRegistration(void) override
Superclass2::ObjectType ObjectType
void CallInEachComponent(PtrToMemberFunction func)
itk::SmartPointer< const Self > ConstPointer
elx::TransformBase< Self > TransformBaseType
BeforeEachResolutionCommandType::Pointer BeforeEachResolutionCommandPointer
elxGetBaseMacro(Metric, MetricBaseType)
FixedImagePyramidBase< Self > FixedImagePyramidBaseType
unsigned char MaskPixelType
Superclass2::MultipleImageLoader< MovingImageType > MovingImageLoaderType
void AfterEachResolution(void) override
Superclass2::ObjectContainerType ObjectContainerType
Superclass2::DataObjectContainerPointer DataObjectContainerPointer
virtual int SetResultImage(DataObjectPointer result_image)
FixedImageType::Pointer FixedImagePointer
virtual MovingImageType * GetMovingImage(void) const
RegistrationBase< Self > RegistrationBaseType
FixedImageType::DirectionType FixedImageDirectionType
virtual void SetOriginalFixedImageDirection(const FixedImageDirectionType &arg)
virtual MovingMaskType * GetMovingMask(unsigned int idx) const
virtual FixedImageType * GetFixedImage(unsigned int idx) const
ElastixTemplate(const Self &)
elxGetBaseMacro(FixedImagePyramid, FixedImagePyramidBaseType)
InterpolatorBase< Self > InterpolatorBaseType
virtual ResultImageType * GetResultImage(unsigned int idx) const
FixedMaskType::Pointer FixedMaskPointer
OptimizerBase< Self > OptimizerBaseType
BeforeEachResolutionCommandPointer m_BeforeEachResolutionCommand
itkStaticConstMacro(FixedDimension, unsigned int, FixedImageType::ImageDimension)
Superclass2::ObjectContainerPointer ObjectContainerPointer
Superclass2::MultipleImageLoader< FixedMaskType > FixedMaskLoaderType
itkStaticConstMacro(Dimension, unsigned int, FixedImageType::ImageDimension)
Superclass2::MultipleImageLoader< FixedImageType > FixedImageLoaderType
virtual void CreateTransformParameterFile(const std::string FileName, const bool ToLog)
void(BaseComponentType::* PtrToMemberFunction)(void)
int BeforeAll(void) override
MovingImageType::Pointer MovingImagePointer
Superclass2::ConfigurationType ConfigurationType
Superclass2::ConfigurationPointer ConfigurationPointer
Superclass2::MultipleImageLoader< MovingMaskType > MovingMaskLoaderType
virtual MovingImageType * GetMovingImage(unsigned int idx) const
TFixedImage FixedImageType
Superclass2::ObjectPointer ObjectPointer
void SetConfigurations(std::vector< ConfigurationPointer > &configurations) override
virtual FixedImageType * GetFixedImage(void) const
itk::Image< MaskPixelType, FixedDimension > FixedMaskType
int(BaseComponentType::* PtrToMemberFunction2)(void)
virtual void ConfigureComponents(Self *This)
ParameterMapType m_TransformParametersMap
MovingImageType OutputImageType
TimerType m_ResolutionTimer
TimerType m_IterationTimer
elxGetBaseMacro(Registration, RegistrationBaseType)
itk::SimpleMemberCommand< Self > AfterEachIterationCommandType
TMovingImage MovingImageType
elxGetBaseMacro(ResampleInterpolator, ResampleInterpolatorBaseType)
Superclass2::FileNameContainerType FileNameContainerType
virtual int SetResultDeformationField(DataObjectPointer result_deformationfield)
Superclass2::DataObjectContainerType DataObjectContainerType
ResamplerBase< Self > ResamplerBaseType
void operator=(const Self &)
itk::ParameterMapInterface::ParameterMapType ParameterMapType
Superclass2::DataObjectPointer DataObjectPointer
AfterEachIterationCommandType::Pointer AfterEachIterationCommandPointer
virtual FixedMaskType * GetFixedMask(unsigned int idx) const
elxGetBaseMacro(Interpolator, InterpolatorBaseType)
itk::CostFunction::ParametersValueType CoordRepType
virtual FixedMaskType * GetFixedMask(void) const
void AfterEachIteration(void) override
virtual ConfigurationPointer GetConfiguration()
AfterEachResolutionCommandType::Pointer AfterEachResolutionCommandPointer
AfterEachResolutionCommandPointer m_AfterEachResolutionCommand
virtual ResultDeformationFieldType * GetResultDeformationField(void) const
itk::SimpleMemberCommand< Self > BeforeEachResolutionCommandType
MovingMaskType::Pointer MovingMaskPointer
elxGetBaseMacro(ImageSampler, ImageSamplerBaseType)
Superclass2::DataObjectType DataObjectType
MovingImageType InputImageType
std::ofstream m_IterationInfoFile
std::string m_CurrentTransformParameterFileName
elxGetBaseMacro(MovingImagePyramid, MovingImagePyramidBaseType)
This class is the elastix base class for all FixedImagePyramids.
This class is the elastix base class for all Interpolators.
This class is the elastix base class for all Metrics.
This class is the elastix base class for all MovingImagePyramids.
This class is the elastix base class for all Optimizers.
This class is the elastix base class for all Registration schemes.
This class is the elastix base class for all ResampleInterpolators.
This class is a base class for any image sampler.
ParameterFileParser::ParameterMapType ParameterMapType