go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxOptimizerBase.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 
15 #ifndef __elxOptimizerBase_h
16 #define __elxOptimizerBase_h
17 
19 #include "elxMacro.h"
20 
21 #include "elxBaseComponentSE.h"
22 #include "itkOptimizer.h"
23 
24 
25 namespace elastix
26 {
27 
49 template <class TElastix>
50 class OptimizerBase : public BaseComponentSE<TElastix>
51 {
52 public:
53 
57 
59  itkTypeMacro( OptimizerBase, BaseComponentSE );
60 
62  typedef typename Superclass::ElastixType ElastixType;
68 
70  typedef itk::Optimizer ITKBaseType;
71 
73  typedef typename ITKBaseType::ParametersType ParametersType;
74 
76  virtual ITKBaseType * GetAsITKBaseType(void)
77  {
78  return dynamic_cast<ITKBaseType *>(this);
79  }
80 
82  virtual const ITKBaseType * GetAsITKBaseType(void) const
83  {
84  return dynamic_cast<const ITKBaseType *>(this);
85  }
86 
88  virtual void SetCurrentPositionPublic( const ParametersType &param );
89 
93  virtual void BeforeEachResolutionBase();
94 
98  virtual void AfterRegistrationBase( void );
99 
103  virtual void SetSinusScales(double amplitude, double frequency,
104  unsigned long numberOfParameters);
105 
106 protected:
107 
109  OptimizerBase();
111  virtual ~OptimizerBase() {}
112 
116  virtual void SelectNewSamples(void);
117 
119  virtual bool GetNewSamplesEveryIteration( void ) const;
120 
121 private:
122 
124  OptimizerBase( const Self& ); // purposely not implemented
126  void operator=( const Self& ); // purposely not implemented
127 
132 
133 }; // end class OptimizerBase
134 
135 
136 } // end namespace elastix
137 
138 
139 #ifndef ITK_MANUAL_INSTANTIATION
140 #include "elxOptimizerBase.hxx"
141 #endif
142 
143 #endif // end #ifndef __elxOptimizerBase_h
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
Superclass::RegistrationPointer RegistrationPointer
void operator=(const Self &)
virtual void AfterRegistrationBase(void)
ElastixType::RegistrationBaseType RegistrationType
ElastixType::ConfigurationPointer ConfigurationPointer
ElastixType::Pointer ElastixPointer
ElastixType::ConfigurationType ConfigurationType
This class is the elastix base class for all Optimizers.
Superclass::ElastixType ElastixType
Superclass::ConfigurationPointer ConfigurationPointer
virtual void SetSinusScales(double amplitude, double frequency, unsigned long numberOfParameters)
ITKBaseType::ParametersType ParametersType
Superclass::ElastixPointer ElastixPointer
RegistrationType * RegistrationPointer
Superclass::ConfigurationType ConfigurationType
virtual void SelectNewSamples(void)
BaseComponentSE< TElastix > Superclass
virtual bool GetNewSamplesEveryIteration(void) const
itk::Optimizer ITKBaseType
virtual void BeforeEachResolutionBase()
virtual const ITKBaseType * GetAsITKBaseType(void) const
virtual void SetCurrentPositionPublic(const ParametersType &param)
virtual ITKBaseType * GetAsITKBaseType(void)
Superclass::RegistrationType RegistrationType


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo