go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxResamplerBase.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 __elxResamplerBase_h
19 #define __elxResamplerBase_h
20 
22 #include "elxMacro.h"
23 
24 #include "elxBaseComponentSE.h"
25 #include "itkResampleImageFilter.h"
26 #include "elxProgressCommand.h"
27 
28 namespace elastix
29 {
72 template< class TElastix >
73 class ResamplerBase : public BaseComponentSE< TElastix >
74 {
75 public:
76 
80 
82  itkTypeMacro( ResamplerBase, BaseComponentSE );
83 
91 
94  typedef typename ElastixType::MovingImageType InputImageType;
95  typedef typename ElastixType::MovingImageType OutputImageType;
96  //typedef typename ElastixType::FixedImageType OutputImageType;
97  typedef typename ElastixType::CoordRepType CoordRepType;
98 
100  typedef itk::ResampleImageFilter<
102 
104  typedef typename ITKBaseType::TransformType TransformType;
105  typedef typename ITKBaseType::InterpolatorType InterpolatorType;
106  typedef typename ITKBaseType::SizeType SizeType;
107  typedef typename ITKBaseType::IndexType IndexType;
108  typedef typename ITKBaseType::SpacingType SpacingType;
109  typedef typename ITKBaseType::DirectionType DirectionType;
110  typedef typename ITKBaseType::OriginPointType OriginPointType;
111  typedef typename ITKBaseType::PixelType OutputPixelType;
112 
114  typedef typename ElastixType::ParameterMapType ParameterMapType;
115 
118 
120  itkStaticConstMacro( ImageDimension, unsigned int,
121  OutputImageType::ImageDimension );
122 
124  virtual ITKBaseType * GetAsITKBaseType( void )
125  {
126  return dynamic_cast< ITKBaseType * >( this );
127  }
128 
129 
131  virtual const ITKBaseType * GetAsITKBaseType( void ) const
132  {
133  return dynamic_cast< const ITKBaseType * >( this );
134  }
135 
136 
140  virtual int BeforeAllTransformix( void ){ return 0; }
141 
148  virtual void BeforeRegistrationBase( void );
149 
153  virtual void AfterEachResolutionBase( void );
154 
158  virtual void AfterEachIterationBase( void );
159 
163  virtual void AfterRegistrationBase( void );
164 
166  virtual void ReadFromFile( void );
167 
169  virtual void WriteToFile( void ) const;
170 
172  virtual void CreateTransformParametersMap( ParameterMapType * paramsMap ) const;
173 
175  virtual void ResampleAndWriteResultImage( const char * filename, const bool & showProgress = true );
176 
178  virtual void WriteResultImage( OutputImageType * imageimage,
179  const char * filename, const bool & showProgress = true );
180 
182  virtual void CreateItkResultImage( void );
183 
184 protected:
185 
189  virtual ~ResamplerBase() {}
190 
192  virtual void SetComponents( void );
193 
196 
197 private:
198 
200  ResamplerBase( const Self & ); // purposely not implemented
202  void operator=( const Self & ); // purposely not implemented
203 
205  void ReleaseMemory( void );
206 
207 };
208 
209 } // end namespace elastix
210 
211 #ifndef ITK_MANUAL_INSTANTIATION
212 #include "elxResamplerBase.hxx"
213 #endif
214 
215 #endif // end #ifndef __elxResamplerBase_h
elastix::ResamplerBase::ReadFromFile
virtual void ReadFromFile(void)
elastix::ResamplerBase::WriteResultImage
virtual void WriteResultImage(OutputImageType *imageimage, const char *filename, const bool &showProgress=true)
elastix::ResamplerBase::CoordRepType
ElastixType::CoordRepType CoordRepType
Definition: elxResamplerBase.h:97
elastix::ResamplerBase::ITKBaseType
itk::ResampleImageFilter< InputImageType, OutputImageType, CoordRepType > ITKBaseType
Definition: elxResamplerBase.h:101
elastix::ProgressCommand
A specialized Command object for updating the progress of a filter.
Definition: elxProgressCommand.h:91
elastix::ResamplerBase
Definition: elxResamplerBase.h:74
elastix::ResamplerBase::OutputPixelType
ITKBaseType::PixelType OutputPixelType
Definition: elxResamplerBase.h:111
elastix::ResamplerBase::ConfigurationType
Superclass::ConfigurationType ConfigurationType
Definition: elxResamplerBase.h:87
elastix::ResamplerBase::ParameterMapType
ElastixType::ParameterMapType ParameterMapType
Definition: elxResamplerBase.h:114
elastix::BaseComponentSE::RegistrationPointer
RegistrationType * RegistrationPointer
Definition: elxBaseComponentSE.h:63
elastix::ResamplerBase::OriginPointType
ITKBaseType::OriginPointType OriginPointType
Definition: elxResamplerBase.h:110
elastix::BaseComponentSE::ElastixType
TElastix ElastixType
Definition: elxBaseComponentSE.h:52
elastix::BaseComponentSE::ConfigurationPointer
ElastixType::ConfigurationPointer ConfigurationPointer
Definition: elxBaseComponentSE.h:57
elastix::BaseComponentSE
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
Definition: elxBaseComponentSE.h:44
elastix::ResamplerBase::m_ShowProgress
bool m_ShowProgress
Definition: elxResamplerBase.h:195
elastix::ResamplerBase::RegistrationType
Superclass::RegistrationType RegistrationType
Definition: elxResamplerBase.h:89
elastix::ResamplerBase::SetComponents
virtual void SetComponents(void)
elastix::ResamplerBase::SizeType
ITKBaseType::SizeType SizeType
Definition: elxResamplerBase.h:106
elastix::ResamplerBase::BeforeAllTransformix
virtual int BeforeAllTransformix(void)
Definition: elxResamplerBase.h:140
elxBaseComponentSE.h
elastix::ResamplerBase::AfterEachIterationBase
virtual void AfterEachIterationBase(void)
elastix::ResamplerBase::InterpolatorType
ITKBaseType::InterpolatorType InterpolatorType
Definition: elxResamplerBase.h:105
elastix::ResamplerBase::ElastixType
Superclass::ElastixType ElastixType
Definition: elxResamplerBase.h:82
elastix::ResamplerBase::ResamplerBase
ResamplerBase()
elastix::ResamplerBase::ElastixPointer
Superclass::ElastixPointer ElastixPointer
Definition: elxResamplerBase.h:86
elastix::ResamplerBase::OutputImageType
ElastixType::MovingImageType OutputImageType
Definition: elxResamplerBase.h:95
elastix::ResamplerBase::SpacingType
ITKBaseType::SpacingType SpacingType
Definition: elxResamplerBase.h:108
elastix::ResamplerBase::RegistrationPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxResamplerBase.h:90
elastix::ResamplerBase::ReleaseMemory
void ReleaseMemory(void)
elastix::ResamplerBase::WriteToFile
virtual void WriteToFile(void) const
elastix::ResamplerBase::operator=
void operator=(const Self &)
elastix::ResamplerBase::TransformType
ITKBaseType::TransformType TransformType
Definition: elxResamplerBase.h:104
elastix::ResamplerBase::~ResamplerBase
virtual ~ResamplerBase()
Definition: elxResamplerBase.h:189
elastix::ResamplerBase::BeforeRegistrationBase
virtual void BeforeRegistrationBase(void)
elastix::BaseComponentSE::ElastixPointer
itk::WeakPointer< ElastixType > ElastixPointer
Definition: elxBaseComponentSE.h:53
elastix::ResamplerBase::CreateTransformParametersMap
virtual void CreateTransformParametersMap(ParameterMapType *paramsMap) const
elastix::ResamplerBase::CreateItkResultImage
virtual void CreateItkResultImage(void)
elxProgressCommand.h
elastix::ResamplerBase::GetAsITKBaseType
virtual const ITKBaseType * GetAsITKBaseType(void) const
Definition: elxResamplerBase.h:131
elastix::ResamplerBase::itkStaticConstMacro
itkStaticConstMacro(ImageDimension, unsigned int, OutputImageType::ImageDimension)
elastix::ResamplerBase::IndexType
ITKBaseType::IndexType IndexType
Definition: elxResamplerBase.h:107
elastix::ResamplerBase::Self
ResamplerBase Self
Definition: elxResamplerBase.h:78
elastix::ResamplerBase::ResampleAndWriteResultImage
virtual void ResampleAndWriteResultImage(const char *filename, const bool &showProgress=true)
elastix::ResamplerBase::AfterEachResolutionBase
virtual void AfterEachResolutionBase(void)
elastix::ResamplerBase::ResamplerBase
ResamplerBase(const Self &)
elastix::ResamplerBase::ConfigurationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxResamplerBase.h:88
elastix::ResamplerBase::Superclass
BaseComponentSE< TElastix > Superclass
Definition: elxResamplerBase.h:79
elastix::ResamplerBase::AfterRegistrationBase
virtual void AfterRegistrationBase(void)
elxMacro.h
elastix::BaseComponentSE::ConfigurationType
ElastixType::ConfigurationType ConfigurationType
Definition: elxBaseComponentSE.h:56
elastix::ResamplerBase::GetAsITKBaseType
virtual ITKBaseType * GetAsITKBaseType(void)
Definition: elxResamplerBase.h:124
elastix
Definition: elxFixedGenericPyramid.h:25
elastix::ResamplerBase::ProgressCommandType
elx::ProgressCommand ProgressCommandType
Definition: elxResamplerBase.h:117
elastix::ResamplerBase::InputImageType
ElastixType::MovingImageType InputImageType
Definition: elxResamplerBase.h:94
elastix::ResamplerBase::DirectionType
ITKBaseType::DirectionType DirectionType
Definition: elxResamplerBase.h:109
elastix::BaseComponentSE::RegistrationType
ElastixType::RegistrationBaseType RegistrationType
Definition: elxBaseComponentSE.h:62


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo