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
28#include "itkImageMaskSpatialObject.h"
30
31namespace elastix
32{
33
74template< class TElastix >
75class RegistrationBase : public BaseComponentSE< TElastix >
76{
77public:
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
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
150protected:
151
155 ~RegistrationBase() override {}
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;
163 typedef itk::ImageMaskSpatialObject<
164 itkGetStaticConstMacro( FixedImageDimension ) > FixedMaskSpatialObjectType;
165 typedef itk::ImageMaskSpatialObject<
166 itkGetStaticConstMacro( MovingImageDimension ) > MovingMaskSpatialObjectType;
167 typedef typename
168 FixedMaskSpatialObjectType::Pointer FixedMaskSpatialObjectPointer;
169 typedef typename
170 MovingMaskSpatialObjectType::Pointer MovingMaskSpatialObjectPointer;
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
213private:
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
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
Configuration::Pointer ConfigurationPointer
itk::WeakPointer< ElastixType > ElastixPointer
RegistrationType * RegistrationPointer
ElastixType::RegistrationBaseType RegistrationType
A class that deals with user given parameters and command line arguments.
This class is the elastix base class for all Registration schemes.
Superclass::RegistrationPointer RegistrationPointer
FixedMaskSpatialObjectPointer GenerateFixedMaskSpatialObject(const FixedMaskImageType *maskImage, bool useMaskErosion, const FixedImagePyramidType *pyramid, unsigned int level) const
FixedMaskSpatialObjectType::Pointer FixedMaskSpatialObjectPointer
ITKBaseType::MovingImagePyramidType MovingImagePyramidType
itk::ImageMaskSpatialObject< itkGetStaticConstMacro(MovingImageDimension) > MovingMaskSpatialObjectType
itk::ErodeMaskImageFilter< MovingMaskImageType > MovingMaskErodeFilterType
ElastixType::MovingImageType MovingImageType
Superclass::RegistrationType RegistrationType
FixedMaskImageType::Pointer FixedMaskImagePointer
ITKBaseType::FixedImagePyramidType FixedImagePyramidType
FixedMaskErodeFilterType::Pointer FixedMaskErodeFilterPointer
ElastixType::MovingMaskType MovingMaskImageType
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
itk::ErodeMaskImageFilter< FixedMaskImageType > FixedMaskErodeFilterType
virtual const ITKBaseType * GetAsITKBaseType(void) const
std::vector< bool > UseMaskErosionArrayType
ElastixType::FixedMaskType FixedMaskImageType
virtual ITKBaseType * GetAsITKBaseType(void)
BaseComponentSE< TElastix > Superclass
itk::ImageMaskSpatialObject< itkGetStaticConstMacro(FixedImageDimension) > FixedMaskSpatialObjectType
Superclass::ConfigurationPointer ConfigurationPointer
MovingMaskImageType::Pointer MovingMaskImagePointer
MovingMaskErodeFilterType::Pointer MovingMaskErodeFilterPointer
virtual bool ReadMaskParameters(UseMaskErosionArrayType &useMaskErosionArray, const unsigned int nrOfMasks, const std::string &whichMask, const unsigned int level) const
void operator=(const Self &)
MovingMaskSpatialObjectType::Pointer MovingMaskSpatialObjectPointer
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::ElastixPointer ElastixPointer
itk::MultiResolutionImageRegistrationMethod2< FixedImageType, MovingImageType > ITKBaseType
RegistrationBase(const Self &)
Superclass::ConfigurationType ConfigurationType
Superclass::ElastixType ElastixType
ElastixType::FixedImageType FixedImageType
MovingMaskSpatialObjectPointer GenerateMovingMaskSpatialObject(const MovingMaskImageType *maskImage, bool useMaskErosion, const MovingImagePyramidType *pyramid, unsigned int level) const
ElastixType::MaskPixelType MaskPixelType
Base class for multi-resolution image registration methods.
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo