#ifndef ITKREG23METAINFORMATION_H #define ITKREG23METAINFORMATION_H #include "itkObject.h" #include "itkObjectFactory.h" #include "itkSmartPointer.h" #include "itkMacro.h" namespace itk { class PowellOptimizerMetaInformation : public itk::Object{ public: /** standard typedefs **/ typedef PowellOptimizerMetaInformation Self; typedef itk::Object Superclass; typedef itk::SmartPointer Pointer; /** Method for creation through the object factory. */ itkNewMacro(Self); /** Run-time type information (and related methods). */ itkTypeMacro(PowellOptimizerMetaInformation, itk::Object); /** object information streaming **/ void PrintSelf(std::ostream& os, itk::Indent indent) const; itkSetMacro(StepTolerance,double); itkGetMacro(StepTolerance,double); itkSetMacro(ValueTolerance,double); itkGetMacro(ValueTolerance,double); itkSetMacro(StepLength,double); itkGetMacro(StepLength,double); itkSetMacro(MaximumLineInteration,int); itkGetMacro(MaximumLineInteration,int); itkSetEnumMacro(MaxIterations, int); itkGetEnumMacro(MaxIterations, int); protected: double m_StepTolerance; double m_ValueTolerance; double m_StepLength; int m_MaximumLineInteration; int m_MaxIterations; /** Default Constructor **/ PowellOptimizerMetaInformation (); /** Default Destructor **/ virtual ~PowellOptimizerMetaInformation (); private: /** purposely not implemented **/ PowellOptimizerMetaInformation (const Self&); /** purposely not implemented **/ void operator=(const Self&); }; class AmoebaOptimizerMetaInformation : public itk::Object{ public: /** standard typedefs **/ typedef AmoebaOptimizerMetaInformation Self; typedef itk::Object Superclass; typedef itk::SmartPointer Pointer; /** Method for creation through the object factory. */ itkNewMacro(Self); /** Run-time type information (and related methods). */ itkTypeMacro(AmoebaOptimizerMetaInformation, itk::Object); /** object information streaming **/ void PrintSelf(std::ostream& os, itk::Indent indent) const; itkSetMacro(ParametersConvergenceTolerance,double); itkGetMacro(ParametersConvergenceTolerance,double); itkSetMacro(FunctionConvergenceTolerance,double); itkGetMacro(FunctionConvergenceTolerance,double); itkSetMacro(SimplexDelta,double); itkGetMacro(SimplexDelta,double); itkSetEnumMacro(MaxIterations, int); itkGetEnumMacro(MaxIterations, int); protected: double m_ParametersConvergenceTolerance; double m_FunctionConvergenceTolerance; double m_SimplexDelta; int m_MaxIterations; /** Default Constructor **/ AmoebaOptimizerMetaInformation (); /** Default Destructor **/ virtual ~AmoebaOptimizerMetaInformation (); private: /** purposely not implemented **/ AmoebaOptimizerMetaInformation (const Self&); /** purposely not implemented **/ void operator=(const Self&); }; class MIMetricMetaInformation : public itk::Object{ public: /** standard typedefs **/ typedef MIMetricMetaInformation Self; typedef itk::Object Superclass; typedef itk::SmartPointer Pointer; /** Method for creation through the object factory. */ itkNewMacro(Self); /** Run-time type information (and related methods). */ itkTypeMacro(MIMetricMetaInformation, itk::Object); /** object information streaming **/ void PrintSelf(std::ostream& os, itk::Indent indent) const; itkSetMacro(MaxTranslation,double); itkGetMacro(MaxTranslation,double); itkSetMacro(NumberOfHistogramBins,int); itkGetMacro(NumberOfHistogramBins,int); protected: double m_MaxTranslation; int m_NumberOfHistogramBins; /** Default Constructor **/ MIMetricMetaInformation (); /** Default Destructor **/ virtual ~MIMetricMetaInformation (); private: /** purposely not implemented **/ MIMetricMetaInformation (const Self&); /** purposely not implemented **/ void operator=(const Self&); }; class NCCMetricMetaInformation : public itk::Object{ public: /** standard typedefs **/ typedef NCCMetricMetaInformation Self; typedef itk::Object Superclass; typedef itk::SmartPointer Pointer; /** Method for creation through the object factory. */ itkNewMacro(Self); /** Run-time type information (and related methods). */ itkTypeMacro(NCCMetricMetaInformation, itk::Object); /** object information streaming **/ void PrintSelf(std::ostream& os, itk::Indent indent) const; itkSetMacro(MaxTranslation,double); itkGetMacro(MaxTranslation,double); itkSetMacro(SubtractMean,bool); itkGetMacro(SubtractMean,bool); protected: double m_MaxTranslation; bool m_SubtractMean; /** Default Constructor **/ NCCMetricMetaInformation (); /** Default Destructor **/ virtual ~NCCMetricMetaInformation (); private: /** purposely not implemented **/ NCCMetricMetaInformation (const Self&); /** purposely not implemented **/ void operator=(const Self&); }; } #endif