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
mitkThreeStepLinearModel.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 mitkThreeStepLinearModel_h
14 #define mitkThreeStepLinearModel_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 
41 
42  static const std::string NAME_PARAMETER_y_bl;
43  static const std::string NAME_PARAMETER_x0;
44  static const std::string NAME_PARAMETER_x1;
45  static const std::string NAME_PARAMETER_b0;
46  static const std::string NAME_PARAMETER_b1;
47 
48  static const unsigned int NUMBER_OF_PARAMETERS;
49 
50  static const std::string UNIT_PARAMETER_y_bl;
51  static const std::string UNIT_PARAMETER_x0;
52  static const std::string UNIT_PARAMETER_x1;
53  static const std::string UNIT_PARAMETER_b0;
54  static const std::string UNIT_PARAMETER_b1;
55 
56  static const unsigned int POSITION_PARAMETER_y_bl;
57  static const unsigned int POSITION_PARAMETER_x0;
58  static const unsigned int POSITION_PARAMETER_x1;
59  static const unsigned int POSITION_PARAMETER_b0;
60  static const unsigned int POSITION_PARAMETER_b1;
61 
62  static const std::string NAME_DERIVED_PARAMETER_auc;
63  static const std::string NAME_DERIVED_PARAMETER_x_fin;
64  static const std::string NAME_DERIVED_PARAMETER_y_fin;
65  static const std::string NAME_DERIVED_PARAMETER_y_max;
66  static const std::string NAME_DERIVED_PARAMETER_y1;
67  static const std::string NAME_DERIVED_PARAMETER_y2;
68 
69  static const unsigned int NUMBER_OF_DERIVED_PARAMETERS;
70 
71  static const std::string UNIT_DERIVED_PARAMETER_auc;
72  static const std::string UNIT_DERIVED_PARAMETER_x_fin;
73  static const std::string UNIT_DERIVED_PARAMETER_y_fin;
74  static const std::string UNIT_DERIVED_PARAMETER_y_max;
75  static const std::string UNIT_DERIVED_PARAMETER_y1;
76  static const std::string UNIT_DERIVED_PARAMETER_y2;
77 
78  static const unsigned int NUMBER_OF_STATIC_PARAMETERS;
79 
80  static const std::string MODEL_DISPLAY_NAME;
81 
82  static const std::string MODEL_TYPE;
83 
84  static const std::string FUNCTION_STRING;
85 
86  static const std::string X_NAME;
87 
88  static const std::string X_AXIS_NAME;
89 
90  static const std::string X_AXIS_UNIT;
91 
92  static const std::string Y_AXIS_NAME;
93 
94  static const std::string Y_AXIS_UNIT;
95 
96  ParameterNamesType GetParameterNames() const override;
97 
98  ParametersSizeType GetNumberOfParameters() const override;
99 
100  ParamterUnitMapType GetParameterUnits() const override;
101 
102  ParameterNamesType GetDerivedParameterNames() const override;
103 
104  ParametersSizeType GetNumberOfDerivedParameters() const override;
105 
106  ParamterUnitMapType GetDerivedParameterUnits() const override;
107 
108  ParameterNamesType GetStaticParameterNames() const override;
109 
110  ParametersSizeType GetNumberOfStaticParameters() const override;
111 
112  std::string GetModelDisplayName() const override;
113 
114  std::string GetModelType() const override;
115 
116  FunctionStringType GetFunctionString() const override;
117 
118  std::string GetXName() const override;
119 
120  std::string GetXAxisName() const override;
121 
122  std::string GetXAxisUnit() const override;
123 
124  std::string GetYAxisName() const override;
125 
126  std::string GetYAxisUnit() const override;
127 
128 
129  protected:
131  ~ThreeStepLinearModel() override{};
132 
133 
138  itk::LightObject::Pointer InternalClone() const override;
139 
140  ModelResultType ComputeModelfunction(const ParametersType& parameters) const override;
141  DerivedParameterMapType ComputeDerivedParameters(const mitk::ModelBase::ParametersType&
142  parameters) const override;
143 
144  void SetStaticParameter(const ParameterNameType& name,
145  const StaticParameterValuesType& values) override;
146  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const override;
147 
148  static double ComputeSignalFromParameters(double x, double s0, double t1, double t2, double a1, double a2, double b1, double b2);
149 
150  private:
151 
152  //No copy constructor allowed
153  ThreeStepLinearModel(const Self& source);
154  void operator=(const Self&); //purposely not implemented
155 
156  };
157 }
158 
159 
160 #endif
mitk::ModelTraitsInterface::ParamterUnitMapType
std::map< ParameterNameType, std::string > ParamterUnitMapType
Definition: mitkModelTraitsInterface.h:40
mitk::ThreeStepLinearModel::NAME_PARAMETER_x1
static const std::string NAME_PARAMETER_x1
Definition: mitkThreeStepLinearModel.h:44
mitk::ThreeStepLinearModel::Pointer
itk::SmartPointer< Self > Pointer
Definition: mitkThreeStepLinearModel.h:29
mitk::ThreeStepLinearModel::UNIT_DERIVED_PARAMETER_y2
static const std::string UNIT_DERIVED_PARAMETER_y2
Definition: mitkThreeStepLinearModel.h:76
mitk::ThreeStepLinearModel::ParametersSizeType
Superclass::ParametersSizeType ParametersSizeType
Definition: mitkThreeStepLinearModel.h:33
mitk::ThreeStepLinearModel::UNIT_DERIVED_PARAMETER_y_fin
static const std::string UNIT_DERIVED_PARAMETER_y_fin
Definition: mitkThreeStepLinearModel.h:73
mitk::ModelBase::ParameterNamesType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
mitk::ThreeStepLinearModel::NAME_DERIVED_PARAMETER_y_max
static const std::string NAME_DERIVED_PARAMETER_y_max
Definition: mitkThreeStepLinearModel.h:65
mitk::ThreeStepLinearModel::UNIT_PARAMETER_x1
static const std::string UNIT_PARAMETER_x1
Definition: mitkThreeStepLinearModel.h:52
MitkModelFitExports.h
mitk::ThreeStepLinearModel::NUMBER_OF_PARAMETERS
static const unsigned int NUMBER_OF_PARAMETERS
Definition: mitkThreeStepLinearModel.h:48
mitk::ThreeStepLinearModel::~ThreeStepLinearModel
~ThreeStepLinearModel() override
Definition: mitkThreeStepLinearModel.h:131
mitk::ThreeStepLinearModel::MODEL_DISPLAY_NAME
static const std::string MODEL_DISPLAY_NAME
Definition: mitkThreeStepLinearModel.h:80
mitk::ThreeStepLinearModel::NUMBER_OF_DERIVED_PARAMETERS
static const unsigned int NUMBER_OF_DERIVED_PARAMETERS
Definition: mitkThreeStepLinearModel.h:69
mitk::ThreeStepLinearModel::UNIT_DERIVED_PARAMETER_y_max
static const std::string UNIT_DERIVED_PARAMETER_y_max
Definition: mitkThreeStepLinearModel.h:74
mitk::ModelBase::ParametersType
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
mitk::ThreeStepLinearModel::Y_AXIS_UNIT
static const std::string Y_AXIS_UNIT
Definition: mitkThreeStepLinearModel.h:94
mitk::ThreeStepLinearModel::Self
ThreeStepLinearModel Self
Definition: mitkThreeStepLinearModel.h:27
itk::SmartPointer< Self >
mitk::ThreeStepLinearModel::ThreeStepLinearModel
ThreeStepLinearModel()
Definition: mitkThreeStepLinearModel.h:130
mitk::ThreeStepLinearModel::NAME_PARAMETER_x0
static const std::string NAME_PARAMETER_x0
Definition: mitkThreeStepLinearModel.h:43
mitk::ThreeStepLinearModel::UNIT_PARAMETER_x0
static const std::string UNIT_PARAMETER_x0
Definition: mitkThreeStepLinearModel.h:51
mitk::ThreeStepLinearModel::Y_AXIS_NAME
static const std::string Y_AXIS_NAME
Definition: mitkThreeStepLinearModel.h:92
MITKMODELFIT_EXPORT
#define MITKMODELFIT_EXPORT
Definition: MitkModelFitExports.h:15
mitk::ThreeStepLinearModel::POSITION_PARAMETER_x0
static const unsigned int POSITION_PARAMETER_x0
Definition: mitkThreeStepLinearModel.h:57
mitkModelBase.h
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::ThreeStepLinearModel::NAME_PARAMETER_y_bl
static const std::string NAME_PARAMETER_y_bl
Definition: mitkThreeStepLinearModel.h:40
mitk::ThreeStepLinearModel::POSITION_PARAMETER_b1
static const unsigned int POSITION_PARAMETER_b1
Definition: mitkThreeStepLinearModel.h:60
mitk::ThreeStepLinearModel::NAME_DERIVED_PARAMETER_x_fin
static const std::string NAME_DERIVED_PARAMETER_x_fin
Definition: mitkThreeStepLinearModel.h:63
mitk::ThreeStepLinearModel::X_AXIS_UNIT
static const std::string X_AXIS_UNIT
Definition: mitkThreeStepLinearModel.h:90
mitk::ThreeStepLinearModel::MODEL_TYPE
static const std::string MODEL_TYPE
Definition: mitkThreeStepLinearModel.h:82
mitk::ThreeStepLinearModel::Superclass
mitk::ModelBase Superclass
Definition: mitkThreeStepLinearModel.h:28
mitk::ThreeStepLinearModel::NUMBER_OF_STATIC_PARAMETERS
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
Definition: mitkThreeStepLinearModel.h:78
mitk::ThreeStepLinearModel::NAME_DERIVED_PARAMETER_y2
static const std::string NAME_DERIVED_PARAMETER_y2
Definition: mitkThreeStepLinearModel.h:67
mitk::ThreeStepLinearModel
Definition: mitkThreeStepLinearModel.h:23
mitk::ThreeStepLinearModel::UNIT_PARAMETER_b0
static const std::string UNIT_PARAMETER_b0
Definition: mitkThreeStepLinearModel.h:53
mitk::ThreeStepLinearModel::NAME_DERIVED_PARAMETER_y1
static const std::string NAME_DERIVED_PARAMETER_y1
Definition: mitkThreeStepLinearModel.h:66
mitk::ThreeStepLinearModel::UNIT_DERIVED_PARAMETER_y1
static const std::string UNIT_DERIVED_PARAMETER_y1
Definition: mitkThreeStepLinearModel.h:75
mitk::ThreeStepLinearModel::ParameterNameType
Superclass::ParameterNameType ParameterNameType
Definition: mitkThreeStepLinearModel.h:32
mitk::ThreeStepLinearModel::UNIT_DERIVED_PARAMETER_auc
static const std::string UNIT_DERIVED_PARAMETER_auc
Definition: mitkThreeStepLinearModel.h:71
mitk::ModelTraitsInterface::FunctionStringType
std::string FunctionStringType
Definition: mitkModelTraitsInterface.h:44
mitk::ThreeStepLinearModel::X_AXIS_NAME
static const std::string X_AXIS_NAME
Definition: mitkThreeStepLinearModel.h:88
mitk::ThreeStepLinearModel::NAME_DERIVED_PARAMETER_y_fin
static const std::string NAME_DERIVED_PARAMETER_y_fin
Definition: mitkThreeStepLinearModel.h:64
mitk::ThreeStepLinearModel::NAME_PARAMETER_b1
static const std::string NAME_PARAMETER_b1
Definition: mitkThreeStepLinearModel.h:46
mitk::ModelBase::ParametersSizeType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
mitk::ThreeStepLinearModel::UNIT_PARAMETER_b1
static const std::string UNIT_PARAMETER_b1
Definition: mitkThreeStepLinearModel.h:54
mitk::ThreeStepLinearModel::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: mitkThreeStepLinearModel.h:30
mitk::ThreeStepLinearModel::POSITION_PARAMETER_y_bl
static const unsigned int POSITION_PARAMETER_y_bl
Definition: mitkThreeStepLinearModel.h:56
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::ThreeStepLinearModel::NAME_PARAMETER_b0
static const std::string NAME_PARAMETER_b0
Definition: mitkThreeStepLinearModel.h:45
mitk::ThreeStepLinearModel::UNIT_DERIVED_PARAMETER_x_fin
static const std::string UNIT_DERIVED_PARAMETER_x_fin
Definition: mitkThreeStepLinearModel.h:72
mitk::ThreeStepLinearModel::X_NAME
static const std::string X_NAME
Definition: mitkThreeStepLinearModel.h:86
mitk::ThreeStepLinearModel::POSITION_PARAMETER_x1
static const unsigned int POSITION_PARAMETER_x1
Definition: mitkThreeStepLinearModel.h:58
mitk::ThreeStepLinearModel::UNIT_PARAMETER_y_bl
static const std::string UNIT_PARAMETER_y_bl
Definition: mitkThreeStepLinearModel.h:50
mitk::ThreeStepLinearModel::FUNCTION_STRING
static const std::string FUNCTION_STRING
Definition: mitkThreeStepLinearModel.h:84
mitk::ThreeStepLinearModel::POSITION_PARAMETER_b0
static const unsigned int POSITION_PARAMETER_b0
Definition: mitkThreeStepLinearModel.h:59
mitk::ThreeStepLinearModel::NAME_DERIVED_PARAMETER_auc
static const std::string NAME_DERIVED_PARAMETER_auc
Definition: mitkThreeStepLinearModel.h:62