Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkConnectomicsSimulatedAnnealingPermutationBase.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef mitkConnectomicsSimulatedAnnealingPermutationBase_h
18 #define mitkConnectomicsSimulatedAnnealingPermutationBase_h
19 
20 #include <itkObject.h>
21 #include <itkObjectFactory.h>
22 #include <itkMacro.h>
23 
24 #include "mitkCommon.h"
25 
26 #include <MitkConnectomicsExports.h>
27 
29 
30 namespace mitk
31 {
32 
35  class MITKCONNECTOMICS_EXPORT ConnectomicsSimulatedAnnealingPermutationBase : public itk::Object
36  {
37  public:
38 
43  itkFactorylessNewMacro(Self)
44  itkCloneMacro(Self)
45 
46  // Set the cost function
47  void SetCostFunction( mitk::ConnectomicsSimulatedAnnealingCostFunctionBase::Pointer costFunction );
48 
49  // Returns true if a cost function is assigned
50  bool HasCostFunction( );
51 
52  // Initialize the permutation
53  virtual void Initialize(){};
54 
55  // Do a permutation for a specific temperature
56  virtual void Permutate( double /*temperature*/ ){};
57 
58  // Do clean up necessary after a permutation
59  virtual void CleanUp(){};
60 
61  protected:
62 
66 
68  // The cost function assigned to the permutation
70 
71  };
72 
73 }// end namespace mitk
74 
75 #endif // mitkConnectomicsSimulatedAnnealingPermutationBase_h
itk::SmartPointer< Self > Pointer
DataCollection - Class to facilitate loading/accessing structured data.
Base class of a permutation to be used in simulated annealing.
mitk::ConnectomicsSimulatedAnnealingCostFunctionBase::Pointer m_CostFunction
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53