go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxSimplex.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 __elxSimplex_h
16 #define __elxSimplex_h
17 
18 #include "itkAmoebaOptimizer.h"
19 #include "elxIncludes.h"
20 
21 namespace elastix
22 {
23 
37  template <class TElastix>
38  class Simplex :
39  public
40  itk::AmoebaOptimizer,
41  public
42  OptimizerBase<TElastix>
43  {
44  public:
45 
47  typedef Simplex Self;
48  typedef AmoebaOptimizer Superclass1;
50  typedef itk::SmartPointer<Self> Pointer;
51  typedef itk::SmartPointer<const Self> ConstPointer;
52 
54  itkNewMacro( Self );
55 
57  itkTypeMacro( Simplex, AmoebaOptimizer );
58 
63  elxClassNameMacro( "Simplex" );
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  Simplex(){};
98  virtual ~Simplex() {};
99 
100  private:
101 
102  Simplex( const Self& ); // purposely not implemented
103  void operator=( const Self& ); // purposely not implemented
104 
105  }; // end class Simplex
106 
107 
108 } // end namespace elastix
109 
110 #ifndef ITK_MANUAL_INSTANTIATION
111 #include "elxSimplex.hxx"
112 #endif
113 
114 #endif // end #ifndef __elxSimplex_h
virtual void BeforeRegistration(void)
Superclass::RegistrationPointer RegistrationPointer
virtual void AfterEachIteration(void)
itk::SmartPointer< Self > Pointer
Definition: elxSimplex.h:50
This class is the elastix base class for all Optimizers.
Superclass2::ElastixPointer ElastixPointer
Definition: elxSimplex.h:71
Superclass::ElastixType ElastixType
Superclass::ConfigurationPointer ConfigurationPointer
Superclass1::CostFunctionPointer CostFunctionPointer
Definition: elxSimplex.h:67
Superclass::ElastixPointer ElastixPointer
void operator=(const Self &)
Superclass::ConfigurationType ConfigurationType
OptimizerBase< TElastix > Superclass2
Definition: elxSimplex.h:49
Superclass2::ITKBaseType ITKBaseType
Definition: elxSimplex.h:76
virtual void AfterRegistration(void)
elxClassNameMacro("Simplex")
AmoebaOptimizer Superclass1
Definition: elxSimplex.h:48
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxSimplex.h:73
An optimizer based on Simplex...
Definition: elxSimplex.h:38
virtual void BeforeEachResolution(void)
itk::Optimizer ITKBaseType
virtual ~Simplex()
Definition: elxSimplex.h:98
Superclass2::ConfigurationType ConfigurationType
Definition: elxSimplex.h:72
itk::SmartPointer< const Self > ConstPointer
Definition: elxSimplex.h:51
virtual void SetInitialPosition(const ParametersType &param)
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxSimplex.h:75
Superclass1::ParametersType ParametersType
Definition: elxSimplex.h:79
virtual void AfterEachResolution(void)
Superclass2::ElastixType ElastixType
Definition: elxSimplex.h:70
Superclass::RegistrationType RegistrationType
Superclass1::CostFunctionType CostFunctionType
Definition: elxSimplex.h:66
Superclass2::RegistrationType RegistrationType
Definition: elxSimplex.h:74


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