Medical Imaging Interaction Toolkit  2023.12.99-f298153c
Medical Imaging Interaction Toolkit
mitkExponentialDecayModel.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 mitkExponentialDecayModel_h
14 #define mitkExponentialDecayModel_h
15 
16 #include "mitkModelBase.h"
17 
18 #include "MitkModelFitExports.h"
19 
20 namespace mitk
21 {
22 
28  {
29 
30  public:
35 
38 
40  itkFactorylessNewMacro(Self);
41  itkCloneMacro(Self);
42 
45 
46 
47  static const std::string NAME_PARAMETER_y0;
48  static const std::string NAME_PARAMETER_lambda;
49 
50  static const unsigned int NUMBER_OF_PARAMETERS;
51 
52  static const std::string UNIT_PARAMETER_y0;
53  static const std::string UNIT_PARAMETER_lambda;
54 
55  static const unsigned int POSITION_PARAMETER_y0;
56  static const unsigned int POSITION_PARAMETER_lambda;
57 
58  static const std::string NAME_DERIVED_PARAMETER_k;
59 
60  static const unsigned int NUMBER_OF_DERIVED_PARAMETERS;
61 
62  static const std::string UNIT_DERIVED_PARAMETER_k;
63 
64  static const unsigned int NUMBER_OF_STATIC_PARAMETERS;
65 
66  static const std::string MODEL_DISPLAY_NAME;
67 
68  static const std::string MODEL_TYPE;
69 
70  static const std::string FUNCTION_STRING;
71 
72  static const std::string X_NAME;
73 
74  static const std::string X_AXIS_NAME;
75 
76  static const std::string X_AXIS_UNIT;
77 
78  static const std::string Y_AXIS_NAME;
79 
80  static const std::string Y_AXIS_UNIT;
81 
82  ParameterNamesType GetParameterNames() const override;
83 
84  ParametersSizeType GetNumberOfParameters() const override;
85 
86  ParamterUnitMapType GetParameterUnits() const override;
87 
88  ParameterNamesType GetDerivedParameterNames() const override;
89 
90  ParametersSizeType GetNumberOfDerivedParameters() const override;
91 
92  ParamterUnitMapType GetDerivedParameterUnits() const override;
93 
94  ParameterNamesType GetStaticParameterNames() const override;
95 
96  ParametersSizeType GetNumberOfStaticParameters() const override;
97 
98  std::string GetModelDisplayName() const override;
99 
100  std::string GetModelType() const override;
101 
102  FunctionStringType GetFunctionString() const override;
103 
104  std::string GetXName() const override;
105 
106  std::string GetXAxisName() const override;
107 
108  std::string GetXAxisUnit() const override;
109 
110  std::string GetYAxisName() const override;
111 
112  std::string GetYAxisUnit() const override;
113 
114  mitk::ModelBase::DerivedParameterMapType ComputeDerivedParameters(
115  const mitk::ModelBase::ParametersType &parameters) const;
116 
117  protected:
119  ~ExponentialDecayModel() override {};
120 
125  itk::LightObject::Pointer InternalClone() const override;
126 
127  ModelResultType ComputeModelfunction(const ParametersType& parameters) const override;
128 
129  void SetStaticParameter(const ParameterNameType& name,
130  const StaticParameterValuesType& values) override;
131  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const override;
132 
133  private:
134 
135  //No copy constructor allowed
136  ExponentialDecayModel(const Self& source);
137  void operator=(const Self&); //purposely not implemented
138 
139  };
140 }
141 
142 #endif
mitk::ExponentialDecayModel::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: mitkExponentialDecayModel.h:34
mitk::ExponentialDecayModel::Pointer
itk::SmartPointer< Self > Pointer
Definition: mitkExponentialDecayModel.h:33
mitk::ModelTraitsInterface::ParamterUnitMapType
std::map< ParameterNameType, std::string > ParamterUnitMapType
Definition: mitkModelTraitsInterface.h:40
mitk::ExponentialDecayModel::NAME_DERIVED_PARAMETER_k
static const std::string NAME_DERIVED_PARAMETER_k
Definition: mitkExponentialDecayModel.h:58
mitk::ModelBase::ParameterNamesType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
mitk::ExponentialDecayModel::Y_AXIS_NAME
static const std::string Y_AXIS_NAME
Definition: mitkExponentialDecayModel.h:78
mitk::ExponentialDecayModel::NAME_PARAMETER_y0
static const std::string NAME_PARAMETER_y0
Definition: mitkExponentialDecayModel.h:44
MitkModelFitExports.h
mitk::ModelBase::ParameterNameType
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
mitk::ModelBase::ParametersType
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
mitk::ExponentialDecayModel::MODEL_TYPE
static const std::string MODEL_TYPE
Definition: mitkExponentialDecayModel.h:68
itk::SmartPointer< Self >
mitk::ModelBase::DerivedParameterMapType
std::map< ParameterNameType, DerivedParameterValueType > DerivedParameterMapType
Definition: mitkModelBase.h:75
mitk::ExponentialDecayModel::UNIT_DERIVED_PARAMETER_k
static const std::string UNIT_DERIVED_PARAMETER_k
Definition: mitkExponentialDecayModel.h:62
mitk::ExponentialDecayModel::POSITION_PARAMETER_lambda
static const unsigned int POSITION_PARAMETER_lambda
Definition: mitkExponentialDecayModel.h:56
mitk::ExponentialDecayModel::X_NAME
static const std::string X_NAME
Definition: mitkExponentialDecayModel.h:72
MITKMODELFIT_EXPORT
#define MITKMODELFIT_EXPORT
Definition: MitkModelFitExports.h:15
mitkModelBase.h
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::ExponentialDecayModel::MODEL_DISPLAY_NAME
static const std::string MODEL_DISPLAY_NAME
Definition: mitkExponentialDecayModel.h:66
mitk::ExponentialDecayModel::NAME_PARAMETER_lambda
static const std::string NAME_PARAMETER_lambda
Definition: mitkExponentialDecayModel.h:48
mitk::ExponentialDecayModel::~ExponentialDecayModel
~ExponentialDecayModel() override
Definition: mitkExponentialDecayModel.h:119
mitk::ExponentialDecayModel::ExponentialDecayModel
ExponentialDecayModel()
Definition: mitkExponentialDecayModel.h:118
mitk::ExponentialDecayModel::UNIT_PARAMETER_lambda
static const std::string UNIT_PARAMETER_lambda
Definition: mitkExponentialDecayModel.h:53
mitk::ExponentialDecayModel::NUMBER_OF_PARAMETERS
static const unsigned int NUMBER_OF_PARAMETERS
Definition: mitkExponentialDecayModel.h:50
mitk::ExponentialDecayModel::Self
ExponentialDecayModel Self
Definition: mitkExponentialDecayModel.h:31
mitk::ExponentialDecayModel::Y_AXIS_UNIT
static const std::string Y_AXIS_UNIT
Definition: mitkExponentialDecayModel.h:80
mitk::ModelTraitsInterface::FunctionStringType
std::string FunctionStringType
Definition: mitkModelTraitsInterface.h:44
mitk::ExponentialDecayModel::X_AXIS_NAME
static const std::string X_AXIS_NAME
Definition: mitkExponentialDecayModel.h:74
mitk::ModelBase::ParametersSizeType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
mitk::ExponentialDecayModel::ParametersSizeType
Superclass::ParametersSizeType ParametersSizeType
Definition: mitkExponentialDecayModel.h:37
mitk::ExponentialDecayModel::Superclass
mitk::ModelBase Superclass
Definition: mitkExponentialDecayModel.h:32
mitk::ExponentialDecayModel
Simple model of exponential decay in the form of: y(x) = y-intercept * exp(-x/lambda) with lambda bei...
Definition: mitkExponentialDecayModel.h:27
mitk::ExponentialDecayModel::NUMBER_OF_DERIVED_PARAMETERS
static const unsigned int NUMBER_OF_DERIVED_PARAMETERS
Definition: mitkExponentialDecayModel.h:60
mitk::ExponentialDecayModel::NUMBER_OF_STATIC_PARAMETERS
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
Definition: mitkExponentialDecayModel.h:64
mitk::ExponentialDecayModel::UNIT_PARAMETER_y0
static const std::string UNIT_PARAMETER_y0
Definition: mitkExponentialDecayModel.h:52
mitk::ExponentialDecayModel::X_AXIS_UNIT
static const std::string X_AXIS_UNIT
Definition: mitkExponentialDecayModel.h:76
mitk::ModelBase
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
Definition: mitkModelBase.h:47
mitk::ExponentialDecayModel::ParameterNameType
Superclass::ParameterNameType ParameterNameType
Definition: mitkExponentialDecayModel.h:36
mitk::ExponentialDecayModel::FUNCTION_STRING
static const std::string FUNCTION_STRING
Definition: mitkExponentialDecayModel.h:70
mitk::ExponentialDecayModel::POSITION_PARAMETER_y0
static const unsigned int POSITION_PARAMETER_y0
Definition: mitkExponentialDecayModel.h:55