18#ifndef elxElastixTemplate_h
19#define elxElastixTemplate_h
34#include <itkCommand.h>
54#define elxGetBaseMacro(_name, _elxbasetype) \
55 _elxbasetype * GetElx##_name##Base(const unsigned int idx = 0) const \
57 if (idx < this->GetNumberOf##_name##s()) \
59 return dynamic_cast<_elxbasetype *>(this->Get##_name##Container()->ElementAt(idx).GetPointer()); \
102template <
class TFixedImage,
class TMovingImage>
245 itkGetConstMacro(IterationCounter,
unsigned int);
248 itkGetStringMacro(CurrentTransformParameterFileName);
311#undef elxGetBaseMacro
313#ifndef ITK_MANUAL_INSTANTIATION
314# include "elxElastixTemplate.hxx"
The BaseComponent class is a class that all elastix components should inherit from.
This class creates an interface for elastix.
The main elastix class, which connects components and invokes the BeforeRegistration(),...
itkStaticConstMacro(MovingDimension, unsigned int, MovingImageType::ImageDimension)
MovingImageType OutputImageType
typename AfterEachIterationCommandType::Pointer AfterEachIterationCommandPointer
int CallInEachComponentInt(PtrToMemberFunction2 func)
bool GetOriginalFixedImageDirection(FixedImageDirectionType &direction) const
void CreateTransformParameterMap() override
elxGetBaseMacro(Optimizer, OptimizerBaseType)
void BeforeRegistration() override
typename MovingMaskType::Pointer MovingMaskPointer
typename MovingImageType::Pointer MovingImagePointer
ElastixTemplate()=default
itk::SmartPointer< Self > Pointer
int BeforeAllTransformix()
TFixedImage FixedImageType
typename FixedImageType::DirectionType FixedImageDirectionType
elxGetBaseMacro(Transform, TransformBaseType)
elxGetBaseMacro(Resampler, ResamplerBaseType)
void SetOriginalFixedImageDirection(const FixedImageDirectionType &arg)
void CallInEachComponent(PtrToMemberFunction func)
itk::SimpleMemberCommand< Self > BeforeEachResolutionCommandType
typename AfterEachResolutionCommandType::Pointer AfterEachResolutionCommandPointer
elxGetBaseMacro(Metric, MetricBaseType)
itk::Image< MaskPixelType, MovingDimension > MovingMaskType
~ElastixTemplate() override=default
MovingImageType InputImageType
void OpenIterationInfoFile()
itk::Image< MaskPixelType, FixedDimension > FixedMaskType
elxGetBaseMacro(FixedImagePyramid, FixedImagePyramidBaseType)
MovingMaskType * GetMovingMask(unsigned int idx=0) const
itkStaticConstMacro(FixedDimension, unsigned int, FixedImageType::ImageDimension)
typename FixedImageType::Pointer FixedImagePointer
void AfterEachIteration() override
itkStaticConstMacro(Dimension, unsigned int, FixedImageType::ImageDimension)
void CreateTransformParameterFile(const std::string &FileName, const bool ToLog)
FixedMaskType * GetFixedMask(unsigned int idx=0) const
unsigned char MaskPixelType
itk::SmartPointer< const Self > ConstPointer
ITK_DISALLOW_COPY_AND_MOVE(ElastixTemplate)
void(BaseComponentType::*)() PtrToMemberFunction
typename BeforeEachResolutionCommandType::Pointer BeforeEachResolutionCommandPointer
MovingImageType * GetMovingImage(unsigned int idx=0) const
void AfterEachResolution() override
elxGetBaseMacro(Registration, RegistrationBaseType)
typename FixedMaskType::Pointer FixedMaskPointer
itk::SimpleMemberCommand< Self > AfterEachIterationCommandType
void ConfigureComponents(Self *This)
elxGetBaseMacro(ResampleInterpolator, ResampleInterpolatorBaseType)
void AfterRegistration() override
itk::SimpleMemberCommand< Self > AfterEachResolutionCommandType
FixedImageType * GetFixedImage(unsigned int idx=0) const
TMovingImage MovingImageType
int ApplyTransform(bool doReadTransform) override
itk::ParameterMapInterface::ParameterMapType ParameterMapType
elxGetBaseMacro(Interpolator, InterpolatorBaseType)
elxGetBaseMacro(ImageSampler, ImageSamplerBaseType)
void BeforeEachResolution() override
elxGetBaseMacro(MovingImagePyramid, MovingImagePyramidBaseType)
int(BaseComponentType::*)() PtrToMemberFunction2
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