Medical Imaging Interaction Toolkit  2018.4.99-b585543d
Medical Imaging Interaction Toolkit
mitk::NumericTwoTissueCompartmentModel Class Reference

#include <mitkNumericTwoTissueCompartmentModel.h>

Inheritance diagram for mitk::NumericTwoTissueCompartmentModel:
Collaboration diagram for mitk::NumericTwoTissueCompartmentModel:

Public Types

typedef NumericTwoTissueCompartmentModel Self
 
typedef AIFBasedModelBase Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef std::vector< double > state_type
 
- 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_K1
 
static const std::string NAME_PARAMETER_k2
 
static const std::string NAME_PARAMETER_k3
 
static const std::string NAME_PARAMETER_k4
 
static const std::string NAME_PARAMETER_VB
 
static const std::string UNIT_PARAMETER_K1
 
static const std::string UNIT_PARAMETER_k2
 
static const std::string UNIT_PARAMETER_k3
 
static const std::string UNIT_PARAMETER_k4
 
static const std::string UNIT_PARAMETER_VB
 
static const unsigned int POSITION_PARAMETER_K1
 
static const unsigned int POSITION_PARAMETER_k2
 
static const unsigned int POSITION_PARAMETER_k3
 
static const unsigned int POSITION_PARAMETER_k4
 
static const unsigned int POSITION_PARAMETER_VB
 
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

 NumericTwoTissueCompartmentModel ()
 
 ~NumericTwoTissueCompartmentModel () 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

Definition at line 22 of file mitkNumericTwoTissueCompartmentModel.h.

Member Typedef Documentation

◆ ConstPointer

◆ Pointer

◆ Self

◆ state_type

Definition at line 36 of file mitkNumericTwoTissueCompartmentModel.h.

◆ Superclass

Constructor & Destructor Documentation

◆ NumericTwoTissueCompartmentModel()

mitk::NumericTwoTissueCompartmentModel::NumericTwoTissueCompartmentModel ( )
protected

Definition at line 55 of file mitkNumericTwoTissueCompartmentModel.cpp.

◆ ~NumericTwoTissueCompartmentModel()

mitk::NumericTwoTissueCompartmentModel::~NumericTwoTissueCompartmentModel ( )
overrideprotected

Definition at line 60 of file mitkNumericTwoTissueCompartmentModel.cpp.

Member Function Documentation

◆ Clone()

Pointer mitk::NumericTwoTissueCompartmentModel::Clone ( ) const

◆ ComputeModelfunction()

mitk::NumericTwoTissueCompartmentModel::ModelResultType mitk::NumericTwoTissueCompartmentModel::ComputeModelfunction ( const ParametersType parameters) const
overrideprotectedvirtual

Boost::numeric::odeint works with type std::vector<double> thus, aif and grid are converted to ModelParameters( of type std::vector)

Initialize class TwpTissueCompartmentModelDifferentialEquations defining the differential equations. AIF and Grid must be set so that at step t the aterial Concentration Ca(t) can be interpolated from AIF

Results of odeeint x[0] and x[1]

Stepsize. Should be adapted by stepper (runge_kutta_cash_karp54)

perform Step t -> t+dt to calculate approximate value x(t+dt)

transfom result of Differential equations back to itk::Array and interpolate to m_TimeGrid (they are calculated on a different grid defined by stepsize of odeint)

Implements mitk::ModelBase.

Definition at line 101 of file mitkNumericTwoTissueCompartmentModel.cpp.

References mitk::convertArrayToParameter(), mitk::convertParameterToArray(), mitk::AIFBasedModelBase::GetAterialInputFunction(), mitk::TwoTissueCompartmentModelDifferentialEquations::initialize(), mitk::InterpolateSignalToNewTimeGrid(), mitk::ModelBase::m_TimeGrid, POSITION_PARAMETER_K1, POSITION_PARAMETER_k2, POSITION_PARAMETER_k3, POSITION_PARAMETER_k4, POSITION_PARAMETER_VB, mitk::TwoTissueCompartmentModelDifferentialEquations::setAIF(), and mitk::TwoTissueCompartmentModelDifferentialEquations::setAIFTimeGrid().

◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from mitk::AIFBasedModelBase.

◆ GetModelDisplayName()

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

Default implementation returns GetClassID as display name.

Reimplemented from mitk::ModelBase.

Definition at line 45 of file mitkNumericTwoTissueCompartmentModel.cpp.

References MODEL_DISPLAY_NAME.

◆ GetModelType()

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

Default implementation returns "Unkown" as model type.

Reimplemented from mitk::ModelBase.

Definition at line 50 of file mitkNumericTwoTissueCompartmentModel.cpp.

◆ GetNumberOfParameters()

mitk::NumericTwoTissueCompartmentModel::ParametersSizeType mitk::NumericTwoTissueCompartmentModel::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 80 of file mitkNumericTwoTissueCompartmentModel.cpp.

References NUMBER_OF_PARAMETERS.

◆ GetParameterNames()

mitk::NumericTwoTissueCompartmentModel::ParameterNamesType mitk::NumericTwoTissueCompartmentModel::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 66 of file mitkNumericTwoTissueCompartmentModel.cpp.

References NAME_PARAMETER_K1, NAME_PARAMETER_k2, NAME_PARAMETER_k3, NAME_PARAMETER_k4, and NAME_PARAMETER_VB.

◆ GetParameterUnits()

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

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

Reimplemented from mitk::ModelBase.

Definition at line 86 of file mitkNumericTwoTissueCompartmentModel.cpp.

References NAME_PARAMETER_K1, NAME_PARAMETER_k2, NAME_PARAMETER_k3, NAME_PARAMETER_k4, NAME_PARAMETER_VB, UNIT_PARAMETER_K1, UNIT_PARAMETER_k2, UNIT_PARAMETER_k3, UNIT_PARAMETER_k4, and UNIT_PARAMETER_VB.

◆ InternalClone()

itk::LightObject::Pointer mitk::NumericTwoTissueCompartmentModel::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 198 of file mitkNumericTwoTissueCompartmentModel.cpp.

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

◆ New()

static Pointer mitk::NumericTwoTissueCompartmentModel::New ( )
static

Method for creation through the object factory.

Referenced by InternalClone().

◆ PrintSelf()

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

Member Data Documentation

◆ MODEL_DISPLAY_NAME

const std::string mitk::NumericTwoTissueCompartmentModel::MODEL_DISPLAY_NAME
static

Model Specifications

Definition at line 42 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetModelDisplayName().

◆ NAME_PARAMETER_K1

const std::string mitk::NumericTwoTissueCompartmentModel::NAME_PARAMETER_K1
static

Definition at line 44 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

◆ NAME_PARAMETER_k2

const std::string mitk::NumericTwoTissueCompartmentModel::NAME_PARAMETER_k2
static

Definition at line 45 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

◆ NAME_PARAMETER_k3

const std::string mitk::NumericTwoTissueCompartmentModel::NAME_PARAMETER_k3
static

Definition at line 46 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

◆ NAME_PARAMETER_k4

const std::string mitk::NumericTwoTissueCompartmentModel::NAME_PARAMETER_k4
static

Definition at line 47 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

◆ NAME_PARAMETER_VB

const std::string mitk::NumericTwoTissueCompartmentModel::NAME_PARAMETER_VB
static

Definition at line 48 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterNames(), and GetParameterUnits().

◆ NUMBER_OF_PARAMETERS

const unsigned int mitk::NumericTwoTissueCompartmentModel::NUMBER_OF_PARAMETERS
static

Definition at line 62 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetNumberOfParameters().

◆ POSITION_PARAMETER_K1

const unsigned int mitk::NumericTwoTissueCompartmentModel::POSITION_PARAMETER_K1
static

◆ POSITION_PARAMETER_k2

const unsigned int mitk::NumericTwoTissueCompartmentModel::POSITION_PARAMETER_k2
static

◆ POSITION_PARAMETER_k3

const unsigned int mitk::NumericTwoTissueCompartmentModel::POSITION_PARAMETER_k3
static

◆ POSITION_PARAMETER_k4

const unsigned int mitk::NumericTwoTissueCompartmentModel::POSITION_PARAMETER_k4
static

◆ POSITION_PARAMETER_VB

const unsigned int mitk::NumericTwoTissueCompartmentModel::POSITION_PARAMETER_VB
static

◆ UNIT_PARAMETER_K1

const std::string mitk::NumericTwoTissueCompartmentModel::UNIT_PARAMETER_K1
static

Definition at line 50 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterUnits().

◆ UNIT_PARAMETER_k2

const std::string mitk::NumericTwoTissueCompartmentModel::UNIT_PARAMETER_k2
static

Definition at line 51 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterUnits().

◆ UNIT_PARAMETER_k3

const std::string mitk::NumericTwoTissueCompartmentModel::UNIT_PARAMETER_k3
static

Definition at line 52 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterUnits().

◆ UNIT_PARAMETER_k4

const std::string mitk::NumericTwoTissueCompartmentModel::UNIT_PARAMETER_k4
static

Definition at line 53 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterUnits().

◆ UNIT_PARAMETER_VB

const std::string mitk::NumericTwoTissueCompartmentModel::UNIT_PARAMETER_VB
static

Definition at line 54 of file mitkNumericTwoTissueCompartmentModel.h.

Referenced by GetParameterUnits().


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