|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
Implementation of the two-compartment exchange model (2CXM) for MR perfusion pharmacokinetics. More...
#include <mitkTwoCompartmentExchangeModel.h>


Public Types | |
| typedef TwoCompartmentExchangeModel | Self |
| typedef AIFBasedModelBase | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::AIFBasedModelBase | |
| typedef AIFBasedModelBase | Self |
| typedef ModelBase | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer< const Self > | ConstPointer |
| typedef itk::Array< double > | AterialInputFunctionType |
| Array type for the Arterial Input Function AIF(t). More... | |
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 |
| 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... | |
| 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... | |
Public Member Functions inherited from mitk::AIFBasedModelBase | |
| virtual const AterialInputFunctionType & | GetAterialInputFunctionValues () |
| Returns the currently set AIF concentration values. More... | |
| virtual const TimeGridType & | GetAterialInputFunctionTimeGrid () |
| Returns the currently set AIF time grid. More... | |
| virtual void | SetAterialInputFunctionValues (AterialInputFunctionType _arg) |
| Sets the AIF concentration values. More... | |
| virtual void | SetAterialInputFunctionTimeGrid (TimeGridType _arg) |
| Sets the AIF time grid. More... | |
| std::string | GetXAxisName () const override |
| Returns the X axis name ("Time"). More... | |
| std::string | GetXAxisUnit () const override |
| Returns the X axis unit ("s"). More... | |
| std::string | GetYAxisName () const override |
| Returns the Y axis name ("Concentration"). More... | |
| std::string | GetYAxisUnit () const override |
| Returns the Y axis unit ("mM"). More... | |
| const TimeGridType & | GetCurrentAterialInputFunctionTimeGrid () const |
| Returns the time grid currently used for the AIF. More... | |
| const AterialInputFunctionType | GetAterialInputFunction (TimeGridType currentTimeGrid) const |
| Returns the AIF values interpolated to the given time grid. More... | |
| ParameterNamesType | GetStaticParameterNames () const override |
| Returns the names of all static parameters (AIF, AIF time grid). More... | |
| ParametersSizeType | GetNumberOfStaticParameters () const override |
| Returns the number of static parameters (always 2). More... | |
| ParamterUnitMapType | GetStaticParameterUnits () const override |
| Returns the unit map for all static parameters. 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... | |
| DerivedParamterUnitMapType | GetDerivedParameterUnits () const override |
| Default implementation returns no unit string ("") for every defined derived parameter. 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... | |
| 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 ¶meters, 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 ¶meters) 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 ¶meters) 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_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 const std::string | MODEL_DISPLAY_NAME |
| static const std::string | MODEL_TYPE |
Static Public Attributes inherited from mitk::AIFBasedModelBase | |
| static const std::string | NAME_STATIC_PARAMETER_AIF |
| Name identifier for the AIF static parameter ("Arterial Input Function"). More... | |
| static const std::string | NAME_STATIC_PARAMETER_AIFTimeGrid |
| Name identifier for the AIF time grid static parameter. More... | |
| static const std::string | UNIT_STATIC_PARAMETER_AIF |
| Unit string for the AIF static parameter (mM). More... | |
| static const std::string | UNIT_STATIC_PARAMETER_AIFTimeGrid |
| Unit string for the AIF time grid static parameter (s). More... | |
| static const unsigned int | NUMBER_OF_STATIC_PARAMETERS |
| Number of static parameters (AIF values + AIF time grid = 2). More... | |
| static const std::string | X_AXIS_NAME |
| Display name for the X axis ("Time"). More... | |
| static const std::string | X_AXIS_UNIT |
| Unit for the X axis ("s"). More... | |
| static const std::string | Y_AXIS_NAME |
| Display name for the Y axis ("Concentration"). More... | |
| static const std::string | Y_AXIS_UNIT |
| Unit for the Y axis ("mM"). More... | |
Protected Member Functions | |
| TwoCompartmentExchangeModel () | |
| ~TwoCompartmentExchangeModel () override | |
| TwoCompartmentExchangeModel (const TwoCompartmentExchangeModel &source) | |
| mitkCloneMacro (TwoCompartmentExchangeModel) | |
| ModelResultType | ComputeModelfunction (const ParametersType ¶meters) const override |
| Computes the model function for the given parameters. More... | |
| void | PrintSelf (std::ostream &os, ::itk::Indent indent) const override |
Protected Member Functions inherited from mitk::AIFBasedModelBase | |
| AIFBasedModelBase () | |
| ~AIFBasedModelBase () override | |
| AIFBasedModelBase (const AIFBasedModelBase &source) | |
| 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 |
| 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 DerivedParameterMapType | ComputeDerivedParameters (const ParametersType ¶meters) 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::AIFBasedModelBase | |
| TimeGridType | m_AterialInputFunctionTimeGrid |
| AterialInputFunctionType | m_AterialInputFunctionValues |
Protected Attributes inherited from mitk::ModelBase | |
| TimeGridType | m_TimeGrid |
Implementation of the two-compartment exchange model (2CXM) for MR perfusion pharmacokinetics.
Calculates the concentration-time curve as a convolution of the arterial input function CA(t) and a tissue-specific residue function R(t) composed of plasma and interstitial contributions:
where vp = Vp/VT and fi = Vi/VT are the plasma and interstitial volume fractions respectively.
The residue functions involve eigenvalues l1, l2 computed from F/Vp, PS/Vp, vp, and fi. Fitted parameters: PS (permeability-surface area product per plasma volume), F/Vp (flow per plasma volume), vp (plasma volume fraction), fi (interstitial volume fraction).
Definition at line 39 of file mitkTwoCompartmentExchangeModel.h.
| typedef itk::SmartPointer< const Self > mitk::TwoCompartmentExchangeModel::ConstPointer |
Definition at line 46 of file mitkTwoCompartmentExchangeModel.h.
Definition at line 45 of file mitkTwoCompartmentExchangeModel.h.
Definition at line 43 of file mitkTwoCompartmentExchangeModel.h.
Definition at line 44 of file mitkTwoCompartmentExchangeModel.h.
|
protected |
|
overrideprotected |
|
protected |
| Pointer mitk::TwoCompartmentExchangeModel::Clone | ( | ) | const |
|
overrideprotectedvirtual |
Computes the model function for the given parameters.
Must be implemented by derived classes.
| parameters | The model parameters. |
Implements mitk::ModelBase.
|
virtual |
Run-time type information (and related methods).
Reimplemented from mitk::AIFBasedModelBase.
|
overridevirtual |
Default implementation returns GetClassID as display name.
Reimplemented from mitk::ModelBase.
|
overridevirtual |
Default implementation returns "Unknown" as model type.
Reimplemented from mitk::ModelBase.
|
overridevirtual |
Returns the number of parameters that must be defined when using the model to compute the signal (GetSignal()).
Implements mitk::ModelTraitsInterface.
|
overridevirtual |
Returns the names of parameters that must be defined when using the model to compute the signal (GetSignal()).
Implements mitk::ModelTraitsInterface.
|
overridevirtual |
Default implementation returns no unit string ("") for every defined parameter.
Reimplemented from mitk::ModelBase.
|
protected |
|
static |
Method for creation through the object factory.
|
overrideprotected |
|
static |
Definition at line 74 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 76 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Model Specifications
Definition at line 57 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 58 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 59 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 60 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 72 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 62 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 63 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 64 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 65 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 67 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 68 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 69 of file mitkTwoCompartmentExchangeModel.h.
|
static |
Definition at line 70 of file mitkTwoCompartmentExchangeModel.h.