230 lines
5.1 KiB
C++
230 lines
5.1 KiB
C++
#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<Self> 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<Self> 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<Self> 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<Self> 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
|