go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxPowell.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 __elxPowell_h
16 #define __elxPowell_h
17 
18 #include "itkPowellOptimizer.h"
19 #include "elxIncludes.h"
20 
21 namespace elastix
22 {
23 using namespace itk;
24 
38  template <class TElastix>
39  class Powell :
40  public
41  itk::PowellOptimizer,
42  public
43  OptimizerBase<TElastix>
44  {
45  public:
46 
48  typedef Powell Self;
49  typedef PowellOptimizer Superclass1;
51  typedef SmartPointer<Self> Pointer;
52  typedef SmartPointer<const Self> ConstPointer;
53 
55  itkNewMacro( Self );
56 
58  itkTypeMacro( Powell, PowellOptimizer );
59 
64  elxClassNameMacro( "Powell" );
65 
67  typedef Superclass1::CostFunctionType CostFunctionType;
68  typedef Superclass1::CostFunctionPointer CostFunctionPointer;
69 
78 
80  typedef typename Superclass1::ParametersType ParametersType;
81 
84  virtual void BeforeRegistration(void);
85  virtual void BeforeEachResolution(void);
86  virtual void AfterEachResolution(void);
87  virtual void AfterEachIteration(void);
88  virtual void AfterRegistration(void);
89 
94  virtual void SetInitialPosition( const ParametersType & param );
95 
96  protected:
97 
98  Powell(){};
99  virtual ~Powell() {};
100 
101  private:
102 
103  Powell( const Self& ); // purposely not implemented
104  void operator=( const Self& ); // purposely not implemented
105 
106  }; // end class Powell
107 
108 
109 } // end namespace elastix
110 
111 #ifndef ITK_MANUAL_INSTANTIATION
112 #include "elxPowell.hxx"
113 #endif
114 
115 #endif // end #ifndef __elxPowell_h
Superclass::RegistrationPointer RegistrationPointer
Superclass2::RegistrationType RegistrationType
Definition: elxPowell.h:75
#define elxClassNameMacro(_name)
Definition: elxMacro.h:254
Superclass2::ElastixType ElastixType
Definition: elxPowell.h:71
PowellOptimizer Superclass1
Definition: elxPowell.h:49
This class is the elastix base class for all Optimizers.
OptimizerBase< TElastix > Superclass2
Definition: elxPowell.h:50
Superclass1::ParametersType ParametersType
Definition: elxPowell.h:80
Superclass::ElastixType ElastixType
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::ElastixPointer ElastixPointer
Superclass::ConfigurationType ConfigurationType
Superclass2::ElastixPointer ElastixPointer
Definition: elxPowell.h:72
Superclass2::ITKBaseType ITKBaseType
Definition: elxPowell.h:77
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxPowell.h:74
itk::Optimizer ITKBaseType
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxPowell.h:76
SmartPointer< Self > Pointer
Definition: elxPowell.h:51
Superclass1::CostFunctionPointer CostFunctionPointer
Definition: elxPowell.h:68
Superclass2::ConfigurationType ConfigurationType
Definition: elxPowell.h:73
Superclass::RegistrationType RegistrationType
Superclass1::CostFunctionType CostFunctionType
Definition: elxPowell.h:67
SmartPointer< const Self > ConstPointer
Definition: elxPowell.h:52
An optimizer based on Powell...
Definition: elxPowell.h:39
virtual ~Powell()
Definition: elxPowell.h:99


Generated on 05-12-2013 for elastix by doxygen 1.8.5 elastix logo