14 #ifndef __elxElastixTemplate_h
15 #define __elxElastixTemplate_h
18 #include "itkObject.h"
20 #include "itkObjectFactory.h"
21 #include "itkCommand.h"
23 #include "itkImageFileReader.h"
24 #include "itkImageToImageMetric.h"
56 #define elxGetBaseMacro(_name,_elxbasetype) \
57 virtual _elxbasetype * GetElx##_name##Base (void) const \
59 return this->GetElx##_name##Base( 0 );\
61 _elxbasetype * GetElx##_name##Base ( unsigned int idx ) const \
63 if ( idx < this->GetNumberOf##_name##s() ) \
65 return dynamic_cast<_elxbasetype *>( \
66 this->Get##_name##Container()->ElementAt(idx).GetPointer() );\
109 template <
class TFixedImage,
class TMovingImage>
249 virtual int Run(
void );
262 itkGetConstMacro( IterationCounter,
unsigned int );
265 itkGetStringMacro( CurrentTransformParameterFileName );
344 #undef elxGetBaseMacro
346 #ifndef ITK_MANUAL_INSTANTIATION
347 #include "elxElastixTemplate.hxx"
350 #endif // end #ifndef __elxElastixTemplate_h
virtual bool GetOriginalFixedImageDirection(FixedImageDirectionType &direction) const
FixedImagePyramidBase< Self > FixedImagePyramidBaseType
elx::TransformBase< Self > TransformBaseType
std::string m_CurrentTransformParameterFileName
DataObjectContainerType::Pointer DataObjectContainerPointer
unsigned char MaskPixelType
virtual void BeforeEachResolution(void)
itk::VectorContainer< unsigned int, std::string > FileNameContainerType
itk::SmartPointer< Self > Pointer
Superclass2::DataObjectContainerType DataObjectContainerType
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
AfterEachIterationCommandType::Pointer AfterEachIterationCommandPointer
The main elastix class, which connects components and invokes the BeforeRegistration(), BeforeEachResolution(), etc. methods.
AfterEachResolutionCommandType::Pointer AfterEachResolutionCommandPointer
MovingImageType InputImageType
virtual void SetOriginalFixedImageDirection(const FixedImageDirectionType &arg)
itk::SmartPointer< Self > Pointer
void CallInEachComponent(PtrToMemberFunction func)
AfterEachIterationCommandPointer m_AfterEachIterationCommand
virtual void BeforeRegistration(void)
This class is the elastix base class for all Optimizers.
This class is the elastix base class for all ImageSamplers.
itk::DataObject DataObjectType
TimerPointer m_IterationTimer
void(BaseComponentType::* PtrToMemberFunction)(void)
itk::Image< MaskPixelType, FixedDimension > FixedMaskType
This class is the elastix base class for all Registration schemes.
FixedImageType::Pointer FixedImagePointer
The BaseComponent class is a class that all elastix components should inherit from.
virtual void AfterEachResolution(void)
void operator=(const Self &)
TimerType::Pointer TimerPointer
A class to time the different parts of the registration.
MovingMaskType::Pointer MovingMaskPointer
OptimizerBase< Self > OptimizerBaseType
virtual void OpenIterationInfoFile(void)
Superclass2::DataObjectPointer DataObjectPointer
virtual void CreateTransformParameterFile(const std::string FileName, const bool ToLog)
MovingImagePyramidBase< Self > MovingImagePyramidBaseType
itk::CostFunction::ParametersValueType CoordRepType
InterpolatorBase< Self > InterpolatorBaseType
MovingImageType OutputImageType
AfterEachResolutionCommandPointer m_AfterEachResolutionCommand
virtual void AfterEachIteration(void)
virtual MovingImageType * GetMovingImage(void) const
This class is the elastix base class for all FixedImagePyramids.
FileNameContainerType::Pointer FileNameContainerPointer
itk::SimpleMemberCommand< Self > BeforeEachResolutionCommandType
Superclass2::MultipleImageLoader< MovingMaskType > MovingMaskLoaderType
Superclass2::ObjectContainerPointer ObjectContainerPointer
MovingImageType::Pointer MovingImagePointer
itk::SimpleMemberCommand< Self > AfterEachResolutionCommandType
virtual FixedImageType * GetFixedImage(void) const
Superclass2::ConfigurationType ConfigurationType
virtual int ApplyTransform(void)
int(BaseComponentType::* PtrToMemberFunction2)(void)
unsigned int m_IterationCounter
Superclass2::ObjectContainerType ObjectContainerType
FixedMaskType::Pointer FixedMaskPointer
virtual ~ElastixTemplate()
virtual void ConfigureComponents(Self *This)
RegistrationBase< Self > RegistrationBaseType
virtual void AfterRegistration(void)
virtual FixedMaskType * GetFixedMask(void) const
Superclass2::ObjectPointer ObjectPointer
Superclass2::MultipleImageLoader< MovingImageType > MovingImageLoaderType
Superclass2::FileNameContainerType FileNameContainerType
This class is the elastix base class for all ResampleInterpolators.
ObjectContainerType::Pointer ObjectContainerPointer
This class is the elastix base class for all MovingImagePyramids.
TFixedImage FixedImageType
This class is the elastix base class for all Interpolators.
TimerPointer m_ResolutionTimer
ResampleInterpolatorBase< Self > ResampleInterpolatorBaseType
BeforeEachResolutionCommandPointer m_BeforeEachResolutionCommand
A class that deals with user given parameters and command line arguments.
itk::VectorContainer< unsigned int, ObjectPointer > ObjectContainerType
BaseComponent BaseComponentType
BeforeEachResolutionCommandType::Pointer BeforeEachResolutionCommandPointer
virtual int BeforeAllTransformix(void)
std::ofstream m_IterationInfoFile
Superclass2::MultipleImageLoader< FixedMaskType > FixedMaskLoaderType
DataObjectType::Pointer DataObjectPointer
virtual int BeforeAll(void)
ConfigurationType::Pointer ConfigurationPointer
Superclass2::DataObjectType DataObjectType
Superclass2::FileNameContainerPointer FileNameContainerPointer
Superclass2::ObjectType ObjectType
itkStaticConstMacro(Dimension, unsigned int, FixedImageType::ImageDimension)
Superclass2::ConfigurationPointer ConfigurationPointer
ResamplerBase< Self > ResamplerBaseType
itk::Image< MaskPixelType, MovingDimension > MovingMaskType
FixedImageType::DirectionType FixedImageDirectionType
ObjectType::Pointer ObjectPointer
itk::SmartPointer< const Self > ConstPointer
Superclass2::MultipleImageLoader< FixedImageType > FixedImageLoaderType
This class creates an interface for elastix.
TMovingImage MovingImageType
int CallInEachComponentInt(PtrToMemberFunction2 func)
virtual MovingMaskType * GetMovingMask(void) const
elx::ImageSamplerBase< Self > ImageSamplerBaseType
elxGetBaseMacro(FixedImagePyramid, FixedImagePyramidBaseType)
itk::SimpleMemberCommand< Self > AfterEachIterationCommandType
This class is the elastix base class for all Metrics.
Superclass2::DataObjectContainerPointer DataObjectContainerPointer
MetricBase< Self > MetricBaseType