go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxFullSearchOptimizer.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 
16 #ifndef __elxFullSearchOptimizer_h
17 #define __elxFullSearchOptimizer_h
18 
19 #include "itkFullSearchOptimizer.h"
20 #include "elxIncludes.h"
21 #include <map>
22 
23 #include "itkNDImageBase.h"
24 
25 
26 namespace elastix
27 {
28 using namespace itk;
29 
56  template <class TElastix>
57  class FullSearch :
58  public
60  public
61  OptimizerBase<TElastix>
62  {
63  public:
64 
66  typedef FullSearch Self;
69  typedef SmartPointer<Self> Pointer;
70  typedef SmartPointer<const Self> ConstPointer;
71 
73  itkNewMacro( Self );
74 
76  itkTypeMacro( FullSearch, FullSearchOptimizer );
77 
82  elxClassNameMacro( "FullSearch" );
83 
98 
107 
111 
113  typedef std::map<unsigned int, std::string> DimensionNameMapType;
114  typedef typename DimensionNameMapType::const_iterator NameIteratorType;
115 
117  virtual void BeforeRegistration(void);
118  virtual void BeforeEachResolution(void);
119  virtual void AfterEachResolution(void);
120  virtual void AfterEachIteration(void);
121  virtual void AfterRegistration(void);
125  itkGetObjectMacro(OptimizationSurface, NDImageType);
126 
127  protected:
128 
129  FullSearch();
130  virtual ~FullSearch() {};
131 
132  NDImagePointer m_OptimizationSurface;
133 
135 
140  //virtual int CheckSearchSpaceRangeDefinition(const std::string & fullFieldName, int errorcode, unsigned int entry_nr);
141  virtual bool CheckSearchSpaceRangeDefinition( const std::string & fullFieldName,
142  const bool found, const unsigned int entry_nr ) const;
143 
144  private:
145 
146  FullSearch( const Self& ); // purposely not implemented
147  void operator=( const Self& ); // purposely not implemented
148 
149  }; // end class FullSearch
150 
151 } // end namespace elastix
152 
153 #ifndef ITK_MANUAL_INSTANTIATION
154 #include "elxFullSearchOptimizer.hxx"
155 #endif
156 
157 #endif // end #ifndef __elxFullSearchOptimizer_h
Superclass::RegistrationPointer RegistrationPointer
Superclass2::ConfigurationPointer ConfigurationPointer
Array< unsigned long > SearchSpaceSizeType
Superclass1::CostFunctionPointer CostFunctionPointer
SmartPointer< Self > Pointer
FixedArray< RangeValueType, 3 > RangeType
Superclass1::SearchSpacePointer SearchSpacePointer
#define elxClassNameMacro(_name)
Definition: elxMacro.h:254
Superclass1::CostFunctionType CostFunctionType
Superclass1::ParametersType ParametersType
SmartPointer< Self > Pointer
Superclass1::MeasureType MeasureType
This class is the elastix base class for all Optimizers.
Superclass1::ParameterValueType ParameterValueType
DimensionNameMapType m_SearchSpaceDimensionNames
ParameterValueType RangeValueType
Superclass1::SearchSpaceIndexType SearchSpaceIndexType
MapContainer< unsigned int, RangeType > SearchSpaceType
Superclass::ElastixType ElastixType
Superclass::CostFunctionType CostFunctionType
Superclass::ConfigurationPointer ConfigurationPointer
NDImageType::Pointer NDImagePointer
Superclass2::ConfigurationType ConfigurationType
Superclass1::RangeValueType RangeValueType
Superclass2::ElastixType ElastixType
SearchSpaceType::ConstIterator SearchSpaceIteratorType
Superclass::ElastixPointer ElastixPointer
SearchSpaceType::Pointer SearchSpacePointer
An optimizer based on the itk::FullSearchOptimizer.
Superclass::ConfigurationType ConfigurationType
Superclass1::RangeType RangeType
Superclass1::SearchSpacePointType SearchSpacePointType
An image whose dimension can be specified at runtime.
Superclass::CostFunctionPointer CostFunctionPointer
Array< ParameterValueType > SearchSpacePointType
DimensionNameMapType::const_iterator NameIteratorType
itk::Optimizer ITKBaseType
An optimizer based on full search.
Superclass2::ElastixPointer ElastixPointer
Superclass2::ITKBaseType ITKBaseType
Superclass1::SearchSpaceIteratorType SearchSpaceIteratorType
Superclass1::SearchSpaceType SearchSpaceType
Superclass2::RegistrationPointer RegistrationPointer
Superclass1::SearchSpaceSizeType SearchSpaceSizeType
ParametersType::ValueType ParameterValueType
Superclass::MeasureType MeasureType
OptimizerBase< TElastix > Superclass2
Superclass::ParametersType ParametersType
Superclass2::RegistrationType RegistrationType
Superclass::RegistrationType RegistrationType
SmartPointer< const Self > ConstPointer
std::map< unsigned int, std::string > DimensionNameMapType
FullSearchOptimizer Superclass1
NDImageBase< float > NDImageType


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