Medical Imaging Interaction Toolkit  2018.4.99-ae21cdc4
Medical Imaging Interaction Toolkit
mitkModelParameterizerBase.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 (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef __MODEL_PARAMETERIZER_BASE_H
14 #define __MODEL_PARAMETERIZER_BASE_H
15 
16 #include <itkObject.h>
17 #include <itkIndex.h>
18 
19 #include "mitkModelBase.h"
21 
22 #include "MitkModelFitExports.h"
23 
24 namespace mitk
25 {
37  {
38  public:
40  typedef itk::Object Superclass;
43 
44  itkTypeMacro(ModelParameterizerBase, itk::Object);
45 
46  typedef ModelBase ModelBaseType;
48 
54 
55  typedef ::itk::Index<3> IndexType;
56 
57  virtual StaticParameterMapType GetGlobalStaticParameters() const = 0;
58  virtual StaticParameterMapType GetLocalStaticParameters(const IndexType& currentPosition) const = 0;
59 
63  ParametersType GetInitialParameterization() const;
64  ParametersType GetInitialParameterization(const IndexType& currentPosition) const;
65 
68  virtual ParametersType GetDefaultInitialParameterization() const = 0;
69 
71  void SetInitialParameterizationDelegate(const InitialParameterizationDelegateBase* delegate);
72 
73  virtual ModelBasePointer GenerateParameterizedModel(const IndexType& currentPosition) const = 0;
76  virtual ModelBasePointer GenerateParameterizedModel() const = 0;
77 
78  itkSetMacro(DefaultTimeGrid, TimeGridType);
79  itkGetConstReferenceMacro(DefaultTimeGrid, TimeGridType);
80 
81  protected:
82 
83 
85 
86  ~ModelParameterizerBase() override;
87 
89 
91  TimeGridType m_DefaultTimeGrid;
92  private:
93 
94  //No copy constructor allowed
95  ModelParameterizerBase(const Self& source);
96  void operator=(const Self&); //purposely not implemented
97  };
98 }
99 
100 #endif // __MODEL_PARAMETERIZER_BASE_H
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
Definition: mitkModelBase.h:47
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
std::map< ParameterNameType, StaticParameterValuesType > StaticParameterMapType
Definition: mitkModelBase.h:72
itk::SmartPointer< const Self > ConstPointer
DataCollection - Class to facilitate loading/accessing structured data.
itk::Array< double > TimeGridType
Definition: mitkModelBase.h:62
#define MITKMODELFIT_EXPORT
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:71
ModelBaseType::StaticParameterValueType StaticParameterValueType
ModelBaseType::StaticParameterValuesType StaticParameterValuesType
double StaticParameterValueType
Definition: mitkModelBase.h:70
ModelBaseType::ParametersType ParametersType
ModelBaseType::StaticParameterMapType StaticParameterMapType
ModelBaseType::TimeGridType TimeGridType
InitialParameterizationDelegateBase::ConstPointer m_InitialDelegate