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
mitkLinearModel.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 mitkLinearModel_h
14 #define mitkLinearModel_h
15 
16 #include "mitkModelBase.h"
17 
18 #include "MitkModelFitExports.h"
19 
20 namespace mitk
21 {
22 
24  {
25 
26  public:
27  typedef LinearModel Self;
31 
34 
36  itkFactorylessNewMacro(Self);
37  itkCloneMacro(Self);
38 
40  itkTypeMacro(LinearModel, ModelBase);
41 
42  static const std::string NAME_PARAMETER_y0;
43  static const std::string NAME_PARAMETER_b;
44 
45  static const unsigned int NUMBER_OF_PARAMETERS;
46 
47  static const std::string UNIT_PARAMETER_y0;
48  static const std::string UNIT_PARAMETER_b;
49 
50  static const unsigned int POSITION_PARAMETER_y0;
51  static const unsigned int POSITION_PARAMETER_b;
52 
53  static const std::string NAME_DERIVED_PARAMETER_x_intercept;
54 
55  static const unsigned int NUMBER_OF_DERIVED_PARAMETERS;
56 
57  static const std::string UNIT_DERIVED_PARAMETER_x_intercept;
58 
59  static const unsigned int NUMBER_OF_STATIC_PARAMETERS;
60 
61  static const std::string MODEL_DISPLAY_NAME;
62 
63  static const std::string MODEL_TYPE;
64 
65  static const std::string FUNCTION_STRING;
66 
67  static const std::string X_NAME;
68 
69  static const std::string X_AXIS_NAME;
70 
71  static const std::string X_AXIS_UNIT;
72 
73  static const std::string Y_AXIS_NAME;
74 
75  static const std::string Y_AXIS_UNIT;
76 
77 
78  ParameterNamesType GetParameterNames() const override;
79 
80  ParametersSizeType GetNumberOfParameters() const override;
81 
82  ParamterUnitMapType GetParameterUnits() const override;
83 
84  ParameterNamesType GetDerivedParameterNames() const override;
85 
86  ParametersSizeType GetNumberOfDerivedParameters() const override;
87 
88  ParamterUnitMapType GetDerivedParameterUnits() const override;
89 
90  ParameterNamesType GetStaticParameterNames() const override;
91 
92  ParametersSizeType GetNumberOfStaticParameters() const override;
93 
94  std::string GetModelDisplayName() const override;
95 
96  std::string GetModelType() const override;
97 
98  FunctionStringType GetFunctionString() const override;
99 
100  std::string GetXName() const override;
101 
102  std::string GetXAxisName() const override;
103 
104  std::string GetXAxisUnit() const override;
105 
106  std::string GetYAxisName() const override;
107 
108  std::string GetYAxisUnit() const override;
109 
110 
111  protected:
113  ~LinearModel() override {};
114 
119  itk::LightObject::Pointer InternalClone() const override;
120 
121  ModelResultType ComputeModelfunction(const ParametersType& parameters) const override;
122  DerivedParameterMapType ComputeDerivedParameters(const mitk::ModelBase::ParametersType&
123  parameters) const override;
124 
125  void SetStaticParameter(const ParameterNameType& name,
126  const StaticParameterValuesType& values) override;
127  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const override;
128 
129  private:
130 
131  //No copy constructor allowed
132  LinearModel(const Self& source);
133  void operator=(const Self&); //purposely not implemented
134 
135  };
136 }
137 
138 #endif
mitk::ModelTraitsInterface::ParamterUnitMapType
std::map< ParameterNameType, std::string > ParamterUnitMapType
Definition: mitkModelTraitsInterface.h:40
mitk::LinearModel::~LinearModel
~LinearModel() override
Definition: mitkLinearModel.h:113
mitk::ModelBase::ParameterNamesType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
mitk::LinearModel::Pointer
itk::SmartPointer< Self > Pointer
Definition: mitkLinearModel.h:29
mitk::LinearModel::POSITION_PARAMETER_y0
static const unsigned int POSITION_PARAMETER_y0
Definition: mitkLinearModel.h:50
mitk::LinearModel::NUMBER_OF_PARAMETERS
static const unsigned int NUMBER_OF_PARAMETERS
Definition: mitkLinearModel.h:45
mitk::LinearModel::Y_AXIS_NAME
static const std::string Y_AXIS_NAME
Definition: mitkLinearModel.h:73
MitkModelFitExports.h
mitk::LinearModel::FUNCTION_STRING
static const std::string FUNCTION_STRING
Definition: mitkLinearModel.h:65
mitk::ModelBase::ParameterNameType
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
mitk::ModelBase::ParametersType
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
mitk::LinearModel::Y_AXIS_UNIT
static const std::string Y_AXIS_UNIT
Definition: mitkLinearModel.h:75
mitk::LinearModel::MODEL_DISPLAY_NAME
static const std::string MODEL_DISPLAY_NAME
Definition: mitkLinearModel.h:61
itk::SmartPointer< Self >
mitk::LinearModel::NAME_DERIVED_PARAMETER_x_intercept
static const std::string NAME_DERIVED_PARAMETER_x_intercept
Definition: mitkLinearModel.h:53
mitk::LinearModel::UNIT_PARAMETER_b
static const std::string UNIT_PARAMETER_b
Definition: mitkLinearModel.h:48
mitk::LinearModel::NAME_PARAMETER_y0
static const std::string NAME_PARAMETER_y0
Definition: mitkLinearModel.h:40
mitk::LinearModel::X_AXIS_NAME
static const std::string X_AXIS_NAME
Definition: mitkLinearModel.h:69
MITKMODELFIT_EXPORT
#define MITKMODELFIT_EXPORT
Definition: MitkModelFitExports.h:15
mitk::LinearModel::NUMBER_OF_STATIC_PARAMETERS
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
Definition: mitkLinearModel.h:59
mitkModelBase.h
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::LinearModel::NUMBER_OF_DERIVED_PARAMETERS
static const unsigned int NUMBER_OF_DERIVED_PARAMETERS
Definition: mitkLinearModel.h:55
mitk::LinearModel::POSITION_PARAMETER_b
static const unsigned int POSITION_PARAMETER_b
Definition: mitkLinearModel.h:51
mitk::LinearModel::X_NAME
static const std::string X_NAME
Definition: mitkLinearModel.h:67
mitk::ModelTraitsInterface::FunctionStringType
std::string FunctionStringType
Definition: mitkModelTraitsInterface.h:44
mitk::LinearModel::NAME_PARAMETER_b
static const std::string NAME_PARAMETER_b
Definition: mitkLinearModel.h:43
mitk::LinearModel::ParametersSizeType
Superclass::ParametersSizeType ParametersSizeType
Definition: mitkLinearModel.h:33
mitk::LinearModel
Definition: mitkLinearModel.h:23
mitk::LinearModel::LinearModel
LinearModel()
Definition: mitkLinearModel.h:112
mitk::LinearModel::Superclass
mitk::ModelBase Superclass
Definition: mitkLinearModel.h:28
mitk::LinearModel::X_AXIS_UNIT
static const std::string X_AXIS_UNIT
Definition: mitkLinearModel.h:71
mitk::ModelBase::ParametersSizeType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
mitk::LinearModel::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: mitkLinearModel.h:30
mitk::LinearModel::ParameterNameType
Superclass::ParameterNameType ParameterNameType
Definition: mitkLinearModel.h:32
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::LinearModel::UNIT_DERIVED_PARAMETER_x_intercept
static const std::string UNIT_DERIVED_PARAMETER_x_intercept
Definition: mitkLinearModel.h:57
mitk::LinearModel::MODEL_TYPE
static const std::string MODEL_TYPE
Definition: mitkLinearModel.h:63
mitk::LinearModel::UNIT_PARAMETER_y0
static const std::string UNIT_PARAMETER_y0
Definition: mitkLinearModel.h:47
mitk::LinearModel::Self
LinearModel Self
Definition: mitkLinearModel.h:27