Go to the documentation of this file.
28 #ifndef __elxElastixBase_h
29 #define __elxElastixBase_h
34 #include "itkObject.h"
35 #include "itkDataObject.h"
38 #include "itkVectorContainer.h"
39 #include "itkImageFileReader.h"
40 #include "itkChangeInformationImageFilter.h"
51 #define elxGetObjectMacro( _name, _type ) \
52 virtual _type * Get##_name( void ) const \
54 return this->m_##_name.GetPointer(); \
58 #define elxSetObjectMacro( _name, _type ) \
59 virtual void Set##_name( _type * _arg ) \
61 if( this->m_##_name != _arg ) \
63 this->m_##_name = _arg; \
64 this->GetAsITKBaseType()->Modified(); \
70 #define elxGetNumberOfMacro( _name ) \
71 virtual unsigned int GetNumberOf##_name##s( void ) const \
73 if( this->Get##_name##Container() != 0 ) \
75 return this->Get##_name##Container()->Size(); \
158 typedef itk::VectorContainer<
161 typedef itk::VectorContainer<
164 typedef itk::VectorContainer<
314 virtual int Run(
void ) = 0;
354 const FlatDirectionCosinesType & arg );
390 template<
class TImage >
405 bool useDirectionCosines,
DirectionType * originalDirectionCosines = NULL )
410 for(
unsigned int i = 0; i < fileNameContainer->Size(); ++i )
414 imageReader->SetFileName( fileNameContainer->ElementAt( i ).c_str() );
417 direction.SetIdentity();
418 infoChanger->SetOutputDirection( direction );
419 infoChanger->SetChangeDirection( !useDirectionCosines );
420 infoChanger->SetInput( imageReader->GetOutput() );
425 infoChanger->Update();
427 catch( itk::ExceptionObject & excp )
430 std::string err_str = excp.GetDescription();
431 err_str +=
"\nError occurred while reading the image described as "
432 + imageDescription +
", with file name " + imageReader->GetFileName() +
"\n";
433 excp.SetDescription( err_str );
440 imageContainer->CreateElementAt( i ) = image.GetPointer();
443 if( originalDirectionCosines )
445 *originalDirectionCosines = imageReader->GetOutput()->GetDirection();
450 return imageContainer;
462 imageContainer->CreateElementAt( 0 ) = image;
465 return imageContainer;
489 imageContainer->CreateElementAt( j ) = image;
492 return imageContainer;
557 const std::string & optionkey,
560 bool printinfo )
const;
566 #undef elxGetObjectMacro
567 #undef elxSetObjectMacro
568 #undef elxGetNumberOfMacro
570 #endif // end #ifndef __elxElastixBase_h
elxSetObjectMacro(MovingImageFileNameContainer, FileNameContainerType)
elxGetObjectMacro(FixedImagePyramidContainer, ObjectContainerType)
ChangeInfoFilterType::Pointer ChangeInfoFilterPointer
elxGetNumberOfMacro(Interpolator)
DataObjectContainerPointer m_ResultImageContainer
virtual const FlatDirectionCosinesType & GetOriginalFixedImageDirectionFlat(void) const
elxSetObjectMacro(InitialTransform, ObjectType)
elxGetNumberOfMacro(ResultDeformationField)
elxGetNumberOfMacro(ImageSampler)
ImageType::Pointer ImagePointer
elxGetNumberOfMacro(ResampleInterpolator)
elxGetObjectMacro(ResultImageContainer, DataObjectContainerType)
ObjectContainerPointer m_ResampleInterpolatorContainer
elxGetObjectMacro(MovingImageFileNameContainer, FileNameContainerType)
elxGetNumberOfMacro(Optimizer)
The BaseComponent class is a class that all elastix components should inherit from.
ObjectContainerPointer m_ImageSamplerContainer
int m_DefaultOutputPrecision
virtual ITKBaseType * GetAsITKBaseType(void)
elxSetObjectMacro(FixedImagePyramidContainer, ObjectContainerType)
itk::ImageFileReader< ImageType > ImageReaderType
DataObjectContainerPointer m_MovingMaskContainer
elxSetObjectMacro(MovingImagePyramidContainer, ObjectContainerType)
elxSetObjectMacro(ResampleInterpolatorContainer, ObjectContainerType)
elxSetObjectMacro(FixedMaskFileNameContainer, FileNameContainerType)
elxGetNumberOfMacro(FixedImageFileName)
A class that deals with user given parameters and command line arguments.
ObjectContainerPointer m_TransformContainer
elxGetObjectMacro(MovingImagePyramidContainer, ObjectContainerType)
elxSetObjectMacro(OptimizerContainer, ObjectContainerType)
elxSetObjectMacro(ComponentDatabase, ComponentDatabaseType)
ComponentDatabasePointer m_ComponentDatabase
elxGetNumberOfMacro(MovingImageFileName)
elxSetObjectMacro(TransformContainer, ObjectContainerType)
FileNameContainerPointer m_FixedMaskFileNameContainer
elxGetNumberOfMacro(Resampler)
ConfigurationType::Pointer ConfigurationPointer
static DataObjectContainerPointer GenerateImageContainer(DataObjectPointer image)
elxSetObjectMacro(MetricContainer, ObjectContainerType)
virtual int BeforeAllTransformixBase(void)
elxGetObjectMacro(OptimizerContainer, ObjectContainerType)
ObjectPointer m_FinalTransform
virtual int ApplyTransform(void)=0
elxGetNumberOfMacro(FixedImagePyramid)
elxGetNumberOfMacro(MovingMaskFileName)
elxGetObjectMacro(FixedMaskFileNameContainer, FileNameContainerType)
This class creates an interface for elastix.
itk::ParameterMapInterface::ParameterMapType ParameterMapType
DataObjectContainerType::Pointer DataObjectContainerPointer
elxSetObjectMacro(FixedMaskContainer, DataObjectContainerType)
virtual bool GetUseDirectionCosines(void) const
ObjectPointer m_InitialTransform
elxGetNumberOfMacro(FixedImage)
itk::DataObject DataObjectType
elxGetObjectMacro(InitialTransform, ObjectType)
elxSetObjectMacro(Configuration, ConfigurationType)
ObjectContainerPointer m_InterpolatorContainer
elxGetObjectMacro(InterpolatorContainer, ObjectContainerType)
elxGetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType)
elxGetObjectMacro(ComponentDatabase, ComponentDatabaseType)
DataObjectContainerPointer m_FixedImageContainer
elxSetObjectMacro(RegistrationContainer, ObjectContainerType)
ObjectContainerPointer m_ResamplerContainer
itk::SmartPointer< Self > Pointer
The xoutrow class can easily generate tables.
ObjectContainerPointer m_RegistrationContainer
itk::VectorContainer< unsigned int, ObjectPointer > ObjectContainerType
elxSetObjectMacro(FixedImageContainer, DataObjectContainerType)
elxSetObjectMacro(ResultImageContainer, DataObjectContainerType)
FileNameContainerPointer GenerateFileNameContainer(const std::string &optionkey, int &errorcode, bool printerrors, bool printinfo) const
elxGetObjectMacro(MovingMaskContainer, DataObjectContainerType)
virtual int GetDefaultOutputPrecision(void) const
elxGetObjectMacro(ImageSamplerContainer, ObjectContainerType)
The ComponentDatabase class is a class that stores the New() functions of all components.
elxSetObjectMacro(FixedImageFileNameContainer, FileNameContainerType)
itk::ChangeInformationImageFilter< ImageType > ChangeInfoFilterType
virtual void AfterRegistrationBase(void)
itk::VectorContainer< unsigned int, std::string > FileNameContainerType
elxSetObjectMacro(InterpolatorContainer, ObjectContainerType)
elxGetNumberOfMacro(FixedMask)
elxGetNumberOfMacro(Registration)
ElastixBase(const Self &)
elxGetNumberOfMacro(MovingMask)
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
static DataObjectContainerPointer GenerateImageContainer(FileNameContainerType *fileNameContainer, const std::string &imageDescription, bool useDirectionCosines, DirectionType *originalDirectionCosines=NULL)
FileNameContainerPointer m_MovingImageFileNameContainer
virtual void SetConfigurations(std::vector< ConfigurationPointer > &configurations)=0
FileNameContainerPointer m_MovingMaskFileNameContainer
elxSetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType)
elxGetObjectMacro(FixedImageContainer, DataObjectContainerType)
elxGetObjectMacro(FixedImageFileNameContainer, FileNameContainerType)
ObjectType::Pointer ObjectPointer
elxSetObjectMacro(MovingMaskContainer, DataObjectContainerType)
ObjectContainerPointer m_MetricContainer
elxSetObjectMacro(FinalTransform, ObjectType)
ObjectContainerPointer m_FixedImagePyramidContainer
elxGetObjectMacro(TransformContainer, ObjectContainerType)
DataObjectContainerPointer m_MovingImageContainer
elxSetObjectMacro(MovingImageContainer, DataObjectContainerType)
DataObjectContainerPointer m_FixedMaskContainer
virtual void BeforeRegistrationBase(void)
FlatDirectionCosinesType m_OriginalFixedImageDirection
FileNameContainerType::Pointer FileNameContainerPointer
ParameterFileParser::ParameterMapType ParameterMapType
bool m_UseDirectionCosines
std::vector< double > FlatDirectionCosinesType
elxGetNumberOfMacro(Metric)
elxSetObjectMacro(ResamplerContainer, ObjectContainerType)
static DataObjectContainerPointer GenerateImageContainer(DataObjectPointer image)
FileNameContainerPointer m_FixedImageFileNameContainer
MultipleDataObjectFiller()
DataObjectContainerPointer m_ResultDeformationFieldContainer
Configuration ConfigurationType
elxGetNumberOfMacro(FixedMaskFileName)
ObjectContainerType::Pointer ObjectContainerPointer
ObjectContainerPointer m_OptimizerContainer
ComponentDatabase ComponentDatabaseType
ComponentDatabaseType::IndexType DBIndexType
elxSetObjectMacro(ImageSamplerContainer, ObjectContainerType)
itk::SmartPointer< Self > Pointer
virtual void CreateTransformParametersMap(void)=0
virtual void SetOriginalFixedImageDirectionFlat(const FlatDirectionCosinesType &arg)
virtual int BeforeAllBase(void)
virtual ParameterMapType GetTransformParametersMap(void) const =0
elxGetNumberOfMacro(Transform)
elxGetObjectMacro(ResamplerContainer, ObjectContainerType)
ImageReaderType::Pointer ImageReaderPointer
virtual DBIndexType GetDBIndex(void)
ImageType::DirectionType DirectionType
ComponentDatabaseType::Pointer ComponentDatabasePointer
elxGetObjectMacro(MovingImageContainer, DataObjectContainerType)
xl::xoutrow_type m_IterationInfo
elxGetNumberOfMacro(MovingImagePyramid)
elxGetObjectMacro(FinalTransform, ObjectType)
elxGetObjectMacro(RegistrationContainer, ObjectContainerType)
ObjectContainerPointer m_MovingImagePyramidContainer
~MultipleDataObjectFiller()
void operator=(const Self &)
elxGetObjectMacro(ResampleInterpolatorContainer, ObjectContainerType)
ConfigurationPointer m_Configuration
DataObjectType::Pointer DataObjectPointer
virtual void SetDBIndex(DBIndexType _arg)
elxGetObjectMacro(MovingMaskFileNameContainer, FileNameContainerType)
elxGetNumberOfMacro(MovingImage)
elxSetObjectMacro(MovingMaskFileNameContainer, FileNameContainerType)
elxGetObjectMacro(FixedMaskContainer, DataObjectContainerType)
elxGetObjectMacro(Configuration, ConfigurationType)
elxGetNumberOfMacro(ResultImage)
elxGetObjectMacro(MetricContainer, ObjectContainerType)
Generated on OURCE_DATE_EPOCH for elastix by 1.8.18 |
|