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  * 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 #ifndef __elxRegistrationBase_h
19 #define __elxRegistrationBase_h
20 
22 #include "elxMacro.h"
23 
24 #include "elxBaseComponentSE.h"
26 
30 
31 namespace elastix
32 {
33 
74 template< class TElastix >
75 class RegistrationBase : public BaseComponentSE< TElastix >
76 {
77 public:
78 
82 
85 
93 
95  typedef typename ElastixType::FixedImageType FixedImageType;
96  typedef typename ElastixType::MovingImageType MovingImageType;
97 
99  itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
101  itkStaticConstMacro( MovingImageDimension, unsigned int, MovingImageType::ImageDimension );
102 
106 
108  typedef std::vector< bool > UseMaskErosionArrayType;
109 
111  virtual ITKBaseType * GetAsITKBaseType( void )
112  {
113  return dynamic_cast< ITKBaseType * >( this );
114  }
115 
116 
118  virtual const ITKBaseType * GetAsITKBaseType( void ) const
119  {
120  return dynamic_cast< const ITKBaseType * >( this );
121  }
122 
123 
144  virtual bool ReadMaskParameters(
145  UseMaskErosionArrayType & useMaskErosionArray,
146  const unsigned int nrOfMasks,
147  const std::string & whichMask,
148  const unsigned int level ) const;
149 
150 protected:
151 
155  virtual ~RegistrationBase() {}
156 
158  typedef typename ElastixType::MaskPixelType MaskPixelType;
159  typedef typename ElastixType::FixedMaskType FixedMaskImageType;
160  typedef typename ElastixType::MovingMaskType MovingMaskImageType;
161  typedef typename FixedMaskImageType::Pointer FixedMaskImagePointer;
162  typedef typename MovingMaskImageType::Pointer MovingMaskImagePointer;
164  itkGetStaticConstMacro( FixedImageDimension ) > FixedMaskSpatialObjectType;
166  itkGetStaticConstMacro( MovingImageDimension ) > MovingMaskSpatialObjectType;
167  typedef typename
169  typedef typename
171 
174 
180 
194  const FixedMaskImageType * maskImage, bool useMaskErosion,
195  const FixedImagePyramidType * pyramid, unsigned int level ) const;
196 
210  const MovingMaskImageType * maskImage, bool useMaskErosion,
211  const MovingImagePyramidType * pyramid, unsigned int level ) const;
212 
213 private:
214 
216  RegistrationBase( const Self & ); // purposely not implemented
218  void operator=( const Self & ); // purposely not implemented
219 
220 };
221 
222 } // end namespace elastix
223 
224 #ifndef ITK_MANUAL_INSTANTIATION
225 #include "elxRegistrationBase.hxx"
226 #endif
227 
228 #endif // end #ifndef __elxRegistrationBase_h
elastix::RegistrationBase::RegistrationPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxRegistrationBase.h:92
elastix::RegistrationBase::~RegistrationBase
virtual ~RegistrationBase()
Definition: elxRegistrationBase.h:155
elastix::RegistrationBase::FixedImagePyramidType
ITKBaseType::FixedImagePyramidType FixedImagePyramidType
Definition: elxRegistrationBase.h:172
elastix::RegistrationBase::Self
RegistrationBase Self
Definition: elxRegistrationBase.h:80
SmartPointer< Self >
elastix::RegistrationBase::FixedMaskImageType
ElastixType::FixedMaskType FixedMaskImageType
Definition: elxRegistrationBase.h:159
elastix::RegistrationBase::GetAsITKBaseType
virtual const ITKBaseType * GetAsITKBaseType(void) const
Definition: elxRegistrationBase.h:118
elastix::RegistrationBase::Superclass
BaseComponentSE< TElastix > Superclass
Definition: elxRegistrationBase.h:81
elastix::RegistrationBase::FixedMaskErodeFilterType
itk::ErodeMaskImageFilter< FixedMaskImageType > FixedMaskErodeFilterType
Definition: elxRegistrationBase.h:176
elastix::BaseComponentSE::RegistrationPointer
RegistrationType * RegistrationPointer
Definition: elxBaseComponentSE.h:63
elastix::RegistrationBase::ElastixType
Superclass::ElastixType ElastixType
Definition: elxRegistrationBase.h:84
elastix::BaseComponentSE::ElastixType
TElastix ElastixType
Definition: elxBaseComponentSE.h:52
elastix::BaseComponentSE::ConfigurationPointer
ElastixType::ConfigurationPointer ConfigurationPointer
Definition: elxBaseComponentSE.h:57
itkMultiResolutionImageRegistrationMethod2.h
itk::ErodeMaskImageFilter
Definition: itkErodeMaskImageFilter.h:59
elastix::BaseComponentSE
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
Definition: elxBaseComponentSE.h:44
elastix::RegistrationBase::MovingMaskErodeFilterType
itk::ErodeMaskImageFilter< MovingMaskImageType > MovingMaskErodeFilterType
Definition: elxRegistrationBase.h:178
elastix::RegistrationBase::MovingMaskImageType
ElastixType::MovingMaskType MovingMaskImageType
Definition: elxRegistrationBase.h:160
elastix::RegistrationBase::FixedMaskSpatialObjectPointer
FixedMaskSpatialObjectType::Pointer FixedMaskSpatialObjectPointer
Definition: elxRegistrationBase.h:168
elastix::RegistrationBase::operator=
void operator=(const Self &)
elastix::RegistrationBase
This class is the elastix base class for all Registration schemes.
Definition: elxRegistrationBase.h:76
elastix::RegistrationBase::RegistrationBase
RegistrationBase(const Self &)
elxBaseComponentSE.h
elastix::RegistrationBase::GetAsITKBaseType
virtual ITKBaseType * GetAsITKBaseType(void)
Definition: elxRegistrationBase.h:111
elastix::RegistrationBase::MovingImagePyramidType
ITKBaseType::MovingImagePyramidType MovingImagePyramidType
Definition: elxRegistrationBase.h:173
elastix::RegistrationBase::UseMaskErosionArrayType
std::vector< bool > UseMaskErosionArrayType
Definition: elxRegistrationBase.h:108
elastix::RegistrationBase::MovingMaskImagePointer
MovingMaskImageType::Pointer MovingMaskImagePointer
Definition: elxRegistrationBase.h:162
itkErodeMaskImageFilter.h
elastix::RegistrationBase::RegistrationBase
RegistrationBase()
Definition: elxRegistrationBase.h:153
itk::MultiResolutionImageRegistrationMethod2
Base class for multi-resolution image registration methods.
Definition: itkMultiResolutionImageRegistrationMethod2.h:99
itk::MultiResolutionImageRegistrationMethod2::MovingImagePyramidType
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType
Definition: itkMultiResolutionImageRegistrationMethod2.h:154
elastix::RegistrationBase::MovingMaskSpatialObjectPointer
MovingMaskSpatialObjectType::Pointer MovingMaskSpatialObjectPointer
Definition: elxRegistrationBase.h:170
elastix::RegistrationBase::GenerateMovingMaskSpatialObject
MovingMaskSpatialObjectPointer GenerateMovingMaskSpatialObject(const MovingMaskImageType *maskImage, bool useMaskErosion, const MovingImagePyramidType *pyramid, unsigned int level) const
elastix::RegistrationBase::FixedMaskErodeFilterPointer
FixedMaskErodeFilterType::Pointer FixedMaskErodeFilterPointer
Definition: elxRegistrationBase.h:177
itk::MultiResolutionImageRegistrationMethod2::FixedImagePyramidType
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
Definition: itkMultiResolutionImageRegistrationMethod2.h:149
elastix::RegistrationBase::ElastixPointer
Superclass::ElastixPointer ElastixPointer
Definition: elxRegistrationBase.h:88
elastix::BaseComponentSE::ElastixPointer
itk::WeakPointer< ElastixType > ElastixPointer
Definition: elxBaseComponentSE.h:53
elastix::RegistrationBase::FixedMaskSpatialObjectType
itk::ImageMaskSpatialObject2< itkGetStaticConstMacro(FixedImageDimension) > FixedMaskSpatialObjectType
Definition: elxRegistrationBase.h:164
elastix::RegistrationBase::MovingImageType
ElastixType::MovingImageType MovingImageType
Definition: elxRegistrationBase.h:96
elastix::RegistrationBase::ConfigurationType
Superclass::ConfigurationType ConfigurationType
Definition: elxRegistrationBase.h:89
elastix::RegistrationBase::MovingMaskSpatialObjectType
itk::ImageMaskSpatialObject2< itkGetStaticConstMacro(MovingImageDimension) > MovingMaskSpatialObjectType
Definition: elxRegistrationBase.h:166
elastix::RegistrationBase::ReadMaskParameters
virtual bool ReadMaskParameters(UseMaskErosionArrayType &useMaskErosionArray, const unsigned int nrOfMasks, const std::string &whichMask, const unsigned int level) const
elastix::RegistrationBase::itkStaticConstMacro
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
elastix::RegistrationBase::FixedMaskImagePointer
FixedMaskImageType::Pointer FixedMaskImagePointer
Definition: elxRegistrationBase.h:161
elastix::RegistrationBase::FixedImageType
ElastixType::FixedImageType FixedImageType
Definition: elxRegistrationBase.h:95
elastix::RegistrationBase::ConfigurationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxRegistrationBase.h:90
elastix::RegistrationBase::GenerateFixedMaskSpatialObject
FixedMaskSpatialObjectPointer GenerateFixedMaskSpatialObject(const FixedMaskImageType *maskImage, bool useMaskErosion, const FixedImagePyramidType *pyramid, unsigned int level) const
elastix::RegistrationBase::MaskPixelType
ElastixType::MaskPixelType MaskPixelType
Definition: elxRegistrationBase.h:158
itkImageMaskSpatialObject2.h
elxMacro.h
elastix::BaseComponentSE::ConfigurationType
ElastixType::ConfigurationType ConfigurationType
Definition: elxBaseComponentSE.h:56
elastix::RegistrationBase::ITKBaseType
itk::MultiResolutionImageRegistrationMethod2< FixedImageType, MovingImageType > ITKBaseType
Definition: elxRegistrationBase.h:105
elastix::RegistrationBase::MovingMaskErodeFilterPointer
MovingMaskErodeFilterType::Pointer MovingMaskErodeFilterPointer
Definition: elxRegistrationBase.h:179
elastix
Definition: elxFixedGenericPyramid.h:25
elastix::RegistrationBase::itkStaticConstMacro
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
itk::ImageMaskSpatialObject2
Implementation of an image mask as spatial object.
Definition: itkImageMaskSpatialObject2.h:58
elastix::BaseComponentSE::RegistrationType
ElastixType::RegistrationBaseType RegistrationType
Definition: elxBaseComponentSE.h:62
elastix::RegistrationBase::RegistrationType
Superclass::RegistrationType RegistrationType
Definition: elxRegistrationBase.h:91


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo