Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkModelFactoryBase.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkModelFactoryBase_h
14 #define mitkModelFactoryBase_h
15 
16 #include <itkObject.h>
17 
18 #include <mitkModelBase.h>
21 #include <mitkModelFitInfo.h>
23 
24 #include <MitkModelFitExports.h>
25 
26 namespace mitk
27 {
39  class MITKMODELFIT_EXPORT ModelFactoryBase : public itk::Object, public ModelTraitsInterface
40  {
41  public:
42  /*typedef ModelFactoryBase Self;
43  typedef itk::Object Superclass;
44  typedef itk::SmartPointer< Self > Pointer;
45  typedef itk::SmartPointer< const Self > ConstPointer;
46 */
48 
51 
55 
60 
65 
70  virtual ModelBasePointer CreateModel() const = 0;
71 
79 
89 
95 
96  protected:
98  const = 0;
99 
101  ~ModelFactoryBase() override;
102 
103  private:
104 
105  //No copy constructor allowed
106  ModelFactoryBase(const Self& source);
107  void operator=(const Self&); //purposely not implemented
108  };
109 }
110 
111 #endif
#define MITKMODELFIT_EXPORT
Base class for (dynamic) models.
Definition: mitkModelBase.h:56
Abstract base class for model factories in the model fitting framework.
ModelTraitsInterface::ModellClassIDType ModellClassIDType
virtual ModelBasePointer CreateModel() const =0
Creates and returns a new instance of the model.
virtual ConstraintCheckerBase::Pointer CreateDefaultConstraints() const =0
Creates default constraints for the model fitting process.
ModelTraitsInterface::DerivedParamterUnitMapType DerivedParamterUnitMapType
ModelTraitsInterface::ParamterScaleMapType ParamterScaleMapType
ModelBaseType::Pointer ModelBasePointer
ModelParameterizerBase::Pointer CreateParameterizer(const modelFit::ModelFitInfo *fit) const
Creates a model parameterizer configured according to the given model fit info.
virtual ParametersType GetDefaultInitialParameterization() const =0
Returns the default initial parameterization defined by the model developer.
ModelTraitsInterface::ParameterNamesType ParameterNamesType
ModelTraitsInterface::DerivedParamterScaleMapType DerivedParamterScaleMapType
ModelTraitsInterface::DerivedParametersSizeType DerivedParametersSizeType
ModelTraitsInterface::FunctionStringType FunctionStringType
ModelTraitsInterface::DerivedParameterNamesType DerivedParameterNamesType
mitkClassMacroItkParent(ModelFactoryBase, itk::Object)
ModelTraitsInterface::ParamterUnitMapType ParamterUnitMapType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
~ModelFactoryBase() override
ModelTraitsInterface::ParameterNameType ParameterNameType
virtual ModelParameterizerBase::Pointer DoCreateParameterizer(const modelFit::ModelFitInfo *fit) const =0
Pure virtual interface that defines the traits (metadata) of a model used for fitting.
std::map< ParameterNameType, double > ParamterScaleMapType
Map type associating parameter names to their scaling factors.
std::string FunctionStringType
Type for the function string representation of the model.
ParametersType::SizeValueType ParametersSizeType
Type for the count of parameters.
ParametersSizeType DerivedParametersSizeType
Type for the count of derived parameters.
std::map< ParameterNameType, std::string > ParamterUnitMapType
Map type associating parameter names to their unit strings.
std::string ModellClassIDType
Type for the unique class identifier of the model.
itk::Array< ParameterValueType > ParametersType
Type representing a vector of parameter values.
std::string ParameterNameType
Type used for parameter names.
std::map< ParameterNameType, std::string > DerivedParamterUnitMapType
Map type associating derived parameter names to their unit strings.
std::map< ParameterNameType, double > DerivedParamterScaleMapType
Map type associating derived parameter names to their scaling factors.
ParameterNamesType DerivedParameterNamesType
Type for a list of derived parameter names.
std::vector< ParameterNameType > ParameterNamesType
Type for a list of parameter names.
Data class that stores all information about a model fit relevant to visualization.
Find image slices visible on a given plane.