Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkTwoStepLinearModel.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 mitkTwoStepLinearModel_h
14 #define mitkTwoStepLinearModel_h
15 
16 #include "mitkModelBase.h"
17 
18 #include "MitkModelFitExports.h"
19 
20 namespace mitk
21 {
22 
24  {
25 
26  public:
31 
32  typedef Superclass::ParameterNameType ParameterNameType;
33  typedef Superclass::ParametersSizeType ParametersSizeType;
34 
36  itkFactorylessNewMacro(Self);
37  itkCloneMacro(Self);
38 
40  itkTypeMacro(TwoStepLinearModel, ModelBase)
41 
42  static const std::string NAME_PARAMETER_y0;
43  static const std::string NAME_PARAMETER_x0;
44  static const std::string NAME_PARAMETER_b0;
45  static const std::string NAME_PARAMETER_b1;
46 
47  static const unsigned int NUMBER_OF_PARAMETERS;
48 
49  static const std::string UNIT_PARAMETER_y0;
50  static const std::string UNIT_PARAMETER_x0;
51  static const std::string UNIT_PARAMETER_b0;
52  static const std::string UNIT_PARAMETER_b1;
53 
54  static const unsigned int POSITION_PARAMETER_y0;
55  static const unsigned int POSITION_PARAMETER_x0;
56  static const unsigned int POSITION_PARAMETER_b0;
57  static const unsigned int POSITION_PARAMETER_b1;
58 
59  static const std::string NAME_DERIVED_PARAMETER_auc;
60  static const std::string NAME_DERIVED_PARAMETER_y_fin;
61  static const std::string NAME_DERIVED_PARAMETER_y_max;
62  static const std::string NAME_DERIVED_PARAMETER_y1;
63 
64  static const unsigned int NUMBER_OF_DERIVED_PARAMETERS;
65 
66  static const std::string UNIT_DERIVED_PARAMETER_auc;
67  static const std::string UNIT_DERIVED_PARAMETER_y_fin;
68  static const std::string UNIT_DERIVED_PARAMETER_y_max;
69  static const std::string UNIT_DERIVED_PARAMETER_y1;
70 
71  static const unsigned int NUMBER_OF_STATIC_PARAMETERS;
72 
73  static const std::string MODEL_DISPLAY_NAME;
74 
75  static const std::string MODEL_TYPE;
76 
77  static const std::string FUNCTION_STRING;
78 
79  static const std::string X_NAME;
80 
81  static const std::string X_AXIS_NAME;
82 
83  static const std::string X_AXIS_UNIT;
84 
85  static const std::string Y_AXIS_NAME;
86 
87  static const std::string Y_AXIS_UNIT;
88 
89 
90  ParameterNamesType GetParameterNames() const override;
91 
92  ParametersSizeType GetNumberOfParameters() const override;
93 
94  ParamterUnitMapType GetParameterUnits() const override;
95 
96  ParameterNamesType GetDerivedParameterNames() const override;
97 
98  ParametersSizeType GetNumberOfDerivedParameters() const override;
99 
100  ParamterUnitMapType GetDerivedParameterUnits() const override;
101 
102  ParameterNamesType GetStaticParameterNames() const override;
103 
104  ParametersSizeType GetNumberOfStaticParameters() const override;
105 
106  std::string GetModelDisplayName() const override;
107 
108  std::string GetModelType() const override;
109 
110  FunctionStringType GetFunctionString() const override;
111 
112  std::string GetXName() const override;
113 
114  std::string GetXAxisName() const override;
115 
116  std::string GetXAxisUnit() const override;
117 
118  std::string GetYAxisName() const override;
119 
120  std::string GetYAxisUnit() const override;
121 
122 
123  protected:
125  virtual ~TwoStepLinearModel(){};
126 
127 
132  virtual itk::LightObject::Pointer InternalClone() const;
133 
134  virtual ModelResultType ComputeModelfunction(const ParametersType& parameters) const;
135  virtual DerivedParameterMapType ComputeDerivedParameters(const mitk::ModelBase::ParametersType&
136  parameters) const;
137 
138  virtual void SetStaticParameter(const ParameterNameType& name,
139  const StaticParameterValuesType& values);
140  virtual StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const;
141 
142  static double ComputeSignalFromParameters(double x, double t, double a1, double a2, double b1, double b2);
143 
144  private:
145 
146  //No copy constructor allowed
147  TwoStepLinearModel(const Self& source);
148  void operator=(const Self&); //purposely not implemented
149  };
150 }
151 
152 
153 #endif
mitk::ModelTraitsInterface::ParamterUnitMapType
std::map< ParameterNameType, std::string > ParamterUnitMapType
Definition: mitkModelTraitsInterface.h:40
mitk::TwoStepLinearModel::~TwoStepLinearModel
virtual ~TwoStepLinearModel()
Definition: mitkTwoStepLinearModel.h:125
mitk::TwoStepLinearModel::Superclass
mitk::ModelBase Superclass
Definition: mitkTwoStepLinearModel.h:28
mitk::ModelBase::ParameterNamesType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
MitkModelFitExports.h
mitk::ModelBase::ParametersType
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
itk::SmartPointer< Self >
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::TwoStepLinearModel::Self
TwoStepLinearModel Self
Definition: mitkTwoStepLinearModel.h:27
mitk::TwoStepLinearModel::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: mitkTwoStepLinearModel.h:30
mitk::TwoStepLinearModel::ParametersSizeType
Superclass::ParametersSizeType ParametersSizeType
Definition: mitkTwoStepLinearModel.h:33
mitk::ModelTraitsInterface::FunctionStringType
std::string FunctionStringType
Definition: mitkModelTraitsInterface.h:44
mitk::TwoStepLinearModel::ParameterNameType
Superclass::ParameterNameType ParameterNameType
Definition: mitkTwoStepLinearModel.h:32
mitk::ModelBase::ParametersSizeType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
mitk::TwoStepLinearModel
Definition: mitkTwoStepLinearModel.h:23
mitk::TwoStepLinearModel::Pointer
itk::SmartPointer< Self > Pointer
Definition: mitkTwoStepLinearModel.h:29
mitk::ModelBase
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
Definition: mitkModelBase.h:47