|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
Base class for all pharmacokinetic perfusion models that use an Arterial Input Function (AIF). More...
#include <mitkAIFBasedModelBase.h>


Public Types | |
| 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 | |
| virtual const char * | GetClassName () const |
| 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... | |
| ParamterUnitMapType | GetParameterUnits () const override |
| Default implementation returns no unit string ("") 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... | |
| 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... | |
| 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... | |
Public Member Functions inherited from mitk::ModelTraitsInterface | |
| virtual ParameterNamesType | GetParameterNames () const =0 |
| Returns the names of parameters that must be defined when using the model to compute the signal (GetSignal()). More... | |
| virtual ParametersSizeType | GetNumberOfParameters () const =0 |
| Returns the number of parameters that must be defined when using the model to compute the signal (GetSignal()). More... | |
Static Public Attributes | |
| 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 | |
| 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 ModelResultType | ComputeModelfunction (const ParametersType ¶meters) const =0 |
| Computes the model function for the given parameters. More... | |
| 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 () |
Protected Attributes | |
| TimeGridType | m_AterialInputFunctionTimeGrid |
| AterialInputFunctionType | m_AterialInputFunctionValues |
Protected Attributes inherited from mitk::ModelBase | |
| TimeGridType | m_TimeGrid |
Base class for all pharmacokinetic perfusion models that use an Arterial Input Function (AIF).
All AIF-based models require an array of AIF concentration values and the corresponding time grid AIF(t). This class provides accessors for setting the AIF values and optionally a dedicated AIF time grid. It also provides interpolation of the AIF to a specified time grid that differs from the AIF's own time grid.
The AIF must be set via an itk::Array. If no dedicated AIF time grid is specified, the model's own time grid is assumed (e.g. when the AIF is derived from the same data set being fitted). In that case, AIF values must have the same length as the model time grid; otherwise validation will fail.
Definition at line 38 of file mitkAIFBasedModelBase.h.
| typedef itk::Array<double> mitk::AIFBasedModelBase::AterialInputFunctionType |
Array type for the Arterial Input Function AIF(t).
Definition at line 77 of file mitkAIFBasedModelBase.h.
| typedef itk::SmartPointer< const Self > mitk::AIFBasedModelBase::ConstPointer |
Definition at line 45 of file mitkAIFBasedModelBase.h.
Definition at line 44 of file mitkAIFBasedModelBase.h.
Definition at line 42 of file mitkAIFBasedModelBase.h.
Definition at line 43 of file mitkAIFBasedModelBase.h.
|
protected |
|
overrideprotected |
|
protected |
| const AterialInputFunctionType mitk::AIFBasedModelBase::GetAterialInputFunction | ( | TimeGridType | currentTimeGrid | ) | const |
Returns the AIF values interpolated to the given time grid.
If currentTimeGrid is empty (size 0), the original uninterpolated AIF values are returned.
| [in] | currentTimeGrid | The time grid to interpolate the AIF onto. |
|
virtual |
Returns the currently set AIF time grid.
|
virtual |
Returns the currently set AIF concentration values.
|
virtual |
Run-time type information (and related methods).
Reimplemented from mitk::ModelBase.
Reimplemented in mitk::TwoTissueCompartmentModel, mitk::TwoTissueCompartmentFDGModel, mitk::TwoCompartmentExchangeModel, mitk::StandardToftsModel, mitk::OneTissueCompartmentModel, mitk::ExtendedToftsModel, and mitk::ExtendedOneTissueCompartmentModel.
| const TimeGridType& mitk::AIFBasedModelBase::GetCurrentAterialInputFunctionTimeGrid | ( | ) | const |
Returns the time grid currently used for the AIF.
If a dedicated AIF time grid has been set, it is returned. Otherwise the model's own time grid is returned.
|
overridevirtual |
Returns the number of static parameters (always 2).
Implements mitk::ModelBase.
|
overridevirtual |
Returns the names of all static parameters (AIF, AIF time grid).
Implements mitk::ModelBase.
|
overridevirtual |
Returns the unit map for all static parameters.
Reimplemented from mitk::ModelBase.
|
overrideprotectedvirtual |
Retrieves a single static parameter value by name.
Helper function called by GetStaticParameters(). Must be implemented in derived classes.
Implements mitk::ModelBase.
|
overridevirtual |
Returns the X axis name ("Time").
Reimplemented from mitk::ModelBase.
|
overridevirtual |
|
overridevirtual |
Returns the Y axis name ("Concentration").
Reimplemented from mitk::ModelBase.
|
overridevirtual |
|
overrideprotected |
|
virtual |
Sets the AIF time grid.
| [in] | _arg | Array of time points in seconds corresponding to the AIF values. |
|
virtual |
Sets the AIF concentration values.
| [in] | _arg | Array of AIF concentration values in mM. |
|
overrideprotectedvirtual |
Sets a single static parameter by name.
Helper function called by SetStaticParameters(). Must be implemented in derived classes.
Implements mitk::ModelBase.
|
overrideprotectedvirtual |
Reimplementation that checks if AIF and timegrid settings are valid.
| [out] | error | Set internally to indicate the error reason if method returns false. Is used by GetSignal() for the exception comment. |
Reimplemented from mitk::ModelBase.
|
protected |
Definition at line 153 of file mitkAIFBasedModelBase.h.
|
protected |
Definition at line 154 of file mitkAIFBasedModelBase.h.
|
static |
Name identifier for the AIF static parameter ("Arterial Input Function").
Definition at line 52 of file mitkAIFBasedModelBase.h.
|
static |
Name identifier for the AIF time grid static parameter.
Definition at line 54 of file mitkAIFBasedModelBase.h.
|
static |
Number of static parameters (AIF values + AIF time grid = 2).
Definition at line 62 of file mitkAIFBasedModelBase.h.
|
static |
Unit string for the AIF static parameter (mM).
Definition at line 57 of file mitkAIFBasedModelBase.h.
|
static |
Unit string for the AIF time grid static parameter (s).
Definition at line 59 of file mitkAIFBasedModelBase.h.
|
static |
Display name for the X axis ("Time").
Definition at line 65 of file mitkAIFBasedModelBase.h.
|
static |
Unit for the X axis ("s").
Definition at line 68 of file mitkAIFBasedModelBase.h.
|
static |
Display name for the Y axis ("Concentration").
Definition at line 71 of file mitkAIFBasedModelBase.h.
|
static |
Unit for the Y axis ("mM").
Definition at line 74 of file mitkAIFBasedModelBase.h.