15 #ifndef __elxElastixMain_h
16 #define __elxElastixMain_h
23 #include "itkObject.h"
49 extern int xoutSetup(
const char * logfilename,
bool setupLogging,
bool setupCout );
99 typedef itk::SmartPointer< Self >
Pointer;
146 itkSetMacro( FixedImagePixelType, PixelTypeDescriptionType );
147 itkSetMacro( MovingImagePixelType, PixelTypeDescriptionType );
148 itkSetMacro( FixedImageDimension, ImageDimensionType );
149 itkSetMacro( MovingImageDimension, ImageDimensionType );
150 itkGetMacro( FixedImagePixelType, PixelTypeDescriptionType );
151 itkGetMacro( MovingImagePixelType, PixelTypeDescriptionType );
152 itkGetMacro( FixedImageDimension, ImageDimensionType );
153 itkGetMacro( MovingImageDimension, ImageDimensionType );
159 itkSetObjectMacro( FixedImageContainer, DataObjectContainerType );
160 itkSetObjectMacro( MovingImageContainer, DataObjectContainerType );
161 itkGetObjectMacro( FixedImageContainer, DataObjectContainerType );
162 itkGetObjectMacro( MovingImageContainer, DataObjectContainerType );
168 itkSetObjectMacro( FixedMaskContainer, DataObjectContainerType );
169 itkSetObjectMacro( MovingMaskContainer, DataObjectContainerType );
170 itkGetObjectMacro( FixedMaskContainer, DataObjectContainerType );
171 itkGetObjectMacro( MovingMaskContainer, DataObjectContainerType );
177 itkSetObjectMacro( ResultImageContainer, DataObjectContainerType );
178 itkGetObjectMacro( ResultImageContainer, DataObjectContainerType );
188 itkGetObjectMacro( Elastix, ObjectType );
200 itkGetObjectMacro( FinalTransform, ObjectType );
206 itkSetObjectMacro( InitialTransform, ObjectType );
207 itkGetObjectMacro( InitialTransform, ObjectType );
212 const FlatDirectionCosinesType & arg );
227 itkGetConstMacro( DBIndex, DBIndexType );
236 ParameterMapType & inputMap );
240 std::vector< ParameterMapType > & inputMaps );
247 virtual int Run(
void );
253 virtual int Run( ArgumentMapType & argmap );
255 virtual int Run( ArgumentMapType & argmap, ParameterMapType & inputMap );
272 return s_CDB.GetPointer();
333 static ComponentDatabasePointer
s_CDB;
346 virtual ObjectPointer
CreateComponent(
const ComponentDescriptionType & name );
364 const ComponentDescriptionType & key,
365 const ComponentDescriptionType & defaultComponentName,
367 bool mandatoryComponent =
true );
371 ImageDimensionType & imageDimension )
const;
382 #endif // end #ifndef __elxElastixMain_h
DataObjectType::Pointer DataObjectPointer
DataObjectContainerPointer m_FixedImageContainer
DataObjectContainerType::Pointer DataObjectContainerPointer
static ComponentDatabase * GetComponentDatabase(void)
static ComponentLoaderPointer s_ComponentLoader
std::vector< ConfigurationPointer > m_Configurations
static void UnloadComponents(void)
itk::SmartPointer< Self > Pointer
virtual ElastixBaseType * GetElastixBase(void) const
virtual void SetOriginalFixedImageDirectionFlat(const FlatDirectionCosinesType &arg)
virtual void EnterCommandLineArguments(ArgumentMapType &argmap)
ElastixBase::ConfigurationType ConfigurationType
virtual ObjectContainerPointer CreateComponents(const ComponentDescriptionType &key, const ComponentDescriptionType &defaultComponentName, int &errorcode, bool mandatoryComponent=true)
ObjectPointer m_FinalTransform
DataObjectContainerPointer m_ResultImageContainer
static ComponentDatabasePointer s_CDB
ElastixBase::ObjectContainerPointer ObjectContainerPointer
itk::SmartPointer< Self > Pointer
ImageDimensionType m_FixedImageDimension
DataObjectContainerPointer m_MovingMaskContainer
int xoutSetup(const char *logfilename, bool setupLogging, bool setupCout)
ElastixBase::DataObjectContainerType DataObjectContainerType
std::vector< double > FlatDirectionCosinesType
ComponentDatabase ComponentDatabaseType
itk::SmartPointer< Self > Pointer
itk::VectorContainer< unsigned int, ObjectPointer > ObjectContainerType
ParameterFileParser::ParameterMapType ParameterMapType
ConfigurationType::Pointer ConfigurationPointer
ComponentDatabaseType::PtrToCreator PtrToCreator
ElastixBase::FlatDirectionCosinesType FlatDirectionCosinesType
virtual void SetMaximumNumberOfThreads(void) const
ConfigurationType::CommandLineArgumentMapType ArgumentMapType
PixelTypeDescriptionType m_FixedImagePixelType
DataObjectContainerPointer m_FixedMaskContainer
virtual int InitDBIndex(void)
void GetImageInformationFromFile(const std::string &filename, ImageDimensionType &imageDimension) const
ComponentDatabaseType::Pointer ComponentDatabasePointer
unsigned int ImageDimensionType
std::string PixelTypeDescriptionType
ComponentDatabaseType::PixelTypeDescriptionType PixelTypeDescriptionType
itk::SmartPointer< const Self > ConstPointer
ComponentLoaderType::Pointer ComponentLoaderPointer
virtual ParameterMapType GetTransformParametersMap(void) const
PixelTypeDescriptionType m_MovingImagePixelType
virtual void SetProcessPriority(void) const
ObjectType::Pointer ObjectPointer
A class with all functionality to configure elastix.
DataObjectContainerPointer m_MovingImageContainer
FlatDirectionCosinesType m_OriginalFixedImageDirection
Determines which components (metrics, transforms, etc.) are available.
virtual ObjectPointer CreateComponent(const ComponentDescriptionType &name)
itk::DataObject DataObjectType
itk::SmartPointer< Self > Pointer
itk::ParameterMapInterface::ParameterMapType ParameterMapType
ElastixBase::ObjectContainerType ObjectContainerType
void SetTotalNumberOfElastixLevels(unsigned int levels)
ImageDimensionType m_MovingImageDimension
void operator=(const Self &)
ElastixBase::DataObjectContainerPointer DataObjectContainerPointer
ObjectContainerType::Pointer ObjectContainerPointer
ElastixBase ElastixBaseType
ParameterMapType m_TransformParametersMap
ObjectPointer m_InitialTransform
ConfigurationPointer m_Configuration
ComponentLoader ComponentLoaderType
A class that deals with user given parameters and command line arguments.
ComponentDatabaseType::ImageDimensionType ImageDimensionType
The ComponentDatabase class is a class that stores the New() functions of all components.
ObjectPointer(* PtrToCreator)(void)
ComponentDatabaseType::IndexType DBIndexType
ComponentDatabaseType::ComponentDescriptionType ComponentDescriptionType
virtual int LoadComponents(void)
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
void SetElastixLevel(unsigned int level)
static void SetComponentDatabase(ComponentDatabase *arg)
virtual const FlatDirectionCosinesType & GetOriginalFixedImageDirectionFlat(void) const
unsigned int GetTotalNumberOfElastixLevels(void)
This class creates an interface for elastix.
std::map< std::string, std::string > CommandLineArgumentMapType
std::string ComponentDescriptionType
unsigned int GetElastixLevel(void)