18 #ifndef __elxElastixMain_h 19 #define __elxElastixMain_h 25 #include "itkObject.h" 32 #ifdef ELASTIX_USE_OPENCL 55 extern int xoutSetup(
const char * logfilename,
bool setupLogging,
bool setupCout );
152 itkSetMacro( FixedImagePixelType, PixelTypeDescriptionType );
153 itkSetMacro( MovingImagePixelType, PixelTypeDescriptionType );
154 itkSetMacro( FixedImageDimension, ImageDimensionType );
155 itkSetMacro( MovingImageDimension, ImageDimensionType );
156 itkGetMacro( FixedImagePixelType, PixelTypeDescriptionType );
157 itkGetMacro( MovingImagePixelType, PixelTypeDescriptionType );
158 itkGetMacro( FixedImageDimension, ImageDimensionType );
159 itkGetMacro( MovingImageDimension, ImageDimensionType );
165 itkSetObjectMacro( FixedImageContainer, DataObjectContainerType );
166 itkSetObjectMacro( MovingImageContainer, DataObjectContainerType );
167 itkGetObjectMacro( FixedImageContainer, DataObjectContainerType );
168 itkGetObjectMacro( MovingImageContainer, DataObjectContainerType );
174 itkSetObjectMacro( FixedMaskContainer, DataObjectContainerType );
175 itkSetObjectMacro( MovingMaskContainer, DataObjectContainerType );
176 itkGetObjectMacro( FixedMaskContainer, DataObjectContainerType );
177 itkGetObjectMacro( MovingMaskContainer, DataObjectContainerType );
183 itkSetObjectMacro( ResultImageContainer, DataObjectContainerType );
184 itkGetObjectMacro( ResultImageContainer, DataObjectContainerType );
186 itkSetObjectMacro( ResultDeformationFieldContainer, DataObjectContainerType );
187 itkGetObjectMacro( ResultDeformationFieldContainer, DataObjectContainerType );
197 itkGetObjectMacro( Elastix, ObjectType );
209 itkGetObjectMacro( FinalTransform, ObjectType );
215 itkSetObjectMacro( InitialTransform, ObjectType );
216 itkGetObjectMacro( InitialTransform, ObjectType );
221 const FlatDirectionCosinesType & arg );
236 itkGetConstMacro( DBIndex, DBIndexType );
245 ParameterMapType & inputMap );
249 std::vector< ParameterMapType > & inputMaps );
256 virtual int Run(
void );
262 virtual int Run( ArgumentMapType & argmap );
264 virtual int Run( ArgumentMapType & argmap, ParameterMapType & inputMap );
281 return s_CDB.GetPointer();
343 static ComponentDatabasePointer
s_CDB;
356 virtual ObjectPointer
CreateComponent(
const ComponentDescriptionType & name );
374 const ComponentDescriptionType & key,
375 const ComponentDescriptionType & defaultComponentName,
377 bool mandatoryComponent =
true );
381 ImageDimensionType & imageDimension )
const;
392 #endif // end #ifndef __elxElastixMain_h DataObjectType::Pointer DataObjectPointer
DataObjectContainerPointer m_FixedImageContainer
DataObjectContainerType::Pointer DataObjectContainerPointer
ObjectPointer(* PtrToCreator)(void)
static ComponentDatabase * GetComponentDatabase(void)
static ComponentLoaderPointer s_ComponentLoader
std::vector< ConfigurationPointer > m_Configurations
static void UnloadComponents(void)
itk::SmartPointer< Self > Pointer
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
void GetImageInformationFromFile(const std::string &filename, ImageDimensionType &imageDimension) const
ParameterFileParser::ParameterMapType ParameterMapType
ConfigurationType::Pointer ConfigurationPointer
ComponentDatabaseType::PtrToCreator PtrToCreator
ElastixBase::FlatDirectionCosinesType FlatDirectionCosinesType
ConfigurationType::CommandLineArgumentMapType ArgumentMapType
PixelTypeDescriptionType m_FixedImagePixelType
virtual ParameterMapType GetTransformParametersMap(void) const
DataObjectContainerPointer m_FixedMaskContainer
virtual int InitDBIndex(void)
DataObjectContainerPointer m_ResultDeformationFieldContainer
ComponentDatabaseType::Pointer ComponentDatabasePointer
unsigned int ImageDimensionType
std::string PixelTypeDescriptionType
ComponentDatabaseType::PixelTypeDescriptionType PixelTypeDescriptionType
itk::SmartPointer< const Self > ConstPointer
ComponentLoaderType::Pointer ComponentLoaderPointer
virtual void SetProcessPriority(void) const
PixelTypeDescriptionType m_MovingImagePixelType
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.
ComponentDatabaseType::IndexType DBIndexType
ComponentDatabaseType::ComponentDescriptionType ComponentDescriptionType
virtual int LoadComponents(void)
virtual void SetMaximumNumberOfThreads(void) const
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
void SetElastixLevel(unsigned int level)
virtual const FlatDirectionCosinesType & GetOriginalFixedImageDirectionFlat(void) const
static void SetComponentDatabase(ComponentDatabase *arg)
unsigned int GetTotalNumberOfElastixLevels(void)
This class creates an interface for elastix.
virtual ElastixBaseType * GetElastixBase(void) const
std::map< std::string, std::string > CommandLineArgumentMapType
std::string ComponentDescriptionType
unsigned int GetElastixLevel(void)