Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::ExpDecayOffsetModel Class Reference

Exponential decay model with baseline offset: y(x) = y0 * exp(-k*x) + y_bl. More...

#include <mitkExpDecayOffsetModel.h>

Inheritance diagram for mitk::ExpDecayOffsetModel:
Collaboration diagram for mitk::ExpDecayOffsetModel:

Public Types

typedef ExpDecayOffsetModel Self
 
typedef mitk::ModelBase Superclass
 
typedef itk::SmartPointer< Self > Pointer
 
typedef itk::SmartPointer< const Self > ConstPointer
 
typedef Superclass::ParameterNameType ParameterNameType
 
typedef Superclass::ParametersSizeType ParametersSizeType
 
- Public Types inherited from mitk::ModelBase
typedef ModelBase Self
 
typedef itk::Object Superclass
 
typedef itk::SmartPointer< Self > Pointer
 
typedef itk::SmartPointer< const Self > ConstPointer
 
typedef ModelTraitsInterface::ModelResultType ModelResultType
 
typedef ModelTraitsInterface::ParameterValueType ParameterValueType
 
typedef ModelTraitsInterface::ParametersType ParametersType
 
typedef itk::Array< double > TimeGridType
 Type defining the time grid used by models. More...
 
typedef ModelTraitsInterface::ParameterNameType ParameterNameType
 
typedef ModelTraitsInterface::ParameterNamesType ParameterNamesType
 
typedef ModelTraitsInterface::ParametersSizeType ParametersSizeType
 
typedef ModelTraitsInterface::DerivedParameterNamesType DerivedParameterNamesType
 
typedef ModelTraitsInterface::DerivedParametersSizeType DerivedParametersSizeType
 
typedef double StaticParameterValueType
 
typedef std::vector< StaticParameterValueType > StaticParameterValuesType
 
typedef std::map< ParameterNameType, StaticParameterValuesType > StaticParameterMapType
 
typedef double DerivedParameterValueType
 
typedef std::map< ParameterNameType, DerivedParameterValueType > DerivedParameterMapType
 
- Public Types inherited from mitk::ModelTraitsInterface
typedef itk::Array< double > ModelResultType
 Type representing the model output signal as an array of doubles. More...
 
using ParameterValueType = double
 Type of a single parameter value. More...
 
typedef itk::Array< ParameterValueType > ParametersType
 Type representing a vector of parameter values. More...
 
typedef std::string ParameterNameType
 Type used for parameter names. More...
 
typedef std::vector< ParameterNameType > ParameterNamesType
 Type for a list of parameter names. More...
 
typedef ParametersType::SizeValueType ParametersSizeType
 Type for the count of parameters. More...
 
typedef ParameterNamesType DerivedParameterNamesType
 Type for a list of derived parameter names. More...
 
typedef ParametersSizeType DerivedParametersSizeType
 Type for the count of derived parameters. More...
 
typedef std::map< ParameterNameType, double > ParamterScaleMapType
 Map type associating parameter names to their scaling factors. More...
 
typedef std::map< ParameterNameType, std::string > ParamterUnitMapType
 Map type associating parameter names to their unit strings. More...
 
typedef std::map< ParameterNameType, double > DerivedParamterScaleMapType
 Map type associating derived parameter names to their scaling factors. More...
 
typedef std::map< ParameterNameType, std::string > DerivedParamterUnitMapType
 Map type associating derived parameter names to their unit strings. More...
 
typedef std::string FunctionStringType
 Type for the function string representation of the model. More...
 
typedef std::string ModellClassIDType
 Type for the unique class identifier of the model. More...
 

Public Member Functions

Pointer Clone () const
 
virtual const char * GetClassName () const
 
ParameterNamesType GetParameterNames () const override
 Returns the names of parameters that must be defined when using the model to compute the signal (GetSignal()). More...
 
ParametersSizeType GetNumberOfParameters () const override
 Returns the number of parameters that must be defined when using the model to compute the signal (GetSignal()). More...
 
ParamterUnitMapType GetParameterUnits () const override
 Returns the unit strings for all model parameters. More...
 
ParameterNamesType GetStaticParameterNames () const override
 Returns the names of static parameters used when computing the signal. More...
 
ParametersSizeType GetNumberOfStaticParameters () const override
 Returns the number of static parameters. More...
 
std::string GetModelDisplayName () const override
 Returns the human-readable display name of the model. More...
 
std::string GetModelType () const override
 Returns the type/category string of the model (e.g. "Linear", "Pharmacokinetic"). More...
 
FunctionStringType GetFunctionString () const override
 Returns a parsable function string representing the model equation. More...
 
std::string GetXName () const override
 Returns the name of the independent variable used by the model (e.g. "x"). More...
 
std::string GetXAxisName () const override
 Returns the display name of the x-axis (e.g. "Time"). More...
 
std::string GetXAxisUnit () const override
 Returns the unit of the x-axis (e.g. "s", "ms"). More...
 
std::string GetYAxisName () const override
 Returns the display name of the y-axis (e.g. "Signal Intensity"). More...
 
std::string GetYAxisUnit () const override
 Returns the unit of the y-axis. More...
 
- Public Member Functions inherited from mitk::ModelBase
ParamterScaleMapType GetParameterScales () const override
 Default implementation returns a scale of 1.0 for every defined parameter. More...
 
ParamterUnitMapType GetParameterUnits () const override
 Default implementation returns no unit string ("") for every defined parameter. More...
 
DerivedParamterScaleMapType GetDerivedParameterScales () const override
 Default implementation returns a scale of 1.0 for every defined derived parameter. More...
 
DerivedParamterUnitMapType GetDerivedParameterUnits () const override
 Default implementation returns no unit string ("") for every defined derived parameter. More...
 
std::string GetModelDisplayName () const override
 Default implementation returns GetClassID as display name. More...
 
std::string GetModelType () const override
 Default implementation returns "Unknown" as model type. More...
 
FunctionStringType GetFunctionString () const override
 Default implementation returns an empty function string. More...
 
ModellClassIDType GetClassID () const override
 Default implementation returns the class name of the concrete instance as ID. More...
 
std::string GetXName () const override
 Default implementation returns an empty string. More...
 
std::string GetXAxisName () const override
 Default implementation returns an empty string. More...
 
std::string GetXAxisUnit () const override
 Default implementation returns an empty string. More...
 
std::string GetYAxisName () const override
 Default implementation returns an empty string. More...
 
std::string GetYAxisUnit () const override
 Default implementation returns an empty string. More...
 
virtual ParamterUnitMapType GetStaticParameterUnits () const
 Default implementation returns no unit string ("") for every defined static parameter. More...
 
DerivedParameterNamesType GetDerivedParameterNames () const override
 Returns the names of derived parameters that can be computed by the model. More...
 
DerivedParametersSizeType GetNumberOfDerivedParameters () const override
 Returns the number of derived parameters that can be computed by the model. More...
 
void SetStaticParameters (const StaticParameterMapType &parameters, bool allParameters=true)
 Sets the static parameters of the model before it is used. More...
 
StaticParameterMapType GetStaticParameters () const
 Retrieves the static parameters of the model (e.g. for serialization). More...
 
DerivedParameterMapType GetDerivedParameters (const ParametersType &parameters) const
 Computes all derived parameters for the given model parameters. More...
 
virtual void SetTimeGrid (const TimeGridType &grid)
 Sets the time grid of the model. More...
 
virtual const TimeGridType & GetTimeGrid ()
 Gets the time grid of the model. More...
 
ModelResultType GetSignal (const ParametersType &parameters) const
 Computes and returns the model signal for the given parameters. More...
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const std::string NAME_PARAMETER_y0
 Name string for the y-intercept parameter. More...
 
static const std::string NAME_PARAMETER_k
 Name string for the rate constant parameter. More...
 
static const std::string NAME_PARAMETER_y_bl
 Name string for the baseline parameter. More...
 
static const unsigned int NUMBER_OF_PARAMETERS
 Total number of model parameters (3). More...
 
static const std::string UNIT_PARAMETER_y0
 Unit of the y-intercept parameter. More...
 
static const std::string UNIT_PARAMETER_k
 Unit of the rate constant parameter. More...
 
static const std::string UNIT_PARAMETER_y_bl
 Unit of the baseline parameter. More...
 
static const unsigned int POSITION_PARAMETER_y0
 Index position of y-intercept in the parameter vector. More...
 
static const unsigned int POSITION_PARAMETER_k
 Index position of rate constant in the parameter vector. More...
 
static const unsigned int POSITION_PARAMETER_y_bl
 Index position of baseline in the parameter vector. More...
 
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
 Total number of static parameters (0). More...
 
static const std::string MODEL_DISPLAY_NAME
 Display name of this model. More...
 
static const std::string MODEL_TYPE
 Type category of this model. More...
 
static const std::string FUNCTION_STRING
 Function string representation of the model equation. More...
 
static const std::string X_NAME
 Name of the independent variable. More...
 
static const std::string X_AXIS_NAME
 Display name for the x-axis. More...
 
static const std::string X_AXIS_UNIT
 Unit for the x-axis. More...
 
static const std::string Y_AXIS_NAME
 Display name for the y-axis. More...
 
static const std::string Y_AXIS_UNIT
 Unit for the y-axis. More...
 

Protected Member Functions

 ExpDecayOffsetModel ()
 
 ~ExpDecayOffsetModel () override
 
 ExpDecayOffsetModel (const ExpDecayOffsetModel &source)
 
 mitkCloneMacro (ExpDecayOffsetModel)
 
ModelResultType ComputeModelfunction (const ParametersType &parameters) const override
 Computes the model function for the given parameters. More...
 
void SetStaticParameter (const ParameterNameType &name, const StaticParameterValuesType &values) override
 Sets a single static parameter by name. More...
 
StaticParameterValuesType GetStaticParameterValue (const ParameterNameType &name) const override
 Retrieves a single static parameter value by name. More...
 
- Protected Member Functions inherited from mitk::ModelBase
virtual bool ValidateModel (std::string &error) const
 Validates whether the model is in a valid state to compute the signal. More...
 
virtual DerivedParameterMapType ComputeDerivedParameters (const ParametersType &parameters) const
 Computes derived parameters from the given model parameters. More...
 
 ModelBase ()
 
 ~ModelBase () override
 
 ModelBase (const ModelBase &source)
 
void PrintSelf (std::ostream &os, ::itk::Indent indent) const override
 
- Protected Member Functions inherited from mitk::ModelTraitsInterface
 ModelTraitsInterface ()
 
virtual ~ModelTraitsInterface ()
 

Additional Inherited Members

- Protected Attributes inherited from mitk::ModelBase
TimeGridType m_TimeGrid
 

Detailed Description

Exponential decay model with baseline offset: y(x) = y0 * exp(-k*x) + y_bl.

This model implements an exponential decay function with an additional baseline offset parameter. It has three parameters: y-intercept (y0), rate constant (k), and baseline (y_bl).

See also
ExpDecayOffsetModelFactory, ExpDecayOffsetModelParameterizer, ModelBase

Definition at line 33 of file mitkExpDecayOffsetModel.h.

Member Typedef Documentation

◆ ConstPointer

◆ ParameterNameType

◆ ParametersSizeType

◆ Pointer

◆ Self

◆ Superclass

Constructor & Destructor Documentation

◆ ExpDecayOffsetModel() [1/2]

mitk::ExpDecayOffsetModel::ExpDecayOffsetModel ( )
inlineprotected

Definition at line 130 of file mitkExpDecayOffsetModel.h.

◆ ~ExpDecayOffsetModel()

mitk::ExpDecayOffsetModel::~ExpDecayOffsetModel ( )
inlineoverrideprotected

Definition at line 131 of file mitkExpDecayOffsetModel.h.

◆ ExpDecayOffsetModel() [2/2]

mitk::ExpDecayOffsetModel::ExpDecayOffsetModel ( const ExpDecayOffsetModel &  source)
protected

Member Function Documentation

◆ Clone()

Pointer mitk::ExpDecayOffsetModel::Clone ( ) const

◆ ComputeModelfunction()

ModelResultType mitk::ExpDecayOffsetModel::ComputeModelfunction ( const ParametersType &  parameters) const
overrideprotectedvirtual

Computes the model function for the given parameters.

Must be implemented by derived classes.

Parameters
parametersThe model parameters.
Returns
The computed model result.

Implements mitk::ModelBase.

◆ GetClassName()

virtual const char* mitk::ExpDecayOffsetModel::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from mitk::ModelBase.

◆ GetFunctionString()

FunctionStringType mitk::ExpDecayOffsetModel::GetFunctionString ( ) const
overridevirtual

Returns a parsable function string representing the model equation.

Returns
The function string (e.g. "a*x+b").

Implements mitk::ModelTraitsInterface.

◆ GetModelDisplayName()

std::string mitk::ExpDecayOffsetModel::GetModelDisplayName ( ) const
overridevirtual

Returns the human-readable display name of the model.

Returns
The model display name.

Implements mitk::ModelTraitsInterface.

◆ GetModelType()

std::string mitk::ExpDecayOffsetModel::GetModelType ( ) const
overridevirtual

Returns the type/category string of the model (e.g. "Linear", "Pharmacokinetic").

Returns
The model type string.

Implements mitk::ModelTraitsInterface.

◆ GetNumberOfParameters()

ParametersSizeType mitk::ExpDecayOffsetModel::GetNumberOfParameters ( ) const
overridevirtual

Returns the number of parameters that must be defined when using the model to compute the signal (GetSignal()).

Returns
The number of model parameters.

Implements mitk::ModelTraitsInterface.

◆ GetNumberOfStaticParameters()

ParametersSizeType mitk::ExpDecayOffsetModel::GetNumberOfStaticParameters ( ) const
overridevirtual

Returns the number of static parameters.

Returns
The count of static parameters.

Implements mitk::ModelBase.

◆ GetParameterNames()

ParameterNamesType mitk::ExpDecayOffsetModel::GetParameterNames ( ) const
overridevirtual

Returns the names of parameters that must be defined when using the model to compute the signal (GetSignal()).

Returns
A vector of parameter name strings.

Implements mitk::ModelTraitsInterface.

◆ GetParameterUnits()

ParamterUnitMapType mitk::ExpDecayOffsetModel::GetParameterUnits ( ) const
overridevirtual

Returns the unit strings for all model parameters.

Returns
A map from parameter name to its unit string.

Implements mitk::ModelTraitsInterface.

◆ GetStaticParameterNames()

ParameterNamesType mitk::ExpDecayOffsetModel::GetStaticParameterNames ( ) const
overridevirtual

Returns the names of static parameters used when computing the signal.

Static parameters are not part of the fitting scope but configure the model.

Returns
A vector of static parameter names.

Implements mitk::ModelBase.

◆ GetStaticParameterValue()

StaticParameterValuesType mitk::ExpDecayOffsetModel::GetStaticParameterValue ( const ParameterNameType &  name) const
overrideprotectedvirtual

Retrieves a single static parameter value by name.

Helper function called by GetStaticParameters(). Must be implemented in derived classes.

Implements mitk::ModelBase.

◆ GetXAxisName()

std::string mitk::ExpDecayOffsetModel::GetXAxisName ( ) const
overridevirtual

Returns the display name of the x-axis (e.g. "Time").

Returns
The x-axis name string.

Implements mitk::ModelTraitsInterface.

◆ GetXAxisUnit()

std::string mitk::ExpDecayOffsetModel::GetXAxisUnit ( ) const
overridevirtual

Returns the unit of the x-axis (e.g. "s", "ms").

Returns
The x-axis unit string.

Implements mitk::ModelTraitsInterface.

◆ GetXName()

std::string mitk::ExpDecayOffsetModel::GetXName ( ) const
overridevirtual

Returns the name of the independent variable used by the model (e.g. "x").

Returns
The variable name string.

Implements mitk::ModelTraitsInterface.

◆ GetYAxisName()

std::string mitk::ExpDecayOffsetModel::GetYAxisName ( ) const
overridevirtual

Returns the display name of the y-axis (e.g. "Signal Intensity").

Returns
The y-axis name string.

Implements mitk::ModelTraitsInterface.

◆ GetYAxisUnit()

std::string mitk::ExpDecayOffsetModel::GetYAxisUnit ( ) const
overridevirtual

Returns the unit of the y-axis.

Returns
The y-axis unit string.

Implements mitk::ModelTraitsInterface.

◆ mitkCloneMacro()

mitk::ExpDecayOffsetModel::mitkCloneMacro ( ExpDecayOffsetModel  )
protected

◆ New()

static Pointer mitk::ExpDecayOffsetModel::New ( )
static

Method for creation through the object factory.

◆ SetStaticParameter()

void mitk::ExpDecayOffsetModel::SetStaticParameter ( const ParameterNameType &  name,
const StaticParameterValuesType &  values 
)
overrideprotectedvirtual

Sets a single static parameter by name.

Helper function called by SetStaticParameters(). Must be implemented in derived classes.

Implements mitk::ModelBase.

Member Data Documentation

◆ FUNCTION_STRING

const std::string mitk::ExpDecayOffsetModel::FUNCTION_STRING
static

Function string representation of the model equation.

Definition at line 86 of file mitkExpDecayOffsetModel.h.

◆ MODEL_DISPLAY_NAME

const std::string mitk::ExpDecayOffsetModel::MODEL_DISPLAY_NAME
static

Display name of this model.

Definition at line 80 of file mitkExpDecayOffsetModel.h.

◆ MODEL_TYPE

const std::string mitk::ExpDecayOffsetModel::MODEL_TYPE
static

Type category of this model.

Definition at line 83 of file mitkExpDecayOffsetModel.h.

◆ NAME_PARAMETER_k

const std::string mitk::ExpDecayOffsetModel::NAME_PARAMETER_k
static

Name string for the rate constant parameter.

Definition at line 55 of file mitkExpDecayOffsetModel.h.

◆ NAME_PARAMETER_y0

const std::string mitk::ExpDecayOffsetModel::NAME_PARAMETER_y0
static

Name string for the y-intercept parameter.

Definition at line 53 of file mitkExpDecayOffsetModel.h.

◆ NAME_PARAMETER_y_bl

const std::string mitk::ExpDecayOffsetModel::NAME_PARAMETER_y_bl
static

Name string for the baseline parameter.

Definition at line 57 of file mitkExpDecayOffsetModel.h.

◆ NUMBER_OF_PARAMETERS

const unsigned int mitk::ExpDecayOffsetModel::NUMBER_OF_PARAMETERS
static

Total number of model parameters (3).

Definition at line 60 of file mitkExpDecayOffsetModel.h.

◆ NUMBER_OF_STATIC_PARAMETERS

const unsigned int mitk::ExpDecayOffsetModel::NUMBER_OF_STATIC_PARAMETERS
static

Total number of static parameters (0).

Definition at line 77 of file mitkExpDecayOffsetModel.h.

◆ POSITION_PARAMETER_k

const unsigned int mitk::ExpDecayOffsetModel::POSITION_PARAMETER_k
static

Index position of rate constant in the parameter vector.

Definition at line 72 of file mitkExpDecayOffsetModel.h.

◆ POSITION_PARAMETER_y0

const unsigned int mitk::ExpDecayOffsetModel::POSITION_PARAMETER_y0
static

Index position of y-intercept in the parameter vector.

Definition at line 70 of file mitkExpDecayOffsetModel.h.

◆ POSITION_PARAMETER_y_bl

const unsigned int mitk::ExpDecayOffsetModel::POSITION_PARAMETER_y_bl
static

Index position of baseline in the parameter vector.

Definition at line 74 of file mitkExpDecayOffsetModel.h.

◆ UNIT_PARAMETER_k

const std::string mitk::ExpDecayOffsetModel::UNIT_PARAMETER_k
static

Unit of the rate constant parameter.

Definition at line 65 of file mitkExpDecayOffsetModel.h.

◆ UNIT_PARAMETER_y0

const std::string mitk::ExpDecayOffsetModel::UNIT_PARAMETER_y0
static

Unit of the y-intercept parameter.

Definition at line 63 of file mitkExpDecayOffsetModel.h.

◆ UNIT_PARAMETER_y_bl

const std::string mitk::ExpDecayOffsetModel::UNIT_PARAMETER_y_bl
static

Unit of the baseline parameter.

Definition at line 67 of file mitkExpDecayOffsetModel.h.

◆ X_AXIS_NAME

const std::string mitk::ExpDecayOffsetModel::X_AXIS_NAME
static

Display name for the x-axis.

Definition at line 92 of file mitkExpDecayOffsetModel.h.

◆ X_AXIS_UNIT

const std::string mitk::ExpDecayOffsetModel::X_AXIS_UNIT
static

Unit for the x-axis.

Definition at line 95 of file mitkExpDecayOffsetModel.h.

◆ X_NAME

const std::string mitk::ExpDecayOffsetModel::X_NAME
static

Name of the independent variable.

Definition at line 89 of file mitkExpDecayOffsetModel.h.

◆ Y_AXIS_NAME

const std::string mitk::ExpDecayOffsetModel::Y_AXIS_NAME
static

Display name for the y-axis.

Definition at line 98 of file mitkExpDecayOffsetModel.h.

◆ Y_AXIS_UNIT

const std::string mitk::ExpDecayOffsetModel::Y_AXIS_UNIT
static

Unit for the y-axis.

Definition at line 101 of file mitkExpDecayOffsetModel.h.


The documentation for this class was generated from the following file: