Medical Imaging Interaction Toolkit  2018.4.99-1bab67a2 Medical Imaging Interaction Toolkit
mitk::TwoCompartmentExchangeModel Class Reference

Implementation of the analystical model function of the Physiological Pharmacokinetic Brix model, using an Aterial Input Function The Model calculates the Concentration-Time-Curve as a convolution of the Aterial Input funciton CA(t) and a tissue specific residue function R(t). The Residue funktion consists of two parts: The Residue funktion Qp(t) of the Blood Plasma p and the residue funktion Qi(t) of the interstitial volume I. Ctotal(t) = vp * Cp(t) + fi * Ci(t) = [vp * Qp(t) + fi * Qi(t)] conv CA(t) = Qtotal(t) conv CA(t) where vp=Vp/VT and fi=Vi/VT are the portion of Plasma/interstitial volume Vp/VI of the total volume VT respectively. The Residuefunctions are described by Qp(t) = F/Vp * PS/Vp * 1/(l2 - l1) [ µ2 exp(l1*t) - µ1 exp(l2*t)] sig(t) Qi(t) = F/Vp * PS/Vi * 1/(l1 - l2) [ exp(l1*t) - exp(l2*t)] sig(t) = F/Vp * PS/Vp * vp/fi * 1/(l1 - l2) [ exp(l1*t) - exp(l2*t)] sig(t) with l1/2 = -1/2 (PS/Vp * vp/fi + PS/Vp + F/Vp) +/- sqrt((PS/Vp * vp/fi + PS/Vp + F/Vp)² - 4* F/Vp * PS/Vp * vp/fi) µ1/2 = F/Vp * Vp/PS + 1 + Vp/PS* l1/2. More...

#include <mitkTwoCompartmentExchangeModel.h>

Inheritance diagram for mitk::TwoCompartmentExchangeModel:
Collaboration diagram for mitk::TwoCompartmentExchangeModel:

## Public Types

typedef TwoCompartmentExchangeModel Self

typedef AIFBasedModelBase Superclass

typedef itk::SmartPointer< SelfPointer

typedef itk::SmartPointer< const SelfConstPointer

Public Types inherited from mitk::AIFBasedModelBase
typedef AIFBasedModelBase Self

typedef ModelBase Superclass

typedef itk::SmartPointer< SelfPointer

typedef itk::SmartPointer< const SelfConstPointer

typedef itk::Array< double > AterialInputFunctionType

Public Types inherited from mitk::ModelBase
typedef ModelBase Self

typedef itk::Object Superclass

typedef itk::SmartPointer< SelfPointer

typedef itk::SmartPointer< const SelfConstPointer

typedef ModelTraitsInterface::ModelResultType ModelResultType

typedef ModelTraitsInterface::ParameterValueType ParameterValueType

typedef ModelTraitsInterface::ParametersType ParametersType

typedef itk::Array< double > TimeGridType

typedef ModelTraitsInterface::ParameterNameType ParameterNameType

typedef ModelTraitsInterface::ParameterNamesType ParameterNamesType

typedef ModelTraitsInterface::DerivedParameterNamesType DerivedParameterNamesType

typedef double StaticParameterValueType

typedef std::vector< StaticParameterValueTypeStaticParameterValuesType

typedef std::map< ParameterNameType, StaticParameterValuesTypeStaticParameterMapType

typedef double DerivedParameterValueType

typedef std::map< ParameterNameType, DerivedParameterValueTypeDerivedParameterMapType

Public Types inherited from mitk::ModelTraitsInterface
typedef itk::Array< double > ModelResultType

using ParameterValueType = double

typedef itk::Array< ParameterValueTypeParametersType

typedef std::string ParameterNameType

typedef std::vector< ParameterNameTypeParameterNamesType

typedef ParameterNamesType DerivedParameterNamesType

typedef std::map< ParameterNameType, double > ParamterScaleMapType

typedef std::map< ParameterNameType, std::string > ParamterUnitMapType

typedef std::map< ParameterNameType, double > DerivedParamterScaleMapType

typedef std::map< ParameterNameType, std::string > DerivedParamterUnitMapType

typedef std::string FunctionStringType

