18 #ifndef __elxElastixTemplate_h 19 #define __elxElastixTemplate_h 22 #include "itkObject.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() ); \ 112 template<
class TFixedImage,
class TMovingImage >
234 virtual FixedImageType *
GetFixedImage(
unsigned int idx )
const;
242 virtual MovingImageType *
GetMovingImage(
unsigned int idx )
const;
253 virtual FixedMaskType *
GetFixedMask(
unsigned int idx )
const;
261 virtual MovingMaskType *
GetMovingMask(
unsigned int idx )
const;
272 virtual ResultImageType *
GetResultImage(
unsigned int idx )
const;
280 virtual int Run(
void );
300 itkGetConstMacro( IterationCounter,
unsigned int );
303 itkGetStringMacro( CurrentTransformParameterFileName );
306 virtual void SetConfigurations( std::vector< ConfigurationPointer > & configurations );
313 return Superclass2::GetConfiguration();
406 #undef elxGetBaseMacro 408 #ifndef ITK_MANUAL_INSTANTIATION 409 #include "elxElastixTemplate.hxx" 412 #endif // end #ifndef __elxElastixTemplate_h elx::ImageSamplerBase< Self > ImageSamplerBaseType
Superclass2::MultipleImageLoader< FixedMaskType > FixedMaskLoaderType
virtual ResultImageType * GetResultImage(void) const
virtual bool GetOriginalFixedImageDirection(FixedImageDirectionType &direction) const
std::string m_CurrentTransformParameterFileName
DataObjectContainerType::Pointer DataObjectContainerPointer
unsigned char MaskPixelType
virtual void BeforeEachResolution(void)
void(BaseComponentType::* PtrToMemberFunction)(void)
Superclass2::MultipleImageLoader< MovingImageType > MovingImageLoaderType
itk::VectorContainer< unsigned int, std::string > FileNameContainerType
ResamplerBase< Self > ResamplerBaseType
virtual ConfigurationPointer GetConfiguration()
Superclass2::DataObjectContainerType 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)
std::vector< ConfigurationPointer > m_Configurations
void CallInEachComponent(PtrToMemberFunction func)
AfterEachIterationCommandPointer m_AfterEachIterationCommand
virtual void BeforeRegistration(void)
This class is the elastix base class for all Optimizers.
OptimizerBase< Self > OptimizerBaseType
itk::DataObject DataObjectType
RegistrationBase< Self > RegistrationBaseType
MovingImagePyramidBase< Self > MovingImagePyramidBaseType
virtual ParameterMapType GetTransformParametersMap(void) const
ResampleInterpolatorBase< Self > ResampleInterpolatorBaseType
This class is the elastix base class for all Registration schemes.
itk::SimpleMemberCommand< Self > AfterEachResolutionCommandType
FixedImageType::Pointer FixedImagePointer
The BaseComponent class is a class that all elastix components should inherit from.
itk::Image< MaskPixelType, MovingDimension > MovingMaskType
virtual void AfterEachResolution(void)
void operator=(const Self &)
elx::TransformBase< Self > TransformBaseType
itk::SmartPointer< const Self > ConstPointer
MovingMaskType::Pointer MovingMaskPointer
itk::VectorContainer< unsigned int, ObjectPointer > ObjectContainerType
ParameterFileParser::ParameterMapType ParameterMapType
MetricBase< Self > MetricBaseType
itk::SmartPointer< Self > Pointer
virtual void OpenIterationInfoFile(void)
Superclass2::DataObjectPointer DataObjectPointer
virtual void CreateTransformParameterFile(const std::string FileName, const bool ToLog)
This class is a base class for any image sampler.
itk::CostFunction::ParametersValueType CoordRepType
Superclass2::MultipleImageLoader< MovingMaskType > MovingMaskLoaderType
MovingImageType OutputImageType
AfterEachResolutionCommandPointer m_AfterEachResolutionCommand
itk::Image< MaskPixelType, FixedDimension > FixedMaskType
virtual void AfterEachIteration(void)
virtual MovingImageType * GetMovingImage(void) const
This class is the elastix base class for all FixedImagePyramids.
FileNameContainerType::Pointer FileNameContainerPointer
Superclass2::ObjectContainerPointer ObjectContainerPointer
MovingImageType::Pointer MovingImagePointer
TimerType m_ResolutionTimer
virtual FixedImageType * GetFixedImage(void) const
Superclass2::ConfigurationType ConfigurationType
virtual int ApplyTransform(void)
unsigned int m_IterationCounter
Superclass2::ObjectContainerType ObjectContainerType
FixedMaskType::Pointer FixedMaskPointer
virtual int SetResultImage(DataObjectPointer result_image)
itk::DataObject ResultImageType
virtual ~ElastixTemplate()
virtual void ConfigureComponents(Self *This)
virtual void SetConfigurations(std::vector< ConfigurationPointer > &configurations)
virtual void AfterRegistration(void)
virtual FixedMaskType * GetFixedMask(void) const
itk::SimpleMemberCommand< Self > AfterEachIterationCommandType
Superclass2::ObjectPointer ObjectPointer
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.
FixedImagePyramidBase< Self > FixedImagePyramidBaseType
Superclass2::MultipleImageLoader< FixedImageType > FixedImageLoaderType
BeforeEachResolutionCommandPointer m_BeforeEachResolutionCommand
A class that deals with user given parameters and command line arguments.
InterpolatorBase< Self > InterpolatorBaseType
itk::SimpleMemberCommand< Self > BeforeEachResolutionCommandType
BaseComponent BaseComponentType
BeforeEachResolutionCommandType::Pointer BeforeEachResolutionCommandPointer
virtual int BeforeAllTransformix(void)
std::ofstream m_IterationInfoFile
DataObjectType::Pointer DataObjectPointer
TimerType m_IterationTimer
virtual int BeforeAll(void)
ConfigurationType::Pointer ConfigurationPointer
Superclass2::DataObjectType DataObjectType
Superclass2::FileNameContainerPointer FileNameContainerPointer
itk::ParameterMapInterface::ParameterMapType ParameterMapType
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
Superclass2::ObjectType ObjectType
itkStaticConstMacro(Dimension, unsigned int, FixedImageType::ImageDimension)
Superclass2::ConfigurationPointer ConfigurationPointer
FixedImageType::DirectionType FixedImageDirectionType
ObjectType::Pointer ObjectPointer
virtual void CreateTransformParametersMap(void)
ParameterMapType m_TransformParametersMap
This class creates an interface for elastix.
TMovingImage MovingImageType
int CallInEachComponentInt(PtrToMemberFunction2 func)
virtual MovingMaskType * GetMovingMask(void) const
int(BaseComponentType::* PtrToMemberFunction2)(void)
elxGetBaseMacro(FixedImagePyramid, FixedImagePyramidBaseType)
This class is the elastix base class for all Metrics.
Superclass2::DataObjectContainerPointer DataObjectContainerPointer