12 #ifndef mitkAIFBasedModelBase_h
13 #define mitkAIFBasedModelBase_h
18 #include <itkArray2D.h>
82 itkGetConstReferenceMacro(AterialInputFunctionTimeGrid,
TimeGridType);
145 void PrintSelf(std::ostream& os, ::itk::Indent indent)
const override;
159 void operator=(
const Self&);
#define MITKPHARMACOKINETICS_EXPORT
Base class for all pharmacokinetic perfusion models that use an Arterial Input Function (AIF).
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
Number of static parameters (AIF values + AIF time grid = 2).
static const std::string NAME_STATIC_PARAMETER_AIFTimeGrid
Name identifier for the AIF time grid static parameter.
static const std::string UNIT_STATIC_PARAMETER_AIF
Unit string for the AIF static parameter (mM).
void SetStaticParameter(const ParameterNameType &name, const StaticParameterValuesType &values) override
Sets a single static parameter by name.
itk::SmartPointer< const Self > ConstPointer
itk::Array< double > AterialInputFunctionType
Array type for the Arterial Input Function AIF(t).
const AterialInputFunctionType GetAterialInputFunction(TimeGridType currentTimeGrid) const
Returns the AIF values interpolated to the given time grid.
const TimeGridType & GetCurrentAterialInputFunctionTimeGrid() const
Returns the time grid currently used for the AIF.
void PrintSelf(std::ostream &os, ::itk::Indent indent) const override
static const std::string X_AXIS_NAME
Display name for the X axis ("Time").
std::string GetXAxisName() const override
Returns the X axis name ("Time").
itk::SmartPointer< Self > Pointer
std::string GetYAxisName() const override
Returns the Y axis name ("Concentration").
static const std::string UNIT_STATIC_PARAMETER_AIFTimeGrid
Unit string for the AIF time grid static parameter (s).
ParamterUnitMapType GetStaticParameterUnits() const override
Returns the unit map for all static parameters.
static const std::string Y_AXIS_NAME
Display name for the Y axis ("Concentration").
bool ValidateModel(std::string &error) const override
StaticParameterValuesType GetStaticParameterValue(const ParameterNameType &name) const override
Retrieves a single static parameter value by name.
static const std::string Y_AXIS_UNIT
Unit for the Y axis ("mM").
static const std::string X_AXIS_UNIT
Unit for the X axis ("s").
std::string GetYAxisUnit() const override
Returns the Y axis unit ("mM").
ParametersSizeType GetNumberOfStaticParameters() const override
Returns the number of static parameters (always 2).
AIFBasedModelBase(const AIFBasedModelBase &source)
AterialInputFunctionType m_AterialInputFunctionValues
TimeGridType m_AterialInputFunctionTimeGrid
~AIFBasedModelBase() override
ParameterNamesType GetStaticParameterNames() const override
Returns the names of all static parameters (AIF, AIF time grid).
static const std::string NAME_STATIC_PARAMETER_AIF
Name identifier for the AIF static parameter ("Arterial Input Function").
std::string GetXAxisUnit() const override
Returns the X axis unit ("s").
Base class for (dynamic) models.
ModelTraitsInterface::ParametersSizeType ParametersSizeType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
std::vector< StaticParameterValueType > StaticParameterValuesType
ModelTraitsInterface::ParameterNameType ParameterNameType
itk::Array< double > TimeGridType
Type defining the time grid used by models.
std::map< ParameterNameType, std::string > ParamterUnitMapType
Map type associating parameter names to their unit strings.
Find image slices visible on a given plane.