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 
37  template <class TElastix>
38  class Powell :
39  public
40  itk::PowellOptimizer,
41  public
42  OptimizerBase<TElastix>
43  {
44  public:
45 
47  typedef Powell Self;
48  typedef PowellOptimizer Superclass1;
50  typedef itk::SmartPointer<Self> Pointer;
51  typedef itk::SmartPointer<const Self> ConstPointer;
52 
54  itkNewMacro( Self );
55 
57  itkTypeMacro( Powell, PowellOptimizer );
58 
63  elxClassNameMacro( "Powell" );
64 
66  typedef Superclass1::CostFunctionType CostFunctionType;
67  typedef Superclass1::CostFunctionPointer CostFunctionPointer;
68 
77 
79  typedef typename Superclass1::ParametersType ParametersType;
80 
83  virtual void BeforeRegistration(void);
84  virtual void BeforeEachResolution(void);
85  virtual void AfterEachResolution(void);
86  virtual void AfterEachIteration(void);
87  virtual void AfterRegistration(void);
88 
93  virtual void SetInitialPosition( const ParametersType & param );
94 
95  protected:
96 
97  Powell(){};
98  virtual ~Powell() {};
99 
100  private:
101 
102  Powell( const Self& ); // purposely not implemented
103  void operator=( const Self& ); // purposely not implemented
104 
105  }; // end class Powell
106 
107 
108 } // end namespace elastix
109 
110 #ifndef ITK_MANUAL_INSTANTIATION
111 #include "elxPowell.hxx"
112 #endif
113 
114 #endif // end #ifndef __elxPowell_h
Superclass::RegistrationPointer RegistrationPointer
itk::SmartPointer< Self > Pointer
Definition: elxPowell.h:50
Superclass2::RegistrationType RegistrationType
Definition: elxPowell.h:74
Superclass2::ElastixType ElastixType
Definition: elxPowell.h:70
virtual void SetInitialPosition(const ParametersType &param)
PowellOptimizer Superclass1
Definition: elxPowell.h:48
This class is the elastix base class for all Optimizers.
OptimizerBase< TElastix > Superclass2
Definition: elxPowell.h:49
Superclass1::ParametersType ParametersType
Definition: elxPowell.h:79
Superclass::ElastixType ElastixType
Superclass::ConfigurationPointer ConfigurationPointer
virtual void AfterRegistration(void)
Superclass::ElastixPointer ElastixPointer
Superclass::ConfigurationType ConfigurationType
virtual void BeforeEachResolution(void)
Superclass2::ElastixPointer ElastixPointer
Definition: elxPowell.h:71
Superclass2::ITKBaseType ITKBaseType
Definition: elxPowell.h:76
void operator=(const Self &)
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxPowell.h:73
itk::Optimizer ITKBaseType
itk::SmartPointer< const Self > ConstPointer
Definition: elxPowell.h:51
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxPowell.h:75
virtual void AfterEachResolution(void)
Superclass1::CostFunctionPointer CostFunctionPointer
Definition: elxPowell.h:67
Superclass2::ConfigurationType ConfigurationType
Definition: elxPowell.h:72
Superclass::RegistrationType RegistrationType
virtual void AfterEachIteration(void)
Superclass1::CostFunctionType CostFunctionType
Definition: elxPowell.h:66
An optimizer based on Powell...
Definition: elxPowell.h:38
virtual void BeforeRegistration(void)
elxClassNameMacro("Powell")
virtual ~Powell()
Definition: elxPowell.h:98


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