Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
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