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::ParametersSizeType ParametersSizeType
 
typedef ModelTraitsInterface::DerivedParameterNamesType DerivedParameterNamesType
 
typedef ModelTraitsInterface::DerivedParametersSizeType DerivedParametersSizeType
 
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 ParametersType::SizeValueType ParametersSizeType
 
typedef ParameterNamesType DerivedParameterNamesType
 
typedef ParametersSizeType DerivedParametersSizeType
 
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
 
ParametersSizeType GetNumberOfParameters () 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
 
ParametersSizeType GetNumberOfStaticParameters () 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
 
DerivedParametersSizeType GetNumberOfDerivedParameters () 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 ()
 

Additional Inherited Members

- 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.

Member Typedef Documentation

◆ ConstPointer

◆ Pointer

◆ Self

◆ Superclass

Constructor & Destructor Documentation

◆ 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.

Member Function Documentation

◆ Clone()

Pointer mitk::TwoCompartmentExchangeModel::Clone ( ) const

◆ ComputeModelfunction()

◆ 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()

mitk::TwoCompartmentExchangeModel::ParametersSizeType mitk::TwoCompartmentExchangeModel::GetNumberOfParameters ( ) const
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.

References NAME_PARAMETER_F, NAME_PARAMETER_PS, NAME_PARAMETER_ve, NAME_PARAMETER_vp, UNIT_PARAMETER_F, UNIT_PARAMETER_PS, UNIT_PARAMETER_ve, and UNIT_PARAMETER_vp.

◆ 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

Member Data Documentation

◆ 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

◆ POSITION_PARAMETER_PS

const unsigned int mitk::TwoCompartmentExchangeModel::POSITION_PARAMETER_PS
static

◆ POSITION_PARAMETER_ve

const unsigned int mitk::TwoCompartmentExchangeModel::POSITION_PARAMETER_ve
static

◆ POSITION_PARAMETER_vp

const unsigned int mitk::TwoCompartmentExchangeModel::POSITION_PARAMETER_vp
static

◆ 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: