Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkExponentialSaturationModel.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 mitkExponentialSaturationModel_h
14 #define mitkExponentialSaturationModel_h
15 
16 #include <mitkModelBase.h>
17 
18 #include <MitkModelFitExports.h>
19 
20 namespace mitk
21 {
22 
35  {
36 
37  public:
42 
45 
47  itkFactorylessNewMacro(Self);
48  itkCloneMacro(Self);
49 
52 
54  static const std::string NAME_PARAMETER_BAT;
56  static const std::string NAME_PARAMETER_y_bl;
58  static const std::string NAME_PARAMETER_y_fin;
60  static const std::string NAME_PARAMETER_k;
61 
63  static const unsigned int NUMBER_OF_PARAMETERS;
64 
66  static const std::string UNIT_PARAMETER_BAT;
68  static const std::string UNIT_PARAMETER_y_bl;
70  static const std::string UNIT_PARAMETER_y_fin;
72  static const std::string UNIT_PARAMETER_k;
73 
75  static const unsigned int POSITION_PARAMETER_BAT;
77  static const unsigned int POSITION_PARAMETER_y_bl;
79  static const unsigned int POSITION_PARAMETER_y_fin;
81  static const unsigned int POSITION_PARAMETER_k;
82 
84  static const unsigned int NUMBER_OF_STATIC_PARAMETERS;
85 
87  static const std::string MODEL_DISPLAY_NAME;
88 
90  static const std::string MODEL_TYPE;
91 
93  static const std::string FUNCTION_STRING;
94 
96  static const std::string X_NAME;
97 
99  static const std::string X_AXIS_NAME;
100 
102  static const std::string X_AXIS_UNIT;
103 
105  static const std::string Y_AXIS_NAME;
106 
108  static const std::string Y_AXIS_UNIT;
109 
111 
113 
115 
117 
119 
120  std::string GetModelDisplayName() const override;
121 
122  std::string GetModelType() const override;
123 
125 
126  std::string GetXName() const override;
127 
128  std::string GetXAxisName() const override;
129 
130  std::string GetXAxisUnit() const override;
131 
132  std::string GetYAxisName() const override;
133 
134  std::string GetYAxisUnit() const override;
135 
136 
137  protected:
140 
142 
144 
145  ModelResultType ComputeModelfunction(const ParametersType& parameters) const override;
146 
148  const StaticParameterValuesType& values) override;
150 
151  private:
152 
153  void operator=(const Self&); //purposely not implemented
154 
155  };
156 }
157 
158 #endif
#define MITKMODELFIT_EXPORT
Exponential saturation model with bolus arrival time.
static const std::string UNIT_PARAMETER_k
Unit of the rate constant parameter.
static const std::string Y_AXIS_UNIT
Unit for the y-axis.
static const std::string Y_AXIS_NAME
Display name for the y-axis.
std::string GetXAxisUnit() const override
Returns the unit of the x-axis (e.g. "s", "ms").
ParameterNamesType GetStaticParameterNames() const override
Returns the names of static parameters used when computing the signal.
std::string GetXName() const override
Returns the name of the independent variable used by the model (e.g. "x").
static const unsigned int POSITION_PARAMETER_y_bl
Index position of baseline in the parameter vector.
std::string GetModelType() const override
Returns the type/category string of the model (e.g. "Linear", "Pharmacokinetic").
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
Total number of static parameters (0).
std::string GetXAxisName() const override
Returns the display name of the x-axis (e.g. "Time").
mitkCloneMacro(ExponentialSaturationModel)
static const std::string FUNCTION_STRING
Function string representation of the model equation.
static const std::string UNIT_PARAMETER_BAT
Unit of the bolus arrival time parameter.
ParameterNamesType GetParameterNames() const override
Returns the names of parameters that must be defined when using the model to compute the signal (GetS...
ParamterUnitMapType GetParameterUnits() const override
Returns the unit strings for all model parameters.
static const std::string NAME_PARAMETER_k
Name string for the rate constant parameter.
std::string GetYAxisUnit() const override
Returns the unit of the y-axis.
std::string GetModelDisplayName() const override
Returns the human-readable display name of the model.
static const std::string NAME_PARAMETER_y_fin
Name string for the final value parameter.
static const std::string NAME_PARAMETER_BAT
Name string for the bolus arrival time (onset) parameter.
void SetStaticParameter(const ParameterNameType &name, const StaticParameterValuesType &values) override
Sets a single static parameter by name.
static const std::string MODEL_DISPLAY_NAME
Display name of this model.
ExponentialSaturationModel(const ExponentialSaturationModel &source)
Superclass::ParameterNameType ParameterNameType
static const unsigned int POSITION_PARAMETER_y_fin
Index position of final value in the parameter vector.
static const std::string MODEL_TYPE
Type category of this model.
FunctionStringType GetFunctionString() const override
Returns a parsable function string representing the model equation.
ParametersSizeType GetNumberOfParameters() const override
Returns the number of parameters that must be defined when using the model to compute the signal (Get...
itk::SmartPointer< const Self > ConstPointer
static const std::string X_NAME
Name of the independent variable.
static const std::string UNIT_PARAMETER_y_bl
Unit of the baseline parameter.
static const std::string X_AXIS_UNIT
Unit for the x-axis.
static const unsigned int NUMBER_OF_PARAMETERS
Total number of model parameters (4).
StaticParameterValuesType GetStaticParameterValue(const ParameterNameType &name) const override
Retrieves a single static parameter value by name.
std::string GetYAxisName() const override
Returns the display name of the y-axis (e.g. "Signal Intensity").
ModelResultType ComputeModelfunction(const ParametersType &parameters) const override
Computes the model function for the given parameters.
static const std::string X_AXIS_NAME
Display name for the x-axis.
ParametersSizeType GetNumberOfStaticParameters() const override
Returns the number of static parameters.
static const unsigned int POSITION_PARAMETER_BAT
Index position of BAT in the parameter vector.
static const unsigned int POSITION_PARAMETER_k
Index position of rate constant in the parameter vector.
static const std::string NAME_PARAMETER_y_bl
Name string for the baseline parameter.
Superclass::ParametersSizeType ParametersSizeType
static const std::string UNIT_PARAMETER_y_fin
Unit of the final value parameter.
Base class for (dynamic) models.
Definition: mitkModelBase.h:56
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:73
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:72
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:79
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:71
ModelTraitsInterface::ModelResultType ModelResultType
Definition: mitkModelBase.h:63
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:67
std::string FunctionStringType
Type for the function string representation of the model.
std::map< ParameterNameType, std::string > ParamterUnitMapType
Map type associating parameter names to their unit strings.
Find image slices visible on a given plane.