00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef MITKOPTIMIZERFACTORY_H 00019 #define MITKOPTIMIZERFACTORY_H 00020 00021 #include "itkSingleValuedNonLinearOptimizer.h" 00022 #include "MitkRigidRegistrationExports.h" 00023 #include "mitkOptimizerParameters.h" 00024 00025 namespace mitk { 00026 00045 class MITK_RIGIDREGISTRATION_EXPORT OptimizerFactory : public ::itk::Object 00046 { 00047 public: 00048 00049 mitkClassMacro(OptimizerFactory, Object); 00050 itkNewMacro(Self); 00051 00052 typedef itk::SingleValuedNonLinearOptimizer OptimizerType; 00053 00058 OptimizerType::Pointer GetOptimizer(); 00059 00063 void SetNumberOfTransformParameters(int numberTransformParameters); 00064 00068 void SetOptimizerParameters(OptimizerParameters::Pointer optimizerParameters) 00069 { 00070 m_OptimizerParameters = optimizerParameters; 00071 } 00072 00076 OptimizerParameters::Pointer GetOptimizerParameters() 00077 { 00078 return m_OptimizerParameters; 00079 } 00080 00081 protected: 00082 00083 OptimizerFactory(); 00084 ~OptimizerFactory(); 00085 00086 private: 00087 OptimizerParameters::Pointer m_OptimizerParameters; 00088 int m_NumberTransformParameters; 00089 }; 00090 00091 } // namespace mitk 00092 00093 #endif // MITKOPTIMIZERFACTORY_H