typedef std::string ModellClassIDType

## Public Member Functions

Pointer Clone () const

virtual const char * GetClassName () const

std::string GetModelDisplayName () const override

std::string GetModelType () const override

ParameterNamesType GetParameterNames () const override

ParamterUnitMapType GetParameterUnits () const override

Public Member Functions inherited from mitk::AIFBasedModelBase
virtual const AterialInputFunctionTypeGetAterialInputFunctionValues ()

virtual const TimeGridTypeGetAterialInputFunctionTimeGrid ()

virtual void SetAterialInputFunctionValues (AterialInputFunctionType _arg)

virtual void SetAterialInputFunctionTimeGrid (TimeGridType _arg)

std::string GetXAxisName () const override

std::string GetXAxisUnit () const override

std::string GetYAxisName () const override

std::string GetYAxisUnit () const override

const TimeGridTypeGetCurrentAterialInputFunctionTimeGrid () const

const AterialInputFunctionType GetAterialInputFunction (TimeGridType currentTimeGrid) const

ParameterNamesType GetStaticParameterNames () const override

ParamterUnitMapType GetStaticParameterUnits () const override

Public Member Functions inherited from mitk::ModelBase
ParamterScaleMapType GetParameterScales () const override

DerivedParamterScaleMapType GetDerivedParameterScales () const override

DerivedParamterUnitMapType GetDerivedParameterUnits () const override

FunctionStringType GetFunctionString () const override

ModellClassIDType GetClassID () const override

std::string GetXName () const override

DerivedParameterNamesType GetDerivedParameterNames () const override

void SetStaticParameters (const StaticParameterMapType &parameters, bool allParameters=true)

StaticParameterMapType GetStaticParameters () const

DerivedParameterMapType GetDerivedParameters (const ParametersType &parameters) const

virtual void SetTimeGrid (const TimeGridType &grid)

virtual const TimeGridTypeGetTimeGrid ()

ModelResultType GetSignal (const ParametersType &parameters) const

## Static Public Member Functions

static Pointer New ()

## Static Public Attributes

static const std::string MODEL_DISPLAY_NAME

static const std::string NAME_PARAMETER_F

static const std::string NAME_PARAMETER_PS

static const std::string NAME_PARAMETER_ve

static const std::string NAME_PARAMETER_vp

static const unsigned int POSITION_PARAMETER_F

static const unsigned int POSITION_PARAMETER_PS

static const unsigned int POSITION_PARAMETER_ve

static const unsigned int POSITION_PARAMETER_vp

static const std::string UNIT_PARAMETER_F

static const std::string UNIT_PARAMETER_PS

static const std::string UNIT_PARAMETER_ve

static const std::string UNIT_PARAMETER_vp

static const unsigned int NUMBER_OF_PARAMETERS

Static Public Attributes inherited from mitk::AIFBasedModelBase
static const std::string NAME_STATIC_PARAMETER_AIF

static const std::string NAME_STATIC_PARAMETER_AIFTimeGrid

static const std::string UNIT_STATIC_PARAMETER_AIF

static const std::string UNIT_STATIC_PARAMETER_AIFTimeGrid

## Protected Member Functions

TwoCompartmentExchangeModel ()

~TwoCompartmentExchangeModel () override

itk::LightObject::Pointer InternalClone () const override

ModelResultType ComputeModelfunction (const ParametersType &parameters) const override

void PrintSelf (std::ostream &os, ::itk::Indent indent) const override

Protected Member Functions inherited from mitk::AIFBasedModelBase
AIFBasedModelBase ()

~AIFBasedModelBase () override

bool ValidateModel (std::string &error) const override

void PrintSelf (std::ostream &os, ::itk::Indent indent) const override

void SetStaticParameter (const ParameterNameType &name, const StaticParameterValuesType &values) override

StaticParameterValuesType GetStaticParameterValue (const ParameterNameType &name) const override

Protected Member Functions inherited from mitk::ModelBase
virtual DerivedParameterMapType ComputeDerivedParameters (const ParametersType &parameters) const

ModelBase ()

~ModelBase () override

void PrintSelf (std::ostream &os, ::itk::Indent indent) const override

Protected Member Functions inherited from mitk::ModelTraitsInterface
ModelTraitsInterface ()

virtual ~ModelTraitsInterface ()

Protected Attributes inherited from mitk::AIFBasedModelBase
TimeGridType m_AterialInputFunctionTimeGrid

AterialInputFunctionType m_AterialInputFunctionValues

Protected Attributes inherited from mitk::ModelBase
TimeGridType m_TimeGrid

## Detailed Description

Implementation of the analystical model function of the Physiological Pharmacokinetic Brix model, using an Aterial Input Function The Model calculates the Concentration-Time-Curve as a convolution of the Aterial Input funciton CA(t) and a tissue specific residue function R(t). The Residue funktion consists of two parts: The Residue funktion Qp(t) of the Blood Plasma p and the residue funktion Qi(t) of the interstitial volume I. Ctotal(t) = vp * Cp(t) + fi * Ci(t) = [vp * Qp(t) + fi * Qi(t)] conv CA(t) = Qtotal(t) conv CA(t) where vp=Vp/VT and fi=Vi/VT are the portion of Plasma/interstitial volume Vp/VI of the total volume VT respectively. The Residuefunctions are described by Qp(t) = F/Vp * PS/Vp * 1/(l2 - l1) [ µ2 exp(l1*t) - µ1 exp(l2*t)] sig(t) Qi(t) = F/Vp * PS/Vi * 1/(l1 - l2) [ exp(l1*t) - exp(l2*t)] sig(t) = F/Vp * PS/Vp * vp/fi * 1/(l1 - l2) [ exp(l1*t) - exp(l2*t)] sig(t) with l1/2 = -1/2 (PS/Vp * vp/fi + PS/Vp + F/Vp) +/- sqrt((PS/Vp * vp/fi + PS/Vp + F/Vp)² - 4* F/Vp * PS/Vp * vp/fi) µ1/2 = F/Vp * Vp/PS + 1 + Vp/PS* l1/2.

The parameters PS/Vp, F/Vp, vp and fi are subject to the fitting routine

Definition at line 40 of file mitkTwoCompartmentExchangeModel.h.

## ◆ ConstPointer

 typedef itk::SmartPointer< const Self > mitk::TwoCompartmentExchangeModel::ConstPointer

Definition at line 47 of file mitkTwoCompartmentExchangeModel.h.

## ◆ Pointer

Definition at line 46 of file mitkTwoCompartmentExchangeModel.h.

## ◆ Self

Definition at line 44 of file mitkTwoCompartmentExchangeModel.h.

## ◆ Superclass

Definition at line 45 of file mitkTwoCompartmentExchangeModel.h.

## ◆ TwoCompartmentExchangeModel()

 mitk::TwoCompartmentExchangeModel::TwoCompartmentExchangeModel ( )
protected

Definition at line 53 of file mitkTwoCompartmentExchangeModel.cpp.

## ◆ ~TwoCompartmentExchangeModel()

 mitk::TwoCompartmentExchangeModel::~TwoCompartmentExchangeModel ( )
overrideprotected

Definition at line 58 of file mitkTwoCompartmentExchangeModel.cpp.

## ◆ Clone()

 Pointer mitk::TwoCompartmentExchangeModel::Clone ( ) const

## ◆ ComputeModelfunction()

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

Implements mitk::ModelBase.

Definition at line 97 of file mitkTwoCompartmentExchangeModel.cpp.

## ◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from mitk::AIFBasedModelBase.

## ◆ GetModelDisplayName()

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

Default implementation returns GetClassID as display name.

Reimplemented from mitk::ModelBase.

Definition at line 43 of file mitkTwoCompartmentExchangeModel.cpp.

References MODEL_DISPLAY_NAME.

## ◆ GetModelType()

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

Default implementation returns "Unkown" as model type.

Reimplemented from mitk::ModelBase.

Definition at line 48 of file mitkTwoCompartmentExchangeModel.cpp.

## ◆ GetNumberOfParameters()

overridevirtual

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

Implements mitk::ModelTraitsInterface.

Definition at line 77 of file mitkTwoCompartmentExchangeModel.cpp.

References NUMBER_OF_PARAMETERS.

