go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
elastix::ElastixMain Class Reference

#include <elxElastixMain.h>

Inheritance diagram for elastix::ElastixMain:
Inheritance graph
[legend]
Collaboration diagram for elastix::ElastixMain:
Collaboration graph
[legend]

Public Types

typedef
ConfigurationType::CommandLineArgumentMapType 
ArgumentMapType
typedef
ComponentDatabaseType::Pointer 
ComponentDatabasePointer
typedef ComponentDatabase ComponentDatabaseType
typedef
ComponentDatabaseType::ComponentDescriptionType 
ComponentDescriptionType
typedef
ComponentLoaderType::Pointer 
ComponentLoaderPointer
typedef ComponentLoader ComponentLoaderType
typedef ConfigurationType::Pointer ConfigurationPointer
typedef
ElastixBase::ConfigurationType 
ConfigurationType
typedef SmartPointer< const SelfConstPointer
typedef
ElastixBase::DataObjectContainerPointer 
DataObjectContainerPointer
typedef
ElastixBase::DataObjectContainerType 
DataObjectContainerType
typedef DataObjectType::Pointer DataObjectPointer
typedef DataObject DataObjectType
typedef
ComponentDatabaseType::IndexType 
DBIndexType
typedef ElastixBase ElastixBaseType
typedef
ElastixBase::FlatDirectionCosinesType 
FlatDirectionCosinesType
typedef
ComponentDatabaseType::ImageDimensionType 
ImageDimensionType
typedef
ElastixBase::ObjectContainerPointer 
ObjectContainerPointer
typedef
ElastixBase::ObjectContainerType 
ObjectContainerType
typedef ObjectType::Pointer ObjectPointer
typedef Object ObjectType
typedef
ComponentDatabaseType::PixelTypeDescriptionType 
PixelTypeDescriptionType
typedef SmartPointer< SelfPointer
typedef
ComponentDatabaseType::PtrToCreator 
PtrToCreator
typedef ElastixMain Self
typedef Object Superclass

Public Member Functions

virtual void EnterCommandLineArguments (ArgumentMapType &argmap)
virtual const char * GetClassName () const
virtual ConfigurationTypeGetConfiguration ()
virtual DBIndexType GetDBIndex () const
virtual ObjectTypeGetElastix ()
virtual ElastixBaseTypeGetElastixBase (void) const
unsigned int GetElastixLevel (void)
virtual ObjectTypeGetFinalTransform ()
virtual DataObjectContainerTypeGetFixedImageContainer ()
virtual ImageDimensionType GetFixedImageDimension ()
virtual PixelTypeDescriptionType GetFixedImagePixelType ()
virtual DataObjectContainerTypeGetFixedMaskContainer ()
virtual ObjectTypeGetInitialTransform ()
virtual DataObjectContainerTypeGetMovingImageContainer ()
virtual ImageDimensionType GetMovingImageDimension ()
virtual PixelTypeDescriptionType GetMovingImagePixelType ()
virtual DataObjectContainerTypeGetMovingMaskContainer ()
virtual const
FlatDirectionCosinesType
GetOriginalFixedImageDirectionFlat (void) const
unsigned int GetTotalNumberOfElastixLevels (void)
virtual int Run (void)
virtual int Run (ArgumentMapType &argmap)
virtual void SetConfiguration (ConfigurationType *_arg)
void SetElastixLevel (unsigned int level)
virtual void SetFixedImageContainer (DataObjectContainerType *_arg)
virtual void SetFixedImageDimension (ImageDimensionType _arg)
virtual void SetFixedImagePixelType (PixelTypeDescriptionType _arg)
virtual void SetFixedMaskContainer (DataObjectContainerType *_arg)
virtual void SetInitialTransform (ObjectType *_arg)
virtual void SetMaximumNumberOfThreads (void) const
virtual void SetMovingImageContainer (DataObjectContainerType *_arg)
virtual void SetMovingImageDimension (ImageDimensionType _arg)
virtual void SetMovingImagePixelType (PixelTypeDescriptionType _arg)
virtual void SetMovingMaskContainer (DataObjectContainerType *_arg)
virtual void SetOriginalFixedImageDirectionFlat (const FlatDirectionCosinesType &arg)
virtual void SetProcessPriority (void) const
void SetTotalNumberOfElastixLevels (unsigned int levels)

Static Public Member Functions

static ComponentDatabaseGetComponentDatabase (void)
static Pointer New ()
static void SetComponentDatabase (ComponentDatabase *arg)
static void UnloadComponents (void)

Protected Member Functions

virtual ObjectPointer CreateComponent (const ComponentDescriptionType &name)
virtual ObjectContainerPointer CreateComponents (const ComponentDescriptionType &key, const ComponentDescriptionType &defaultComponentName, int &errorcode, bool mandatoryComponent=true)
 ElastixMain ()
virtual int InitDBIndex (void)
virtual int LoadComponents (void)
virtual ~ElastixMain ()

Protected Attributes

ConfigurationPointer m_Configuration
DBIndexType m_DBIndex
ObjectPointer m_Elastix
ObjectPointer m_FinalTransform
DataObjectContainerPointer m_FixedImageContainer
ImageDimensionType m_FixedImageDimension
PixelTypeDescriptionType m_FixedImagePixelType
DataObjectContainerPointer m_FixedMaskContainer
ObjectPointer m_InitialTransform
DataObjectContainerPointer m_MovingImageContainer
ImageDimensionType m_MovingImageDimension
PixelTypeDescriptionType m_MovingImagePixelType
DataObjectContainerPointer m_MovingMaskContainer
FlatDirectionCosinesType m_OriginalFixedImageDirection

Static Protected Attributes

static ComponentDatabasePointer s_CDB
static ComponentLoaderPointer s_ComponentLoader

Private Member Functions

 ElastixMain (const Self &)
void operator= (const Self &)

Detailed Description

A class with all functionality to configure elastix.

The ElastixMain initializes the MyConfiguration class with the parameters and commandline arguments. After this, the class loads and creates all components and sets them in ElastixTemplate.

Parameters:
FixedImageDimension: the dimension of the fixed image.
example: (FixedImageDimension 2)
Parameters:
MovingImageDimension: the dimension of the fixed image.
example: (MovingImageDimension 2)
Parameters:
FixedInternalImagePixelType: the pixel type of the internal fixed image representation. The fixed image is automatically converted to this type.
example: (FixedInternalImagePixelType "float")
Default/recommended: "float"
Parameters:
MovingInternalImagePixelType: the pixel type of the internal moving image representation. The moving image is automatically converted to this type.
example: (MovingInternalImagePixelType "float")
Default/recommended: "float"
Transform Parameters:
FixedImageDimension: the dimension of the fixed image.
example: (FixedImageDimension 2)
Transform Parameters:
MovingImageDimension: the dimension of the fixed image.
example: (MovingImageDimension 2)
Transform Parameters:
FixedInternalImagePixelType: the pixel type of the internal fixed image representation. The fixed image is automatically converted to this type.
example: (FixedInternalImagePixelType "float")
Default/recommended: "float"
Transform Parameters:
MovingInternalImagePixelType: the pixel type of the internal moving image representation. The moving image is automatically converted to this type.
example: (MovingInternalImagePixelType "float")
Default/recommended: "float"

Definition at line 93 of file elxElastixMain.h.


Member Typedef Documentation

Reimplemented in elastix::TransformixMain.

Definition at line 120 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 132 of file elxElastixMain.h.

Typedefs for the database that holds pointers to New() functions. Those functions are used to instantiate components, such as the metric etc.

Reimplemented in elastix::TransformixMain.

Definition at line 131 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 134 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 141 of file elxElastixMain.h.

Typedef for class that populates a ComponentDatabase.

Reimplemented in elastix::TransformixMain.

Definition at line 140 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 121 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 119 of file elxElastixMain.h.

typedef SmartPointer<const Self> elastix::ElastixMain::ConstPointer

Reimplemented in elastix::TransformixMain.

Definition at line 101 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 125 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 123 of file elxElastixMain.h.

typedef DataObjectType::Pointer elastix::ElastixMain::DataObjectPointer

Reimplemented in elastix::TransformixMain.

Definition at line 115 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 114 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 137 of file elxElastixMain.h.

elastix components.

Reimplemented in elastix::TransformixMain.

Definition at line 118 of file elxElastixMain.h.

Definition at line 126 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 136 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 124 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 122 of file elxElastixMain.h.

typedef ObjectType::Pointer elastix::ElastixMain::ObjectPointer

Reimplemented in elastix::TransformixMain.

Definition at line 113 of file elxElastixMain.h.

Typedef's. ITK base objects.

Reimplemented in elastix::TransformixMain.

Definition at line 107 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 135 of file elxElastixMain.h.

typedef SmartPointer<Self> elastix::ElastixMain::Pointer

Reimplemented in elastix::TransformixMain.

Definition at line 100 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 133 of file elxElastixMain.h.

Standard itk.

Reimplemented in elastix::TransformixMain.

Definition at line 98 of file elxElastixMain.h.

Reimplemented in elastix::TransformixMain.

Definition at line 99 of file elxElastixMain.h.


Constructor & Destructor Documentation

virtual elastix::ElastixMain::~ElastixMain ( ) [protected, virtual]
elastix::ElastixMain::ElastixMain ( const Self ) [private]

Member Function Documentation

virtual ObjectPointer elastix::ElastixMain::CreateComponent ( const ComponentDescriptionType name) [protected, virtual]

Create a component. Make sure InitDBIndex has been called before. The input is a string, e.g. "MattesMutualInformation".

virtual ObjectContainerPointer elastix::ElastixMain::CreateComponents ( const ComponentDescriptionType key,
const ComponentDescriptionType defaultComponentName,
int errorcode,
bool  mandatoryComponent = true 
) [protected, virtual]

Create components. Reads from the configuration object (using the provided key) the names of the components to create and store their instantations in the provided ObjectContainer. The errorcode remains what it was if no error occurred. Otherwise it's set to 1. The 'key' is the entry inspected in the parameter file A component named 'defaultComponentName' is used when the key is not found in the parameter file. If "" is used, no default is assumed, and an error is given when the component was not specified. If the flag mandatoryComponent is set to false, no error is given, because the component may not be needed anyway.

NB: this function should never be called with: ( !mandatoryComponent && defaultComponentName != "" ) == true

Enter the command line parameters, which were given by the user, if elastix.exe is used to do a registration. The Configuration object will be initialized in this way.

virtual const char* elastix::ElastixMain::GetClassName ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented in elastix::TransformixMain.

Functions to get/set the ComponentDatabase.

Definition at line 250 of file elxElastixMain.h.

virtual DBIndexType elastix::ElastixMain::GetDBIndex ( ) const [virtual]

Returns the Index that is used in elx::ComponentDatabase.

Functions to get pointers to the elastix components. The components are returned as Object::Pointer. Before calling this functions, call run().

virtual ElastixBaseType* elastix::ElastixMain::GetElastixBase ( void  ) const [virtual]

Convenience function that returns the elastix component as a pointer to an ElastixBaseType. Use only after having called run()!

Get the final transform (the result of running elastix). You may pass this as an InitialTransform in an other instantiation of ElastixMain. Only valid after calling Run()!

virtual int elastix::ElastixMain::InitDBIndex ( void  ) [protected, virtual]

InitDBIndex sets m_DBIndex by asking the ImageTypes from the Configuration object and obtaining the corresponding DB index from the ComponentDatabase.

Reimplemented in elastix::TransformixMain.

virtual int elastix::ElastixMain::LoadComponents ( void  ) [protected, virtual]
static Pointer elastix::ElastixMain::New ( ) [static]

Method for creation through the object factory.

Reimplemented in elastix::TransformixMain.

void elastix::ElastixMain::operator= ( const Self ) [private]

Reimplemented in elastix::TransformixMain.

virtual int elastix::ElastixMain::Run ( void  ) [virtual]

Start the registration run() without command line parameters; it assumes that EnterCommandLineParameters has been invoked already, or that m_Configuration is initialised in a different way.

Reimplemented in elastix::TransformixMain.

virtual int elastix::ElastixMain::Run ( ArgumentMapType argmap) [virtual]

Start the registration this version of 'run' first calls this->EnterCommandLineParameters(argc,argv) and then calls run().

Reimplemented in elastix::TransformixMain.

static void elastix::ElastixMain::SetComponentDatabase ( ComponentDatabase arg) [inline, static]

Definition at line 255 of file elxElastixMain.h.

virtual void elastix::ElastixMain::SetConfiguration ( ConfigurationType _arg) [virtual]

Set/Get the configuration object.

void elastix::ElastixMain::SetElastixLevel ( unsigned int  level)

Get and Set the elastix level.

Set/Get functions for the fixed and moving images (if these are not used, elastix tries to read them from disk, according to the command line parameters).

Set/Get functions for the description of the imagetype.

Set/Get functions for the fixed and moving masks (if these are not used, elastix tries to read them from disk, according to the command line parameters).

virtual void elastix::ElastixMain::SetInitialTransform ( ObjectType _arg) [virtual]

Set/Get the initial transform the type is ObjectType, but the pointer should actually point to an itk::Transform type (or inherited from that one).

virtual void elastix::ElastixMain::SetMaximumNumberOfThreads ( void  ) const [virtual]

Set maximum number of threads, which is read from the command line arguments. Syntax: -threads <int>

Set/Get the original fixed image direction as a flat array (d11 d21 d31 d21 d22 etc )

virtual void elastix::ElastixMain::SetProcessPriority ( void  ) const [virtual]

Set process priority, which is read from the command line arguments. Syntax: -priority <high, belownormal>

Get and Set the total number of elastix levels.

static void elastix::ElastixMain::UnloadComponents ( void  ) [static]

Field Documentation

The configuration object, containing the parameters and command-line arguments.

Definition at line 276 of file elxElastixMain.h.

Definition at line 284 of file elxElastixMain.h.

A pointer to elastix as an itk::object. In run() this pointer will be assigned to an ElastixTemplate<>.

Definition at line 273 of file elxElastixMain.h.

A transform that is the result of registration.

Definition at line 293 of file elxElastixMain.h.

The images and masks.

Definition at line 287 of file elxElastixMain.h.

Definition at line 280 of file elxElastixMain.h.

Description of the ImageTypes.

Definition at line 279 of file elxElastixMain.h.

Definition at line 289 of file elxElastixMain.h.

The initial transform.

Definition at line 296 of file elxElastixMain.h.

Definition at line 288 of file elxElastixMain.h.

Definition at line 282 of file elxElastixMain.h.

Definition at line 281 of file elxElastixMain.h.

Definition at line 290 of file elxElastixMain.h.

Definition at line 298 of file elxElastixMain.h.

Definition at line 300 of file elxElastixMain.h.

Definition at line 301 of file elxElastixMain.h.



Generated on 24-05-2012 for elastix by doxygen 1.7.6.1 elastix logo