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 namespace elastix
25 {
26 
48 template< class TElastix >
49 class OptimizerBase : public BaseComponentSE< TElastix >
50 {
51 public:
52 
56 
58  itkTypeMacro( OptimizerBase, BaseComponentSE );
59 
61  typedef typename Superclass::ElastixType ElastixType;
67 
69  typedef itk::Optimizer ITKBaseType;
70 
72  typedef typename ITKBaseType::ParametersType ParametersType;
73 
75  virtual ITKBaseType * GetAsITKBaseType( void )
76  {
77  return dynamic_cast< ITKBaseType * >( this );
78  }
79 
80 
82  virtual const ITKBaseType * GetAsITKBaseType( void ) const
83  {
84  return dynamic_cast< const ITKBaseType * >( this );
85  }
86 
87 
89  virtual void SetCurrentPositionPublic( const ParametersType & param );
90 
94  virtual void BeforeEachResolutionBase();
95 
99  virtual void AfterRegistrationBase( void );
100 
104  virtual void SetSinusScales( double amplitude, double frequency,
105  unsigned long numberOfParameters );
106 
107 protected:
108 
110  OptimizerBase();
112  virtual ~OptimizerBase() {}
113 
117  virtual void SelectNewSamples( void );
118 
120  virtual bool GetNewSamplesEveryIteration( void ) const;
121 
122 private:
123 
125  OptimizerBase( const Self & ); // purposely not implemented
127  void operator=( const Self & ); // purposely not implemented
128 
133 
134 };
135 
136 } // end namespace elastix
137 
138 #ifndef ITK_MANUAL_INSTANTIATION
139 #include "elxOptimizerBase.hxx"
140 #endif
141 
142 #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
BaseComponentSE< TElastix > Superclass
virtual void SelectNewSamples(void)
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 27-04-2014 for elastix by doxygen 1.8.6 elastix logo