## ◆ GetParameterNames()

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

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

Implements mitk::ModelTraitsInterface.

Definition at line 64 of file mitkTwoCompartmentExchangeModel.cpp.

References NAME_PARAMETER_F, NAME_PARAMETER_PS, NAME_PARAMETER_ve, and NAME_PARAMETER_vp.

## ◆ GetParameterUnits()

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

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

Reimplemented from mitk::ModelBase.

Definition at line 83 of file mitkTwoCompartmentExchangeModel.cpp.

## ◆ InternalClone()

 itk::LightObject::Pointer mitk::TwoCompartmentExchangeModel::InternalClone ( ) const
overrideprotected

Actual implementation of the clone method. This method should be reimplemeted in subclasses to clone the extra required parameters.

Definition at line 164 of file mitkTwoCompartmentExchangeModel.cpp.

References mitk::ModelBase::m_TimeGrid, and New().

## ◆ New()

 static Pointer mitk::TwoCompartmentExchangeModel::New ( )
static

Method for creation through the object factory.

Referenced by InternalClone().

## ◆ PrintSelf()

 void mitk::TwoCompartmentExchangeModel::PrintSelf ( std::ostream & os, ::itk::Indent indent ) const
overrideprotected

## ◆ MODEL_DISPLAY_NAME

 const std::string mitk::TwoCompartmentExchangeModel::MODEL_DISPLAY_NAME
static

Model Specifications

Definition at line 54 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetModelDisplayName().

## ◆ NAME_PARAMETER_F

 const std::string mitk::TwoCompartmentExchangeModel::NAME_PARAMETER_F
static

Definition at line 59 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

## ◆ NAME_PARAMETER_PS

 const std::string mitk::TwoCompartmentExchangeModel::NAME_PARAMETER_PS
static

Definition at line 60 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

## ◆ NAME_PARAMETER_ve

 const std::string mitk::TwoCompartmentExchangeModel::NAME_PARAMETER_ve
static

Definition at line 61 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

## ◆ NAME_PARAMETER_vp

 const std::string mitk::TwoCompartmentExchangeModel::NAME_PARAMETER_vp
static

Definition at line 62 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

## ◆ NUMBER_OF_PARAMETERS

 const unsigned int mitk::TwoCompartmentExchangeModel::NUMBER_OF_PARAMETERS
static

Definition at line 74 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetNumberOfParameters().

## ◆ POSITION_PARAMETER_F

 const unsigned int mitk::TwoCompartmentExchangeModel::POSITION_PARAMETER_F
static

Definition at line 64 of file mitkTwoCompartmentExchangeModel.h.

## ◆ POSITION_PARAMETER_PS

 const unsigned int mitk::TwoCompartmentExchangeModel::POSITION_PARAMETER_PS
static

Definition at line 65 of file mitkTwoCompartmentExchangeModel.h.

## ◆ POSITION_PARAMETER_ve

 const unsigned int mitk::TwoCompartmentExchangeModel::POSITION_PARAMETER_ve
static

Definition at line 66 of file mitkTwoCompartmentExchangeModel.h.

## ◆ POSITION_PARAMETER_vp

 const unsigned int mitk::TwoCompartmentExchangeModel::POSITION_PARAMETER_vp
static

Definition at line 67 of file mitkTwoCompartmentExchangeModel.h.

## ◆ UNIT_PARAMETER_F

 const std::string mitk::TwoCompartmentExchangeModel::UNIT_PARAMETER_F
static

Definition at line 69 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetParameterUnits().

## ◆ UNIT_PARAMETER_PS

 const std::string mitk::TwoCompartmentExchangeModel::UNIT_PARAMETER_PS
static

Definition at line 70 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetParameterUnits().

## ◆ UNIT_PARAMETER_ve

 const std::string mitk::TwoCompartmentExchangeModel::UNIT_PARAMETER_ve
static

Definition at line 71 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetParameterUnits().

## ◆ UNIT_PARAMETER_vp

 const std::string mitk::TwoCompartmentExchangeModel::UNIT_PARAMETER_vp
static

Definition at line 72 of file mitkTwoCompartmentExchangeModel.h.

Referenced by GetParameterUnits().

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