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 
28 namespace elastix
29 {
30 
71  template <class TElastix>
72  class RegistrationBase : public BaseComponentSE<TElastix>
73  {
74  public:
75 
79 
82 
84  typedef typename Superclass::ElastixType ElastixType;
90 
92  typedef typename ElastixType::FixedImageType FixedImageType;
93  typedef typename ElastixType::MovingImageType MovingImageType;
94 
96  itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
98  itkStaticConstMacro( MovingImageDimension, unsigned int, MovingImageType::ImageDimension );
99 
103 
105  typedef std::vector<bool> UseMaskErosionArrayType;
106 
109  {
110  return dynamic_cast<ITKBaseType *>(this);
111  }
112 
114  virtual const ITKBaseType * GetAsITKBaseType(void) const
115  {
116  return dynamic_cast<const ITKBaseType *>(this);
117  }
118 
139  virtual bool ReadMaskParameters(
140  UseMaskErosionArrayType & useMaskErosionArray,
141  const unsigned int nrOfMasks,
142  const std::string & whichMask,
143  const unsigned int level ) const;
144 
145  protected:
146 
150  virtual ~RegistrationBase() {}
151 
153  typedef typename ElastixType::MaskPixelType MaskPixelType;
154  typedef typename ElastixType::FixedMaskType FixedMaskImageType;
155  typedef typename ElastixType::MovingMaskType MovingMaskImageType;
156  typedef typename FixedMaskImageType::Pointer FixedMaskImagePointer;
157  typedef typename MovingMaskImageType::Pointer MovingMaskImagePointer;
159  itkGetStaticConstMacro( FixedImageDimension ) > FixedMaskSpatialObjectType;
161  itkGetStaticConstMacro( MovingImageDimension ) > MovingMaskSpatialObjectType;
162  typedef typename
164  typedef typename
166 
169 
175 
189  const FixedMaskImageType * maskImage, bool useMaskErosion,
190  const FixedImagePyramidType * pyramid, unsigned int level ) const;
191 
205  const MovingMaskImageType * maskImage, bool useMaskErosion,
206  const MovingImagePyramidType * pyramid, unsigned int level ) const;
207 
208  private:
209 
211  RegistrationBase( const Self& ); // purposely not implemented
213  void operator=( const Self& ); // purposely not implemented
214 
215  }; // end class RegistrationBase
216 
217 
218 } // end namespace elastix
219 
220 
221 #ifndef ITK_MANUAL_INSTANTIATION
222 #include "elxRegistrationBase.hxx"
223 #endif
224 
225 #endif // end #ifndef __elxRegistrationBase_h
226 
ElastixType::FixedMaskType FixedMaskImageType
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
Superclass::RegistrationType RegistrationType
BaseComponentSE< TElastix > Superclass
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
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
std::vector< bool > UseMaskErosionArrayType
ElastixType::MovingMaskType MovingMaskImageType
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 04-01-2014 for elastix by doxygen 1.8.5 elastix logo