go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxRegistrationBase.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 #ifndef __elxRegistrationBase_h
15 #define __elxRegistrationBase_h
16 
18 #include "elxMacro.h"
19 
20 #include "elxBaseComponentSE.h"
22 
26 
27 namespace elastix
28 {
29 
70 template< class TElastix >
71 class RegistrationBase : public BaseComponentSE< TElastix >
72 {
73 public:
74 
78 
81 
83  typedef typename Superclass::ElastixType ElastixType;
89 
91  typedef typename ElastixType::FixedImageType FixedImageType;
92  typedef typename ElastixType::MovingImageType MovingImageType;
93 
95  itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
97  itkStaticConstMacro( MovingImageDimension, unsigned int, MovingImageType::ImageDimension );
98 
102 
104  typedef std::vector< bool > UseMaskErosionArrayType;
105 
107  virtual ITKBaseType * GetAsITKBaseType( void )
108  {
109  return dynamic_cast< ITKBaseType * >( this );
110  }
111 
112 
114  virtual const ITKBaseType * GetAsITKBaseType( void ) const
115  {
116  return dynamic_cast< const ITKBaseType * >( this );
117  }
118 
119 
140  virtual bool ReadMaskParameters(
141  UseMaskErosionArrayType & useMaskErosionArray,
142  const unsigned int nrOfMasks,
143  const std::string & whichMask,
144  const unsigned int level ) const;
145 
146 protected:
147 
151  virtual ~RegistrationBase() {}
152 
154  typedef typename ElastixType::MaskPixelType MaskPixelType;
155  typedef typename ElastixType::FixedMaskType FixedMaskImageType;
156  typedef typename ElastixType::MovingMaskType MovingMaskImageType;
157  typedef typename FixedMaskImageType::Pointer FixedMaskImagePointer;
158  typedef typename MovingMaskImageType::Pointer MovingMaskImagePointer;
160  itkGetStaticConstMacro( FixedImageDimension ) > FixedMaskSpatialObjectType;
162  itkGetStaticConstMacro( MovingImageDimension ) > MovingMaskSpatialObjectType;
163  typedef typename
165  typedef typename
167 
170 
176 
190  const FixedMaskImageType * maskImage, bool useMaskErosion,
191  const FixedImagePyramidType * pyramid, unsigned int level ) const;
192 
206  const MovingMaskImageType * maskImage, bool useMaskErosion,
207  const MovingImagePyramidType * pyramid, unsigned int level ) const;
208 
209 private:
210 
212  RegistrationBase( const Self & ); // purposely not implemented
214  void operator=( const Self & ); // purposely not implemented
215 
216 };
217 
218 } // end namespace elastix
219 
220 #ifndef ITK_MANUAL_INSTANTIATION
221 #include "elxRegistrationBase.hxx"
222 #endif
223 
224 #endif // end #ifndef __elxRegistrationBase_h
ElastixType::FixedMaskType FixedMaskImageType
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
Superclass::RegistrationType RegistrationType
Base class for multi-resolution image registration methods.
ElastixType::MaskPixelType MaskPixelType
ElastixType::RegistrationBaseType RegistrationType
ElastixType::ConfigurationPointer ConfigurationPointer
ElastixType::Pointer ElastixPointer
ElastixType::ConfigurationType ConfigurationType
ITKBaseType::MovingImagePyramidType MovingImagePyramidType
Implementation of an image mask as spatial object.
FixedMaskImageType::Pointer FixedMaskImagePointer
MovingMaskImageType::Pointer MovingMaskImagePointer
Superclass::ConfigurationType ConfigurationType
This class is the elastix base class for all Registration schemes.
virtual ITKBaseType * GetAsITKBaseType(void)
void operator=(const Self &)
Superclass::ConfigurationPointer ConfigurationPointer
RegistrationType * RegistrationPointer
MovingMaskErodeFilterType::Pointer MovingMaskErodeFilterPointer
FixedMaskErodeFilterType::Pointer FixedMaskErodeFilterPointer
ElastixType::FixedImageType FixedImageType
ITKBaseType::FixedImagePyramidType FixedImagePyramidType
itk::ErodeMaskImageFilter< FixedMaskImageType > FixedMaskErodeFilterType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
itk::ErodeMaskImageFilter< MovingMaskImageType > MovingMaskErodeFilterType
itk::MultiResolutionImageRegistrationMethod2< FixedImageType, MovingImageType > ITKBaseType
ElastixType::MovingImageType MovingImageType
itk::ImageMaskSpatialObject2< itkGetStaticConstMacro(MovingImageDimension) > MovingMaskSpatialObjectType
MovingMaskSpatialObjectPointer GenerateMovingMaskSpatialObject(const MovingMaskImageType *maskImage, bool useMaskErosion, const MovingImagePyramidType *pyramid, unsigned int level) const
BaseComponentSE< TElastix > Superclass
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
Superclass::RegistrationPointer RegistrationPointer
FixedMaskSpatialObjectType::Pointer FixedMaskSpatialObjectPointer
MovingMaskSpatialObjectType::Pointer MovingMaskSpatialObjectPointer
itk::ImageMaskSpatialObject2< itkGetStaticConstMacro(FixedImageDimension) > FixedMaskSpatialObjectType
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType
Superclass::ElastixType ElastixType
virtual const ITKBaseType * GetAsITKBaseType(void) const
ElastixType::MovingMaskType MovingMaskImageType
std::vector< bool > UseMaskErosionArrayType
Superclass::ElastixPointer ElastixPointer
FixedMaskSpatialObjectPointer GenerateFixedMaskSpatialObject(const FixedMaskImageType *maskImage, bool useMaskErosion, const FixedImagePyramidType *pyramid, unsigned int level) const
virtual bool ReadMaskParameters(UseMaskErosionArrayType &useMaskErosionArray, const unsigned int nrOfMasks, const std::string &whichMask, const unsigned int level) const


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo