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

Piecewise linear model with two segments joined at a transition point. More...

#include <mitkTwoStepLinearModel.h>

Inheritance diagram for mitk::TwoStepLinearModel:
Collaboration diagram for mitk::TwoStepLinearModel:

Public Types

typedef TwoStepLinearModel 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
 Default implementation returns no unit string ("") for every defined parameter. More...
 
ParameterNamesType GetDerivedParameterNames () const override
 Returns the names of derived parameters that can be computed by the model. More...
 
ParametersSizeType GetNumberOfDerivedParameters () const override
 Returns the number of derived parameters that can be computed by the model. More...
 
ParamterUnitMapType GetDerivedParameterUnits () const override
 Default implementation returns no unit string ("") for every defined derived parameter. 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
 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...
 
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...
 
- Public Member Functions inherited from mitk::ModelBase
ParamterScaleMapType GetParameterScales () const override
 Default implementation returns a scale of 1.0 for every defined parameter. More...
 
DerivedParamterScaleMapType GetDerivedParameterScales () const override
 Default implementation returns a scale of 1.0 for every defined derived parameter. More...
 
ModellClassIDType GetClassID () const override
 Default implementation returns the class name of the concrete instance as ID. More...
 
virtual ParamterUnitMapType GetStaticParameterUnits () const
 Default implementation returns no unit string ("") for every defined static parameter. 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
 
static const std::string NAME_PARAMETER_x0
 
static const std::string NAME_PARAMETER_b0
 
static const std::string NAME_PARAMETER_b1
 
static const unsigned int NUMBER_OF_PARAMETERS
 
static const std::string UNIT_PARAMETER_y0
 
static const std::string UNIT_PARAMETER_x0
 
static const std::string UNIT_PARAMETER_b0
 
static const std::string UNIT_PARAMETER_b1
 
static const unsigned int POSITION_PARAMETER_y0
 
static const unsigned int POSITION_PARAMETER_x0
 
static const unsigned int POSITION_PARAMETER_b0
 
static const unsigned int POSITION_PARAMETER_b1
 
static const std::string NAME_DERIVED_PARAMETER_auc
 
static const std::string NAME_DERIVED_PARAMETER_y_fin
 
static const std::string NAME_DERIVED_PARAMETER_y_max
 
static const std::string NAME_DERIVED_PARAMETER_y1
 
static const unsigned int NUMBER_OF_DERIVED_PARAMETERS
 
static const std::string UNIT_DERIVED_PARAMETER_auc
 
static const std::string UNIT_DERIVED_PARAMETER_y_fin
 
static const std::string UNIT_DERIVED_PARAMETER_y_max
 
static const std::string UNIT_DERIVED_PARAMETER_y1
 
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
 
static const std::string MODEL_DISPLAY_NAME
 
static const std::string MODEL_TYPE
 
static const std::string FUNCTION_STRING
 
static const std::string X_NAME
 
static const std::string X_AXIS_NAME
 
static const std::string X_AXIS_UNIT
 
static const std::string Y_AXIS_NAME
 
static const std::string Y_AXIS_UNIT
 

Protected Member Functions

 TwoStepLinearModel ()
 
virtual ~TwoStepLinearModel ()
 
 TwoStepLinearModel (const TwoStepLinearModel &source)
 
 mitkCloneMacro (TwoStepLinearModel)
 
ModelResultType ComputeModelfunction (const ParametersType &parameters) const override
 Computes the model function for the given parameters. More...
 
DerivedParameterMapType ComputeDerivedParameters (const mitk::ModelBase::ParametersType &parameters) const override
 Computes derived parameters from the given model 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...
 
 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 ()
 

Static Protected Member Functions

static double ComputeSignalFromParameters (double x, double t, double a1, double a2, double b1, double b2)
 

Additional Inherited Members

- Protected Attributes inherited from mitk::ModelBase
TimeGridType m_TimeGrid
 

Detailed Description

Piecewise linear model with two segments joined at a transition point.

The model defines two linear segments: y = y0 + b0*x for x <= x0, and y = y0 + b0*x0 + b1*(x - x0) for x > x0. Parameters are the initial value (y0), the transition point (x0), and the slopes of both segments (b0, b1). Derived parameters include AUC, y_fin, y_max, and y1.

See also
TwoStepLinearModelFactory, TwoStepLinearModelParameterizer, ModelBase

Definition at line 34 of file mitkTwoStepLinearModel.h.

Member Typedef Documentation

◆ ConstPointer

◆ ParameterNameType

typedef Superclass::ParameterNameType mitk::TwoStepLinearModel::ParameterNameType

Definition at line 43 of file mitkTwoStepLinearModel.h.

◆ ParametersSizeType

typedef Superclass::ParametersSizeType mitk::TwoStepLinearModel::ParametersSizeType

Definition at line 44 of file mitkTwoStepLinearModel.h.

◆ Pointer

◆ Self

◆ Superclass

Constructor & Destructor Documentation

◆ TwoStepLinearModel() [1/2]

mitk::TwoStepLinearModel::TwoStepLinearModel ( )
inlineprotected

Definition at line 135 of file mitkTwoStepLinearModel.h.

◆ ~TwoStepLinearModel()

virtual mitk::TwoStepLinearModel::~TwoStepLinearModel ( )
inlineprotectedvirtual

Definition at line 136 of file mitkTwoStepLinearModel.h.

◆ TwoStepLinearModel() [2/2]

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

Member Function Documentation

◆ Clone()

Pointer mitk::TwoStepLinearModel::Clone ( ) const

◆ ComputeDerivedParameters()

DerivedParameterMapType mitk::TwoStepLinearModel::ComputeDerivedParameters ( const mitk::ModelBase::ParametersType &  parameters) const
overrideprotectedvirtual

Computes derived parameters from the given model parameters.

Helper function called by GetDerivedParameters(). Implement in derived classes to realize the concrete computation of derived parameters.

Remarks
Default implementation has no derived parameters.

Reimplemented from mitk::ModelBase.

◆ ComputeModelfunction()

ModelResultType mitk::TwoStepLinearModel::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.

◆ ComputeSignalFromParameters()

static double mitk::TwoStepLinearModel::ComputeSignalFromParameters ( double  x,
double  t,
double  a1,
double  a2,
double  b1,
double  b2 
)
staticprotected

◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from mitk::ModelBase.

◆ GetDerivedParameterNames()

ParameterNamesType mitk::TwoStepLinearModel::GetDerivedParameterNames ( ) const
overridevirtual

Returns the names of derived parameters that can be computed by the model.

Remarks
Default implementation has no derived parameters.

Reimplemented from mitk::ModelBase.

◆ GetDerivedParameterUnits()

ParamterUnitMapType mitk::TwoStepLinearModel::GetDerivedParameterUnits ( ) const
overridevirtual

Default implementation returns no unit string ("") for every defined derived parameter.

Reimplemented from mitk::ModelBase.

◆ GetFunctionString()

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

Default implementation returns an empty function string.

Reimplemented from mitk::ModelBase.

◆ GetModelDisplayName()

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

Default implementation returns GetClassID as display name.

Reimplemented from mitk::ModelBase.

◆ GetModelType()

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

Default implementation returns "Unknown" as model type.

Reimplemented from mitk::ModelBase.

◆ GetNumberOfDerivedParameters()

ParametersSizeType mitk::TwoStepLinearModel::GetNumberOfDerivedParameters ( ) const
overridevirtual

Returns the number of derived parameters that can be computed by the model.

Remarks
Default implementation has no derived parameters.

Reimplemented from mitk::ModelBase.

◆ GetNumberOfParameters()

ParametersSizeType mitk::TwoStepLinearModel::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::TwoStepLinearModel::GetNumberOfStaticParameters ( ) const
overridevirtual

Returns the number of static parameters.

Returns
The count of static parameters.

Implements mitk::ModelBase.

◆ GetParameterNames()

ParameterNamesType mitk::TwoStepLinearModel::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::TwoStepLinearModel::GetParameterUnits ( ) const
overridevirtual

Default implementation returns no unit string ("") for every defined parameter.

Reimplemented from mitk::ModelBase.

◆ GetStaticParameterNames()

ParameterNamesType mitk::TwoStepLinearModel::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::TwoStepLinearModel::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::TwoStepLinearModel::GetXAxisName ( ) const
overridevirtual

Default implementation returns an empty string.

Reimplemented from mitk::ModelBase.

◆ GetXAxisUnit()

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

Default implementation returns an empty string.

Reimplemented from mitk::ModelBase.

◆ GetXName()

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

Default implementation returns an empty string.

Reimplemented from mitk::ModelBase.

◆ GetYAxisName()

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

Default implementation returns an empty string.

Reimplemented from mitk::ModelBase.

◆ GetYAxisUnit()

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

Default implementation returns an empty string.

Reimplemented from mitk::ModelBase.

◆ mitkCloneMacro()

mitk::TwoStepLinearModel::mitkCloneMacro ( TwoStepLinearModel  )
protected

◆ New()

static Pointer mitk::TwoStepLinearModel::New ( )
static

Method for creation through the object factory.

◆ SetStaticParameter()

void mitk::TwoStepLinearModel::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::TwoStepLinearModel::FUNCTION_STRING
static

Definition at line 88 of file mitkTwoStepLinearModel.h.

◆ MODEL_DISPLAY_NAME

const std::string mitk::TwoStepLinearModel::MODEL_DISPLAY_NAME
static

Definition at line 84 of file mitkTwoStepLinearModel.h.

◆ MODEL_TYPE

const std::string mitk::TwoStepLinearModel::MODEL_TYPE
static

Definition at line 86 of file mitkTwoStepLinearModel.h.

◆ NAME_DERIVED_PARAMETER_auc

const std::string mitk::TwoStepLinearModel::NAME_DERIVED_PARAMETER_auc
static

Definition at line 70 of file mitkTwoStepLinearModel.h.

◆ NAME_DERIVED_PARAMETER_y1

const std::string mitk::TwoStepLinearModel::NAME_DERIVED_PARAMETER_y1
static

Definition at line 73 of file mitkTwoStepLinearModel.h.

◆ NAME_DERIVED_PARAMETER_y_fin

const std::string mitk::TwoStepLinearModel::NAME_DERIVED_PARAMETER_y_fin
static

Definition at line 71 of file mitkTwoStepLinearModel.h.

◆ NAME_DERIVED_PARAMETER_y_max

const std::string mitk::TwoStepLinearModel::NAME_DERIVED_PARAMETER_y_max
static

Definition at line 72 of file mitkTwoStepLinearModel.h.

◆ NAME_PARAMETER_b0

const std::string mitk::TwoStepLinearModel::NAME_PARAMETER_b0
static

Definition at line 55 of file mitkTwoStepLinearModel.h.

◆ NAME_PARAMETER_b1

const std::string mitk::TwoStepLinearModel::NAME_PARAMETER_b1
static

Definition at line 56 of file mitkTwoStepLinearModel.h.

◆ NAME_PARAMETER_x0

const std::string mitk::TwoStepLinearModel::NAME_PARAMETER_x0
static

Definition at line 54 of file mitkTwoStepLinearModel.h.

◆ NAME_PARAMETER_y0

const std::string mitk::TwoStepLinearModel::NAME_PARAMETER_y0
static

Definition at line 53 of file mitkTwoStepLinearModel.h.

◆ NUMBER_OF_DERIVED_PARAMETERS

const unsigned int mitk::TwoStepLinearModel::NUMBER_OF_DERIVED_PARAMETERS
static

Definition at line 75 of file mitkTwoStepLinearModel.h.

◆ NUMBER_OF_PARAMETERS

const unsigned int mitk::TwoStepLinearModel::NUMBER_OF_PARAMETERS
static

Definition at line 58 of file mitkTwoStepLinearModel.h.

◆ NUMBER_OF_STATIC_PARAMETERS

const unsigned int mitk::TwoStepLinearModel::NUMBER_OF_STATIC_PARAMETERS
static

Definition at line 82 of file mitkTwoStepLinearModel.h.

◆ POSITION_PARAMETER_b0

const unsigned int mitk::TwoStepLinearModel::POSITION_PARAMETER_b0
static

Definition at line 67 of file mitkTwoStepLinearModel.h.

◆ POSITION_PARAMETER_b1

const unsigned int mitk::TwoStepLinearModel::POSITION_PARAMETER_b1
static

Definition at line 68 of file mitkTwoStepLinearModel.h.

◆ POSITION_PARAMETER_x0

const unsigned int mitk::TwoStepLinearModel::POSITION_PARAMETER_x0
static

Definition at line 66 of file mitkTwoStepLinearModel.h.

◆ POSITION_PARAMETER_y0

const unsigned int mitk::TwoStepLinearModel::POSITION_PARAMETER_y0
static

Definition at line 65 of file mitkTwoStepLinearModel.h.

◆ UNIT_DERIVED_PARAMETER_auc

const std::string mitk::TwoStepLinearModel::UNIT_DERIVED_PARAMETER_auc
static

Definition at line 77 of file mitkTwoStepLinearModel.h.

◆ UNIT_DERIVED_PARAMETER_y1

const std::string mitk::TwoStepLinearModel::UNIT_DERIVED_PARAMETER_y1
static

Definition at line 80 of file mitkTwoStepLinearModel.h.

◆ UNIT_DERIVED_PARAMETER_y_fin

const std::string mitk::TwoStepLinearModel::UNIT_DERIVED_PARAMETER_y_fin
static

Definition at line 78 of file mitkTwoStepLinearModel.h.

◆ UNIT_DERIVED_PARAMETER_y_max

const std::string mitk::TwoStepLinearModel::UNIT_DERIVED_PARAMETER_y_max
static

Definition at line 79 of file mitkTwoStepLinearModel.h.

◆ UNIT_PARAMETER_b0

const std::string mitk::TwoStepLinearModel::UNIT_PARAMETER_b0
static

Definition at line 62 of file mitkTwoStepLinearModel.h.

◆ UNIT_PARAMETER_b1

const std::string mitk::TwoStepLinearModel::UNIT_PARAMETER_b1
static

Definition at line 63 of file mitkTwoStepLinearModel.h.

◆ UNIT_PARAMETER_x0

const std::string mitk::TwoStepLinearModel::UNIT_PARAMETER_x0
static

Definition at line 61 of file mitkTwoStepLinearModel.h.

◆ UNIT_PARAMETER_y0

const std::string mitk::TwoStepLinearModel::UNIT_PARAMETER_y0
static

Definition at line 60 of file mitkTwoStepLinearModel.h.

◆ X_AXIS_NAME

const std::string mitk::TwoStepLinearModel::X_AXIS_NAME
static

Definition at line 92 of file mitkTwoStepLinearModel.h.

◆ X_AXIS_UNIT

const std::string mitk::TwoStepLinearModel::X_AXIS_UNIT
static

Definition at line 94 of file mitkTwoStepLinearModel.h.

◆ X_NAME

const std::string mitk::TwoStepLinearModel::X_NAME
static

Definition at line 90 of file mitkTwoStepLinearModel.h.

◆ Y_AXIS_NAME

const std::string mitk::TwoStepLinearModel::Y_AXIS_NAME
static

Definition at line 96 of file mitkTwoStepLinearModel.h.

◆ Y_AXIS_UNIT

const std::string mitk::TwoStepLinearModel::Y_AXIS_UNIT
static

Definition at line 98 of file mitkTwoStepLinearModel.h.


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