Medical Imaging Interaction Toolkit  2018.4.99-1640525a
Medical Imaging Interaction Toolkit
mitkGenericParamModel.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 __MITK_GENERIC_PARAM_MODEL_H_
14 #define __MITK_GENERIC_PARAM_MODEL_H_
15 
16 #include "mitkModelBase.h"
17 
18 #include "MitkModelFitExports.h"
19 
20 namespace mitk
21 {
22 
38  {
39 
40  public:
45 
48 
50  itkFactorylessNewMacro(Self);
51  itkCloneMacro(Self);
52 
54  itkTypeMacro(GenericParamModel, ModelBase);
55 
56  static const std::string NAME_STATIC_PARAMETER_number;
57 
58  std::string GetModelDisplayName() const override;
59 
60  std::string GetModelType() const override;
61 
62  FunctionStringType GetFunctionString() const override;
63  itkSetStringMacro(FunctionString);
64 
66  itkSetClampMacro(NumberOfParameters, ParametersSizeType, 1, 10);
67 
68  std::string GetXName() const override;
69 
70  ParameterNamesType GetParameterNames() const override;
71 
72  ParametersSizeType GetNumberOfParameters() const override;
73 
74  ParameterNamesType GetStaticParameterNames() const override;
75 
76  ParametersSizeType GetNumberOfStaticParameters() const override;
77 
78  protected:
80  ~GenericParamModel() override {};
81 
86  itk::LightObject::Pointer InternalClone() const override;
87 
88  ModelResultType ComputeModelfunction(const ParametersType& parameters) const override;
89 
90  void SetStaticParameter(const ParameterNameType& name,
91  const StaticParameterValuesType& values) override;
92  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const override;
93 
94  private:
96  FunctionStringType m_FunctionString;
97 
99  ParametersSizeType m_NumberOfParameters;
100 
101  //No copy constructor allowed
102  GenericParamModel(const Self& source);
103  void operator=(const Self&); //purposely not implemented
104 
105  };
106 }
107 
108 #endif
Superclass::ParametersSizeType ParametersSizeType
itk::SmartPointer< const Self > ConstPointer
Superclass::ParameterNameType ParameterNameType
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
itk::SmartPointer< Self > Pointer
DataCollection - Class to facilitate loading/accessing structured data.
#define MITKMODELFIT_EXPORT
static const std::string NAME_STATIC_PARAMETER_number
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:71
ModelTraitsInterface::ModelResultType ModelResultType
Definition: mitkModelBase.h:55
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64