go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxElastixBase.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
28 #ifndef __elxElastixBase_h
29 #define __elxElastixBase_h
30 
31 #include "elxBaseComponent.h"
32 #include "elxComponentDatabase.h"
33 #include "elxConfiguration.h"
34 #include "itkObject.h"
35 #include "itkDataObject.h"
36 #include "elxMacro.h"
37 #include "xoutmain.h"
38 #include "itkVectorContainer.h"
39 #include "itkImageFileReader.h"
40 #include "itkChangeInformationImageFilter.h"
41 
42 #include <fstream>
43 #include <iomanip>
44 
51 #define elxGetObjectMacro( _name, _type ) \
52  virtual _type * Get##_name( void ) const \
53  { \
54  return this->m_##_name.GetPointer(); \
55  }
56 //end elxGetObjectMacro
57 
58 #define elxSetObjectMacro( _name, _type ) \
59  virtual void Set##_name( _type * _arg ) \
60  { \
61  if( this->m_##_name != _arg ) \
62  { \
63  this->m_##_name = _arg; \
64  this->GetAsITKBaseType()->Modified(); \
65  } \
66  }
67 //end elxSetObjectMacro
68 
70 #define elxGetNumberOfMacro( _name ) \
71  virtual unsigned int GetNumberOf##_name##s( void ) const \
72  { \
73  if( this->Get##_name##Container() != 0 ) \
74  { \
75  return this->Get##_name##Container()->Size(); \
76  } \
77  return 0; \
78  }
79 // end elxGetNumberOfMacro
80 
81 namespace elastix
82 {
144 {
145 public:
146 
148  typedef ElastixBase Self;
150 
154  typedef itk::Object ObjectType; //for the components
155  typedef ObjectType::Pointer ObjectPointer;
156  typedef itk::DataObject DataObjectType; //for the images
157  typedef DataObjectType::Pointer DataObjectPointer;
158  typedef itk::VectorContainer<
160  typedef ObjectContainerType::Pointer ObjectContainerPointer;
161  typedef itk::VectorContainer<
163  typedef DataObjectContainerType::Pointer DataObjectContainerPointer;
164  typedef itk::VectorContainer<
165  unsigned int, std::string > FileNameContainerType;
166  typedef FileNameContainerType::Pointer FileNameContainerPointer;
167 
172  typedef std::vector< double > FlatDirectionCosinesType;
173 
176 
180  typedef itk::Object ITKBaseType;
181 
183  virtual ITKBaseType * GetAsITKBaseType( void )
184  {
185  return dynamic_cast< ITKBaseType * >( this );
186  }
187 
188 
192 
194  virtual void SetDBIndex( DBIndexType _arg );
195 
196  virtual DBIndexType GetDBIndex( void )
197  {
198  return this->m_DBIndex;
199  }
200 
201 
208 
213  elxGetObjectMacro( RegistrationContainer, ObjectContainerType );
214  elxGetObjectMacro( FixedImagePyramidContainer, ObjectContainerType );
215  elxGetObjectMacro( MovingImagePyramidContainer, ObjectContainerType );
216  elxGetObjectMacro( InterpolatorContainer, ObjectContainerType );
217  elxGetObjectMacro( ImageSamplerContainer, ObjectContainerType );
219  elxGetObjectMacro( OptimizerContainer, ObjectContainerType );
220  elxGetObjectMacro( ResamplerContainer, ObjectContainerType );
221  elxGetObjectMacro( ResampleInterpolatorContainer, ObjectContainerType );
222  elxGetObjectMacro( TransformContainer, ObjectContainerType );
223 
228  elxSetObjectMacro( RegistrationContainer, ObjectContainerType );
229  elxSetObjectMacro( FixedImagePyramidContainer, ObjectContainerType );
230  elxSetObjectMacro( MovingImagePyramidContainer, ObjectContainerType );
231  elxSetObjectMacro( InterpolatorContainer, ObjectContainerType );
232  elxSetObjectMacro( ImageSamplerContainer, ObjectContainerType );
234  elxSetObjectMacro( OptimizerContainer, ObjectContainerType );
235  elxSetObjectMacro( ResamplerContainer, ObjectContainerType );
236  elxSetObjectMacro( ResampleInterpolatorContainer, ObjectContainerType );
237  elxSetObjectMacro( TransformContainer, ObjectContainerType );
238 
241  elxGetObjectMacro( MovingImageContainer, DataObjectContainerType );
243  elxSetObjectMacro( MovingImageContainer, DataObjectContainerType );
244 
250 
252  elxGetObjectMacro( ResultImageContainer, DataObjectContainerType );
253  elxSetObjectMacro( ResultImageContainer, DataObjectContainerType );
254 
256  elxGetObjectMacro( ResultDeformationFieldContainer, DataObjectContainerType );
257  elxSetObjectMacro( ResultDeformationFieldContainer, DataObjectContainerType );
258 
262  elxGetObjectMacro( FixedImageFileNameContainer, FileNameContainerType );
263  elxGetObjectMacro( MovingImageFileNameContainer, FileNameContainerType );
264  elxSetObjectMacro( FixedImageFileNameContainer, FileNameContainerType );
265  elxSetObjectMacro( MovingImageFileNameContainer, FileNameContainerType );
266 
270  elxGetObjectMacro( FixedMaskFileNameContainer, FileNameContainerType );
271  elxGetObjectMacro( MovingMaskFileNameContainer, FileNameContainerType );
272  elxSetObjectMacro( FixedMaskFileNameContainer, FileNameContainerType );
273  elxSetObjectMacro( MovingMaskFileNameContainer, FileNameContainerType );
274 
276  elxGetNumberOfMacro( Registration );
277  elxGetNumberOfMacro( FixedImagePyramid );
278  elxGetNumberOfMacro( MovingImagePyramid );
279  elxGetNumberOfMacro( Interpolator );
280  elxGetNumberOfMacro( ImageSampler );
282  elxGetNumberOfMacro( Optimizer );
283  elxGetNumberOfMacro( Resampler );
284  elxGetNumberOfMacro( ResampleInterpolator );
285  elxGetNumberOfMacro( Transform );
286  elxGetNumberOfMacro( FixedImage );
287  elxGetNumberOfMacro( MovingImage );
288  elxGetNumberOfMacro( FixedImageFileName );
289  elxGetNumberOfMacro( MovingImageFileName );
290  elxGetNumberOfMacro( FixedMask );
291  elxGetNumberOfMacro( MovingMask );
292  elxGetNumberOfMacro( FixedMaskFileName );
293  elxGetNumberOfMacro( MovingMaskFileName );
294  elxGetNumberOfMacro( ResultImage );
295  elxGetNumberOfMacro( ResultDeformationField );
296 
301  elxSetObjectMacro( InitialTransform, ObjectType );
302  elxGetObjectMacro( InitialTransform, ObjectType );
303 
310  elxSetObjectMacro( FinalTransform, ObjectType );
311  elxGetObjectMacro( FinalTransform, ObjectType );
312 
314  virtual int Run( void ) = 0;
315 
317  virtual int ApplyTransform( void ) = 0;
318 
322  virtual int BeforeAllBase( void );
323 
327  virtual int BeforeAllTransformixBase( void );
328 
332  virtual void BeforeRegistrationBase( void );
333 
334  virtual void AfterRegistrationBase( void );
335 
340  virtual int GetDefaultOutputPrecision( void ) const
341  {
342  return this->m_DefaultOutputPrecision;
343  }
344 
345 
349  virtual bool GetUseDirectionCosines( void ) const;
350 
354  const FlatDirectionCosinesType & arg );
355 
357 
359  virtual void CreateTransformParametersMap( void ) = 0;
360 
362  virtual ParameterMapType GetTransformParametersMap( void ) const = 0;
363 
365  virtual void SetConfigurations( std::vector< ConfigurationPointer > & configurations ) = 0;
366 
367 protected:
368 
370  virtual ~ElastixBase() {}
371 
375 
377 
390  template< class TImage >
392  {
393 public:
394 
395  typedef TImage ImageType;
396  typedef typename ImageType::Pointer ImagePointer;
397  typedef itk::ImageFileReader< ImageType > ImageReaderType;
398  typedef typename ImageReaderType::Pointer ImageReaderPointer;
399  typedef typename ImageType::DirectionType DirectionType;
400  typedef itk::ChangeInformationImageFilter< ImageType > ChangeInfoFilterType;
401  typedef typename ChangeInfoFilterType::Pointer ChangeInfoFilterPointer;
402 
404  FileNameContainerType * fileNameContainer, const std::string & imageDescription,
405  bool useDirectionCosines, DirectionType * originalDirectionCosines = NULL )
406  {
407  DataObjectContainerPointer imageContainer = DataObjectContainerType::New();
408 
410  for( unsigned int i = 0; i < fileNameContainer->Size(); ++i )
411  {
413  ImageReaderPointer imageReader = ImageReaderType::New();
414  imageReader->SetFileName( fileNameContainer->ElementAt( i ).c_str() );
415  ChangeInfoFilterPointer infoChanger = ChangeInfoFilterType::New();
416  DirectionType direction;
417  direction.SetIdentity();
418  infoChanger->SetOutputDirection( direction );
419  infoChanger->SetChangeDirection( !useDirectionCosines );
420  infoChanger->SetInput( imageReader->GetOutput() );
421 
423  try
424  {
425  infoChanger->Update();
426  }
427  catch( itk::ExceptionObject & excp )
428  {
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 );
435  throw excp;
436  }
437 
439  ImagePointer image = infoChanger->GetOutput();
440  imageContainer->CreateElementAt( i ) = image.GetPointer();
441 
443  if( originalDirectionCosines )
444  {
445  *originalDirectionCosines = imageReader->GetOutput()->GetDirection();
446  }
447 
448  } // end for i
449 
450  return imageContainer;
451 
452  } // end static method GenerateImageContainer
453 
454 
457  {
459  DataObjectContainerPointer imageContainer = DataObjectContainerType::New();
460 
462  imageContainer->CreateElementAt( 0 ) = image;
463 
465  return imageContainer;
466 
467  } // GenerateImageContainer()
468 
469 
472 
473  };
474 
476  {
477 public:
478 
481  DataObjectPointer image )
482  {
483  unsigned int j = 0; //container with only one image for now
484 
486  DataObjectContainerPointer imageContainer = DataObjectContainerType::New();
487 
489  imageContainer->CreateElementAt( j ) = image;
490 
492  return imageContainer;
493  } // end GenerateImageContainer()
494 
495 
499  };
500 
501 private:
502 
503  ElastixBase( const Self & ); // purposely not implemented
504  void operator=( const Self & ); // purposely not implemented
505 
507 
509 
523 
529 
532 
535 
541 
545 
548 
557  const std::string & optionkey,
558  int & errorcode,
559  bool printerrors,
560  bool printinfo ) const;
561 
562 };
563 
564 } // end namespace elastix
565 
566 #undef elxGetObjectMacro
567 #undef elxSetObjectMacro
568 #undef elxGetNumberOfMacro
569 
570 #endif // end #ifndef __elxElastixBase_h
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingImageFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedImagePyramidContainer, ObjectContainerType)
elastix::ElastixBase::MultipleImageLoader::ChangeInfoFilterPointer
ChangeInfoFilterType::Pointer ChangeInfoFilterPointer
Definition: elxElastixBase.h:401
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Interpolator)
elastix::ElastixBase::m_ResultImageContainer
DataObjectContainerPointer m_ResultImageContainer
Definition: elxElastixBase.h:531
elastix::ElastixBase::GetOriginalFixedImageDirectionFlat
virtual const FlatDirectionCosinesType & GetOriginalFixedImageDirectionFlat(void) const
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(InitialTransform, ObjectType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(ResultDeformationField)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(ImageSampler)
elastix::ElastixBase::MultipleImageLoader::ImagePointer
ImageType::Pointer ImagePointer
Definition: elxElastixBase.h:396
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(ResampleInterpolator)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ResultImageContainer, DataObjectContainerType)
elastix::ElastixBase::m_ResampleInterpolatorContainer
ObjectContainerPointer m_ResampleInterpolatorContainer
Definition: elxElastixBase.h:521
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingImageFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Optimizer)
elastix::BaseComponent
The BaseComponent class is a class that all elastix components should inherit from.
Definition: elxBaseComponent.h:68
elastix::ElastixBase::m_ImageSamplerContainer
ObjectContainerPointer m_ImageSamplerContainer
Definition: elxElastixBase.h:516
elastix::ElastixBase::m_DefaultOutputPrecision
int m_DefaultOutputPrecision
Definition: elxElastixBase.h:508
elastix::ElastixBase::GetAsITKBaseType
virtual ITKBaseType * GetAsITKBaseType(void)
Definition: elxElastixBase.h:183
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedImagePyramidContainer, ObjectContainerType)
elastix::ElastixBase::MultipleImageLoader::ImageReaderType
itk::ImageFileReader< ImageType > ImageReaderType
Definition: elxElastixBase.h:397
elastix::ElastixBase::m_MovingMaskContainer
DataObjectContainerPointer m_MovingMaskContainer
Definition: elxElastixBase.h:528
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingImagePyramidContainer, ObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ResampleInterpolatorContainer, ObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedMaskFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedImageFileName)
elastix::Configuration
A class that deals with user given parameters and command line arguments.
Definition: elxConfiguration.h:51
elastix::ElastixBase::m_TransformContainer
ObjectContainerPointer m_TransformContainer
Definition: elxElastixBase.h:522
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingImagePyramidContainer, ObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(OptimizerContainer, ObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ComponentDatabase, ComponentDatabaseType)
elastix::ElastixBase::m_ComponentDatabase
ComponentDatabasePointer m_ComponentDatabase
Definition: elxElastixBase.h:374
elastix::ElastixBase::Superclass
BaseComponent Superclass
Definition: elxElastixBase.h:149
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingImageFileName)
elastix::ElastixBase::MultipleImageLoader::~MultipleImageLoader
~MultipleImageLoader()
Definition: elxElastixBase.h:471
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(TransformContainer, ObjectContainerType)
elastix::ElastixBase::m_FixedMaskFileNameContainer
FileNameContainerPointer m_FixedMaskFileNameContainer
Definition: elxElastixBase.h:539
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Resampler)
elastix::ElastixBase::ConfigurationPointer
ConfigurationType::Pointer ConfigurationPointer
Definition: elxElastixBase.h:153
elastix::ElastixBase::MultipleDataObjectFiller::GenerateImageContainer
static DataObjectContainerPointer GenerateImageContainer(DataObjectPointer image)
Definition: elxElastixBase.h:480
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MetricContainer, ObjectContainerType)
elastix::ElastixBase::BeforeAllTransformixBase
virtual int BeforeAllTransformixBase(void)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(OptimizerContainer, ObjectContainerType)
elastix::ElastixBase::m_FinalTransform
ObjectPointer m_FinalTransform
Definition: elxElastixBase.h:544
elastix::ElastixBase::Run
virtual int Run(void)=0
elastix::ElastixBase::ApplyTransform
virtual int ApplyTransform(void)=0
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedImagePyramid)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingMaskFileName)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedMaskFileNameContainer, FileNameContainerType)
elastix::ElastixBase
This class creates an interface for elastix.
Definition: elxElastixBase.h:144
elastix::ElastixBase::ParameterMapType
itk::ParameterMapInterface::ParameterMapType ParameterMapType
Definition: elxElastixBase.h:175
elastix::ElastixBase::DataObjectContainerPointer
DataObjectContainerType::Pointer DataObjectContainerPointer
Definition: elxElastixBase.h:163
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedMaskContainer, DataObjectContainerType)
elastix::ElastixBase::Self
ElastixBase Self
Definition: elxElastixBase.h:148
elastix::ElastixBase::GetUseDirectionCosines
virtual bool GetUseDirectionCosines(void) const
elastix::ElastixBase::m_InitialTransform
ObjectPointer m_InitialTransform
Definition: elxElastixBase.h:543
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedImage)
elastix::ElastixBase::DataObjectType
itk::DataObject DataObjectType
Definition: elxElastixBase.h:156
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(InitialTransform, ObjectType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(Configuration, ConfigurationType)
xoutmain.h
elastix::ElastixBase::m_InterpolatorContainer
ObjectContainerPointer m_InterpolatorContainer
Definition: elxElastixBase.h:515
elastix::ElastixBase::MultipleDataObjectFiller
Definition: elxElastixBase.h:476
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(InterpolatorContainer, ObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ComponentDatabase, ComponentDatabaseType)
elastix::ElastixBase::m_FixedImageContainer
DataObjectContainerPointer m_FixedImageContainer
Definition: elxElastixBase.h:525
elastix::ElastixBase::MultipleImageLoader::MultipleImageLoader
MultipleImageLoader()
Definition: elxElastixBase.h:470
elxComponentDatabase.h
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(RegistrationContainer, ObjectContainerType)
elastix::ElastixBase::MultipleImageLoader
Definition: elxElastixBase.h:392
elastix::ElastixBase::m_ResamplerContainer
ObjectContainerPointer m_ResamplerContainer
Definition: elxElastixBase.h:520
elastix::ComponentDatabase::Pointer
itk::SmartPointer< Self > Pointer
Definition: elxComponentDatabase.h:60
xoutlibrary::xoutrow
The xoutrow class can easily generate tables.
Definition: xoutrow.h:43
elastix::ElastixBase::m_DBIndex
DBIndexType m_DBIndex
Definition: elxElastixBase.h:373
elastix::ElastixBase::m_RegistrationContainer
ObjectContainerPointer m_RegistrationContainer
Definition: elxElastixBase.h:519
elastix::ElastixBase::ObjectContainerType
itk::VectorContainer< unsigned int, ObjectPointer > ObjectContainerType
Definition: elxElastixBase.h:159
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedImageContainer, DataObjectContainerType)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ResultImageContainer, DataObjectContainerType)
elastix::ElastixBase::GenerateFileNameContainer
FileNameContainerPointer GenerateFileNameContainer(const std::string &optionkey, int &errorcode, bool printerrors, bool printinfo) const
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingMaskContainer, DataObjectContainerType)
elastix::ElastixBase::GetDefaultOutputPrecision
virtual int GetDefaultOutputPrecision(void) const
Definition: elxElastixBase.h:340
elastix::ElastixBase::ObjectType
itk::Object ObjectType
Definition: elxElastixBase.h:154
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ImageSamplerContainer, ObjectContainerType)
elastix::ComponentDatabase
The ComponentDatabase class is a class that stores the New() functions of all components.
Definition: elxComponentDatabase.h:54
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FixedImageFileNameContainer, FileNameContainerType)
elastix::ElastixBase::MultipleImageLoader::ChangeInfoFilterType
itk::ChangeInformationImageFilter< ImageType > ChangeInfoFilterType
Definition: elxElastixBase.h:400
elastix::ElastixBase::AfterRegistrationBase
virtual void AfterRegistrationBase(void)
elastix::ElastixBase::FileNameContainerType
itk::VectorContainer< unsigned int, std::string > FileNameContainerType
Definition: elxElastixBase.h:165
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(InterpolatorContainer, ObjectContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedMask)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Registration)
elastix::ElastixBase::ElastixBase
ElastixBase(const Self &)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingMask)
elastix::ElastixBase::DataObjectContainerType
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
Definition: elxElastixBase.h:162
elastix::ElastixBase::MultipleImageLoader::GenerateImageContainer
static DataObjectContainerPointer GenerateImageContainer(FileNameContainerType *fileNameContainer, const std::string &imageDescription, bool useDirectionCosines, DirectionType *originalDirectionCosines=NULL)
Definition: elxElastixBase.h:403
elastix::ElastixBase::m_MovingImageFileNameContainer
FileNameContainerPointer m_MovingImageFileNameContainer
Definition: elxElastixBase.h:538
elastix::ElastixBase::SetConfigurations
virtual void SetConfigurations(std::vector< ConfigurationPointer > &configurations)=0
elastix::ElastixBase::m_MovingMaskFileNameContainer
FileNameContainerPointer m_MovingMaskFileNameContainer
Definition: elxElastixBase.h:540
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedImageContainer, DataObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedImageFileNameContainer, FileNameContainerType)
elastix::ElastixBase::ObjectPointer
ObjectType::Pointer ObjectPointer
Definition: elxElastixBase.h:155
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingMaskContainer, DataObjectContainerType)
elastix::ElastixBase::m_MetricContainer
ObjectContainerPointer m_MetricContainer
Definition: elxElastixBase.h:517
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(FinalTransform, ObjectType)
unsigned int
elastix::ElastixBase::m_FixedImagePyramidContainer
ObjectContainerPointer m_FixedImagePyramidContainer
Definition: elxElastixBase.h:513
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(TransformContainer, ObjectContainerType)
elastix::ElastixBase::m_MovingImageContainer
DataObjectContainerPointer m_MovingImageContainer
Definition: elxElastixBase.h:526
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingImageContainer, DataObjectContainerType)
elastix::ElastixBase::m_FixedMaskContainer
DataObjectContainerPointer m_FixedMaskContainer
Definition: elxElastixBase.h:527
elastix::ElastixBase::BeforeRegistrationBase
virtual void BeforeRegistrationBase(void)
elastix::ElastixBase::m_OriginalFixedImageDirection
FlatDirectionCosinesType m_OriginalFixedImageDirection
Definition: elxElastixBase.h:376
elastix::ElastixBase::FileNameContainerPointer
FileNameContainerType::Pointer FileNameContainerPointer
Definition: elxElastixBase.h:166
itk::ParameterMapInterface::ParameterMapType
ParameterFileParser::ParameterMapType ParameterMapType
Definition: itkParameterMapInterface.h:91
elastix::ElastixBase::m_UseDirectionCosines
bool m_UseDirectionCosines
Definition: elxElastixBase.h:547
elastix::ElastixBase::FlatDirectionCosinesType
std::vector< double > FlatDirectionCosinesType
Definition: elxElastixBase.h:172
elastix::ElastixBase::MultipleImageLoader::ImageType
TImage ImageType
Definition: elxElastixBase.h:395
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Metric)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ResamplerContainer, ObjectContainerType)
elastix::ElastixBase::MultipleImageLoader::GenerateImageContainer
static DataObjectContainerPointer GenerateImageContainer(DataObjectPointer image)
Definition: elxElastixBase.h:456
elxConfiguration.h
elastix::ElastixBase::m_FixedImageFileNameContainer
FileNameContainerPointer m_FixedImageFileNameContainer
Definition: elxElastixBase.h:537
elastix::ElastixBase::MultipleDataObjectFiller::MultipleDataObjectFiller
MultipleDataObjectFiller()
Definition: elxElastixBase.h:497
elastix::ElastixBase::m_ResultDeformationFieldContainer
DataObjectContainerPointer m_ResultDeformationFieldContainer
Definition: elxElastixBase.h:534
elastix::ElastixBase::ConfigurationType
Configuration ConfigurationType
Definition: elxElastixBase.h:152
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(FixedMaskFileName)
elastix::ElastixBase::ObjectContainerPointer
ObjectContainerType::Pointer ObjectContainerPointer
Definition: elxElastixBase.h:160
elastix::ElastixBase::m_OptimizerContainer
ObjectContainerPointer m_OptimizerContainer
Definition: elxElastixBase.h:518
elxBaseComponent.h
elastix::ElastixBase::ComponentDatabaseType
ComponentDatabase ComponentDatabaseType
Definition: elxElastixBase.h:169
elastix::ElastixBase::DBIndexType
ComponentDatabaseType::IndexType DBIndexType
Definition: elxElastixBase.h:171
elastix::ElastixBase::~ElastixBase
virtual ~ElastixBase()
Definition: elxElastixBase.h:370
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(ImageSamplerContainer, ObjectContainerType)
elastix::Configuration::Pointer
itk::SmartPointer< Self > Pointer
Definition: elxConfiguration.h:58
elastix::ElastixBase::CreateTransformParametersMap
virtual void CreateTransformParametersMap(void)=0
elastix::ElastixBase::SetOriginalFixedImageDirectionFlat
virtual void SetOriginalFixedImageDirectionFlat(const FlatDirectionCosinesType &arg)
elastix::ElastixBase::BeforeAllBase
virtual int BeforeAllBase(void)
elastix::ElastixBase::GetTransformParametersMap
virtual ParameterMapType GetTransformParametersMap(void) const =0
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(Transform)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ResamplerContainer, ObjectContainerType)
elastix::ElastixBase::MultipleImageLoader::ImageReaderPointer
ImageReaderType::Pointer ImageReaderPointer
Definition: elxElastixBase.h:398
elastix::ElastixBase::ElastixBase
ElastixBase()
elastix::ElastixBase::ITKBaseType
itk::Object ITKBaseType
Definition: elxElastixBase.h:180
elastix::ElastixBase::GetDBIndex
virtual DBIndexType GetDBIndex(void)
Definition: elxElastixBase.h:196
elastix::ElastixBase::MultipleImageLoader::DirectionType
ImageType::DirectionType DirectionType
Definition: elxElastixBase.h:399
elxMacro.h
elastix::ElastixBase::ComponentDatabasePointer
ComponentDatabaseType::Pointer ComponentDatabasePointer
Definition: elxElastixBase.h:170
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingImageContainer, DataObjectContainerType)
elastix
Definition: elxFixedGenericPyramid.h:25
elastix::ElastixBase::m_IterationInfo
xl::xoutrow_type m_IterationInfo
Definition: elxElastixBase.h:506
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingImagePyramid)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FinalTransform, ObjectType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(RegistrationContainer, ObjectContainerType)
elastix::ElastixBase::m_MovingImagePyramidContainer
ObjectContainerPointer m_MovingImagePyramidContainer
Definition: elxElastixBase.h:514
elastix::ElastixBase::MultipleDataObjectFiller::~MultipleDataObjectFiller
~MultipleDataObjectFiller()
Definition: elxElastixBase.h:498
elastix::ElastixBase::operator=
void operator=(const Self &)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(ResampleInterpolatorContainer, ObjectContainerType)
elastix::ElastixBase::m_Configuration
ConfigurationPointer m_Configuration
Definition: elxElastixBase.h:372
elastix::ElastixBase::DataObjectPointer
DataObjectType::Pointer DataObjectPointer
Definition: elxElastixBase.h:157
elastix::ElastixBase::SetDBIndex
virtual void SetDBIndex(DBIndexType _arg)
int
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MovingMaskFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(MovingImage)
elastix::ElastixBase::elxSetObjectMacro
elxSetObjectMacro(MovingMaskFileNameContainer, FileNameContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(FixedMaskContainer, DataObjectContainerType)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(Configuration, ConfigurationType)
elastix::ElastixBase::elxGetNumberOfMacro
elxGetNumberOfMacro(ResultImage)
elastix::ElastixBase::elxGetObjectMacro
elxGetObjectMacro(MetricContainer, ObjectContainerType)


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo