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 #ifndef __elxFullSearchOptimizer_h
15 #define __elxFullSearchOptimizer_h
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
18 #include "itkFullSearchOptimizer.h"
19 #include <map>
20 
21 #include "itkNDImageBase.h"
22 
23 namespace elastix
24 {
25 
52 template< class TElastix >
53 class FullSearch :
54  public
56  public
57  OptimizerBase< TElastix >
58 {
59 public:
60 
62  typedef FullSearch Self;
65  typedef itk::SmartPointer< Self > Pointer;
66  typedef itk::SmartPointer< const Self > ConstPointer;
67 
69  itkNewMacro( Self );
70 
72  itkTypeMacro( FullSearch, itk::FullSearchOptimizer );
73 
78  elxClassNameMacro( "FullSearch" );
79 
94 
103 
107 
109  typedef std::map< unsigned int, std::string > DimensionNameMapType;
110  typedef typename DimensionNameMapType::const_iterator NameIteratorType;
111 
113  virtual void BeforeRegistration( void );
114 
115  virtual void BeforeEachResolution( void );
116 
117  virtual void AfterEachResolution( void );
118 
119  virtual void AfterEachIteration( void );
120 
121  virtual void AfterRegistration( void );
122 
126  itkGetObjectMacro( OptimizationSurface, NDImageType );
127 
128 protected:
129 
130  FullSearch();
131  virtual ~FullSearch() {}
132 
134 
136 
141  //virtual int CheckSearchSpaceRangeDefinition(const std::string & fullFieldName,
142  // int errorcode, unsigned int entry_nr);
143  virtual bool CheckSearchSpaceRangeDefinition( const std::string & fullFieldName,
144  const bool found, const unsigned int entry_nr ) const;
145 
146 private:
147 
148  FullSearch( const Self & ); // purposely not implemented
149  void operator=( const Self & ); // purposely not implemented
150 
151 };
152 
153 } // end namespace elastix
154 
155 #ifndef ITK_MANUAL_INSTANTIATION
156 #include "elxFullSearchOptimizer.hxx"
157 #endif
158 
159 #endif // end #ifndef __elxFullSearchOptimizer_h
FixedArray< RangeValueType, 3 > RangeType
itk::FullSearchOptimizer Superclass1
Superclass::RegistrationPointer RegistrationPointer
Superclass2::ConfigurationPointer ConfigurationPointer
Superclass1::CostFunctionPointer CostFunctionPointer
Superclass1::SearchSpacePointer SearchSpacePointer
Superclass1::CostFunctionType CostFunctionType
Superclass1::ParametersType ParametersType
Superclass1::MeasureType MeasureType
This class is the elastix base class for all Optimizers.
Superclass1::ParameterValueType ParameterValueType
DimensionNameMapType m_SearchSpaceDimensionNames
virtual bool CheckSearchSpaceRangeDefinition(const std::string &fullFieldName, const bool found, const unsigned int entry_nr) const
virtual void BeforeRegistration(void)
ParameterValueType RangeValueType
virtual void AfterRegistration(void)
Superclass1::SearchSpaceIndexType SearchSpaceIndexType
Superclass::ElastixType ElastixType
Superclass::CostFunctionType CostFunctionType
Superclass::ConfigurationPointer ConfigurationPointer
itk::SmartPointer< Self > Pointer
itk::SmartPointer< const Self > ConstPointer
NDImageType::Pointer NDImagePointer
Superclass2::ConfigurationType ConfigurationType
Superclass1::RangeValueType RangeValueType
Superclass2::ElastixType ElastixType
SearchSpaceType::ConstIterator SearchSpaceIteratorType
OptimizerBase< TElastix > Superclass2
void operator=(const Self &)
virtual void BeforeEachResolution(void)
Superclass::ElastixPointer ElastixPointer
SearchSpaceType::Pointer SearchSpacePointer
An optimizer based on the itk::FullSearchOptimizer.
elxClassNameMacro("FullSearch")
MapContainer< unsigned int, RangeType > SearchSpaceType
Superclass::ConfigurationType ConfigurationType
Superclass1::RangeType RangeType
std::map< unsigned int, std::string > DimensionNameMapType
Superclass1::SearchSpacePointType SearchSpacePointType
An image whose dimension can be specified at runtime.
Superclass::CostFunctionPointer CostFunctionPointer
virtual void AfterEachIteration(void)
NDImagePointer m_OptimizationSurface
Array< SizeValueType > SearchSpaceSizeType
Array< ParameterValueType > SearchSpacePointType
DimensionNameMapType::const_iterator NameIteratorType
itk::Optimizer ITKBaseType
SmartPointer< Self > Pointer
An optimizer based on full search.
Superclass2::ElastixPointer ElastixPointer
Superclass2::ITKBaseType ITKBaseType
Superclass1::SearchSpaceIteratorType SearchSpaceIteratorType
itk::NDImageBase< float > NDImageType
Superclass1::SearchSpaceType SearchSpaceType
Superclass2::RegistrationPointer RegistrationPointer
Superclass1::SearchSpaceSizeType SearchSpaceSizeType
virtual void AfterEachResolution(void)
ParametersType::ValueType ParameterValueType
Superclass::MeasureType MeasureType
Superclass::ParametersType ParametersType
Superclass2::RegistrationType RegistrationType
Array< IndexValueType > SearchSpaceIndexType
Superclass::RegistrationType RegistrationType


Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo