Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::ModelFactoryBase Class Referenceabstract

Abstract base class for model factories in the model fitting framework. More...

#include <mitkModelFactoryBase.h>

Inheritance diagram for mitk::ModelFactoryBase:
Collaboration diagram for mitk::ModelFactoryBase:

Public Types

typedef ModelBase ModelBaseType
 
typedef ModelBaseType::Pointer ModelBasePointer
 
typedef ModelTraitsInterface::ParameterNameType ParameterNameType
 
typedef ModelTraitsInterface::ParameterNamesType ParameterNamesType
 
typedef ModelTraitsInterface::ParametersSizeType ParametersSizeType
 
typedef ModelTraitsInterface::ParamterScaleMapType ParamterScaleMapType
 
typedef ModelTraitsInterface::ParamterUnitMapType ParamterUnitMapType
 
typedef ModelTraitsInterface::FunctionStringType FunctionStringType
 
typedef ModelTraitsInterface::ModellClassIDType ModellClassIDType
 
typedef ModelTraitsInterface::DerivedParameterNamesType DerivedParameterNamesType
 
typedef ModelTraitsInterface::DerivedParametersSizeType DerivedParametersSizeType
 
typedef ModelTraitsInterface::DerivedParamterScaleMapType DerivedParamterScaleMapType
 
typedef ModelTraitsInterface::DerivedParamterUnitMapType DerivedParamterUnitMapType
 
- 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

 mitkClassMacroItkParent (ModelFactoryBase, itk::Object)
 
virtual ModelBasePointer CreateModel () const =0
 Creates and returns a new instance of the model. More...
 
ModelParameterizerBase::Pointer CreateParameterizer (const modelFit::ModelFitInfo *fit) const
 Creates a model parameterizer configured according to the given model fit info. More...
 
virtual ConstraintCheckerBase::Pointer CreateDefaultConstraints () const =0
 Creates default constraints for the model fitting process. More...
 
virtual ParametersType GetDefaultInitialParameterization () const =0
 Returns the default initial parameterization defined by the model developer. 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...
 
virtual ParamterScaleMapType GetParameterScales () const =0
 Returns the scaling factors for all model parameters. More...
 
virtual ParamterUnitMapType GetParameterUnits () const =0
 Returns the unit strings for all model parameters. More...
 
virtual DerivedParameterNamesType GetDerivedParameterNames () const =0
 Returns the names of derived parameters that can be computed by the model. More...
 
virtual DerivedParametersSizeType GetNumberOfDerivedParameters () const =0
 Returns the number of derived parameters that can be computed by the model. More...
 
virtual DerivedParamterScaleMapType GetDerivedParameterScales () const =0
 Returns the scaling factors for all derived parameters. More...
 
virtual DerivedParamterUnitMapType GetDerivedParameterUnits () const =0
 Returns the unit strings for all derived parameters. More...
 
virtual std::string GetModelDisplayName () const =0
 Returns the human-readable display name of the model. More...
 
virtual std::string GetModelType () const =0
 Returns the type/category string of the model (e.g. "Linear", "Pharmacokinetic"). More...
 
virtual FunctionStringType GetFunctionString () const =0
 Returns a parsable function string representing the model equation. More...
 
virtual ModellClassIDType GetClassID () const =0
 Returns the unique class identifier for this model type. More...
 
virtual std::string GetXName () const =0
 Returns the name of the independent variable used by the model (e.g. "x"). More...
 
virtual std::string GetXAxisName () const =0
 Returns the display name of the x-axis (e.g. "Time"). More...
 
virtual std::string GetXAxisUnit () const =0
 Returns the unit of the x-axis (e.g. "s", "ms"). More...
 
virtual std::string GetYAxisName () const =0
 Returns the display name of the y-axis (e.g. "Signal Intensity"). More...
 
virtual std::string GetYAxisUnit () const =0
 Returns the unit of the y-axis. More...
 

Protected Member Functions

virtual ModelParameterizerBase::Pointer DoCreateParameterizer (const modelFit::ModelFitInfo *fit) const =0
 
 ModelFactoryBase ()
 
 ~ModelFactoryBase () override
 
- Protected Member Functions inherited from mitk::ModelTraitsInterface
 ModelTraitsInterface ()
 
virtual ~ModelTraitsInterface ()
 

Detailed Description

Abstract base class for model factories in the model fitting framework.

A model factory is responsible for creating model instances, parameterizers, and default constraints. It also exposes the model traits through the ModelTraitsInterface. Derive from this class and implement the abstract member functions to create a factory for a specific model type.

See also
ConcreteModelFactoryBase, ModelBase, ModelParameterizerBase

Definition at line 39 of file mitkModelFactoryBase.h.

Member Typedef Documentation

◆ DerivedParameterNamesType

◆ DerivedParametersSizeType

◆ DerivedParamterScaleMapType

◆ DerivedParamterUnitMapType

◆ FunctionStringType

◆ ModelBasePointer

◆ ModelBaseType

◆ ModellClassIDType

◆ ParameterNamesType

◆ ParameterNameType

◆ ParametersSizeType

◆ ParamterScaleMapType

◆ ParamterUnitMapType

Constructor & Destructor Documentation

◆ ModelFactoryBase()

mitk::ModelFactoryBase::ModelFactoryBase ( )
protected

◆ ~ModelFactoryBase()

mitk::ModelFactoryBase::~ModelFactoryBase ( )
overrideprotected

Member Function Documentation

◆ CreateDefaultConstraints()

virtual ConstraintCheckerBase::Pointer mitk::ModelFactoryBase::CreateDefaultConstraints ( ) const
pure virtual

Creates default constraints for the model fitting process.

These constraints should/can be used for fitting if the user does not specify custom ones.

Returns
Pointer to the constraint checker for default constraints. May return a NULL pointer to indicate that the model has no constraints by default.

Implemented in mitk::TwoTissueCompartmentModelFactoryBase< TModelParameterizer >, mitk::TwoTissueCompartmentModelFactoryBase< TwoTissueCompartmentModelParameterizer >, mitk::TwoTissueCompartmentFDGModelFactory, mitk::TwoCompartmentExchangeModelFactoryBase< TModelParameterizer >, mitk::TwoCompartmentExchangeModelFactoryBase< TwoCompartmentExchangeModelParameterizer >, mitk::StandardToftsModelFactory, mitk::OneTissueCompartmentModelFactory, mitk::ExtendedToftsModelFactory, mitk::ExtendedOneTissueCompartmentModelFactory, mitk::ExponentialSaturationModelFactory, mitk::ExponentialDecayModelFactory, mitk::ConcreteModelFactoryBase< TModel >, mitk::ConcreteModelFactoryBase< GenericParamModel >, mitk::ConcreteModelFactoryBase< ExponentialSaturationModel >, mitk::ConcreteModelFactoryBase< LinearModel >, mitk::ConcreteModelFactoryBase< ThreeStepLinearModel >, mitk::ConcreteModelFactoryBase< TwoStepLinearModel >, mitk::ConcreteModelFactoryBase< ExponentialDecayModel >, mitk::ConcreteModelFactoryBase< TestModel >, mitk::ConcreteModelFactoryBase< DescriptivePharmacokineticBrixModel >, mitk::ConcreteModelFactoryBase< ExpDecayOffsetModel >, and mitk::ConcreteModelFactoryBase< TModelParameterizer::ModelType >.

◆ CreateModel()

◆ CreateParameterizer()

ModelParameterizerBase::Pointer mitk::ModelFactoryBase::CreateParameterizer ( const modelFit::ModelFitInfo *  fit) const

Creates a model parameterizer configured according to the given model fit info.

Parameters
[in]fitPointer to the model fit info describing the fit configuration.
Returns
Smart pointer to the configured parameterizer.
Precondition
fit must point to a valid instance.

◆ DoCreateParameterizer()

◆ GetDefaultInitialParameterization()

◆ mitkClassMacroItkParent()

mitk::ModelFactoryBase::mitkClassMacroItkParent ( ModelFactoryBase  ,
itk::Object   
)

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