19 #include <itkArray2D.h> 20 #include <itkObject.h> 90 std::string GetModelDisplayName()
const override;
93 std::string GetModelType()
const override;
102 std::string GetXName()
const override;
105 std::string GetXAxisName()
const override;
108 std::string GetXAxisUnit()
const override;
111 std::string GetYAxisName()
const override;
114 std::string GetYAxisUnit()
const override;
118 virtual ParameterNamesType GetStaticParameterNames()
const = 0;
121 virtual ParametersSizeType GetNumberOfStaticParameters()
const = 0;
130 DerivedParameterNamesType GetDerivedParameterNames()
const override;
134 DerivedParametersSizeType GetNumberOfDerivedParameters()
const override;
145 void SetStaticParameters(
const StaticParameterMapType& parameters,
bool allParameters =
true);
150 StaticParameterMapType GetStaticParameters()
const;
158 DerivedParameterMapType GetDerivedParameters(
const ParametersType& parameters)
const;
163 virtual void SetTimeGrid(
const TimeGridType& grid);
167 itkGetConstReferenceMacro(TimeGrid, TimeGridType);
169 ModelResultType GetSignal(
const ParametersType& parameters)
const;
173 virtual ModelResultType ComputeModelfunction(
const ParametersType& parameters)
const = 0;
181 virtual bool ValidateModel(std::string& error)
const;
186 virtual DerivedParameterMapType ComputeDerivedParameters(
const ParametersType& parameters)
const;
190 virtual void SetStaticParameter(
const ParameterNameType& name,
191 const StaticParameterValuesType& values) = 0;
194 virtual StaticParameterValuesType GetStaticParameterValue(
const ParameterNameType& name)
const = 0;
199 void PrintSelf(std::ostream& os, ::itk::Indent indent)
const override;
209 void operator=(
const Self&);
213 #endif // MODELBASE_H itk::Array< double > ModelResultType
itk::SmartPointer< Self > Pointer
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
ModelTraitsInterface::ParametersType ParametersType
std::string FunctionStringType
std::map< ParameterNameType, double > DerivedParamterScaleMapType
double DerivedParameterValueType
std::map< ParameterNameType, StaticParameterValuesType > StaticParameterMapType
ParametersType::SizeValueType ParametersSizeType
std::map< ParameterNameType, double > ParamterScaleMapType
DataCollection - Class to facilitate loading/accessing structured data.
itk::Array< double > TimeGridType
#define MITKMODELFIT_EXPORT
itk::Array< ParameterValueType > ParametersType
std::vector< ParameterNameType > ParameterNamesType
ParameterNamesType DerivedParameterNamesType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
std::vector< StaticParameterValueType > StaticParameterValuesType
std::map< ParameterNameType, DerivedParameterValueType > DerivedParameterMapType
ModelTraitsInterface::ModelResultType ModelResultType
ModelTraitsInterface::ParameterValueType ParameterValueType
ModelTraitsInterface::DerivedParametersSizeType DerivedParametersSizeType
std::string ParameterNameType
ModelTraitsInterface::ParameterNameType ParameterNameType
std::string ModellClassIDType
double StaticParameterValueType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
double ParameterValueType
ParametersSizeType DerivedParametersSizeType
itk::SmartPointer< const Self > ConstPointer
std::map< ParameterNameType, std::string > ParamterUnitMapType
ModelTraitsInterface::DerivedParameterNamesType DerivedParameterNamesType
std::map< ParameterNameType, std::string > DerivedParamterUnitMapType