Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time grid of the signal and the parameters of the model.
A model has 3 types of parameters:
.
More...
#include <mitkModelBase.h>
Protected Member Functions | |
virtual ModelResultType | ComputeModelfunction (const ParametersType ¶meters) const =0 |
virtual bool | ValidateModel (std::string &error) const |
virtual DerivedParameterMapType | ComputeDerivedParameters (const ParametersType ¶meters) const |
virtual void | SetStaticParameter (const ParameterNameType &name, const StaticParameterValuesType &values)=0 |
virtual StaticParameterValuesType | GetStaticParameterValue (const ParameterNameType &name) const =0 |
ModelBase () | |
~ModelBase () override | |
void | PrintSelf (std::ostream &os, ::itk::Indent indent) const override |
![]() | |
ModelTraitsInterface () | |
virtual | ~ModelTraitsInterface () |
Protected Attributes | |
TimeGridType | m_TimeGrid |
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time grid of the signal and the parameters of the model.
A model has 3 types of parameters:
.
"Parameters" and "static parameters" are used to compute the signal of the model. "Parameters" are the ones that will be changed for/by model fitting. "Static parameters" are used to configure the model for fitting but are itself not part of the fitting scope (compare itk::Transform parameters and static parameters). "Derived parameters" are model specific parameters computed from "Parameters" e.g. (DerivedParam1 = Param1/Param2). It may be implemented if e.g. for practical usage not the fitted parameters are needed but derivation of them.
Definition at line 47 of file mitkModelBase.h.
typedef itk::SmartPointer< const Self > mitk::ModelBase::ConstPointer |
Definition at line 53 of file mitkModelBase.h.
typedef std::map<ParameterNameType, DerivedParameterValueType> mitk::ModelBase::DerivedParameterMapType |
Definition at line 75 of file mitkModelBase.h.
Definition at line 67 of file mitkModelBase.h.
Definition at line 68 of file mitkModelBase.h.
typedef double mitk::ModelBase::DerivedParameterValueType |
Definition at line 74 of file mitkModelBase.h.
Definition at line 55 of file mitkModelBase.h.
Definition at line 64 of file mitkModelBase.h.
Definition at line 63 of file mitkModelBase.h.
Definition at line 65 of file mitkModelBase.h.
Definition at line 59 of file mitkModelBase.h.
Definition at line 58 of file mitkModelBase.h.
typedef itk::SmartPointer< Self > mitk::ModelBase::Pointer |
Definition at line 52 of file mitkModelBase.h.
typedef ModelBase mitk::ModelBase::Self |
Definition at line 50 of file mitkModelBase.h.
typedef std::map<ParameterNameType, StaticParameterValuesType> mitk::ModelBase::StaticParameterMapType |
Definition at line 72 of file mitkModelBase.h.
typedef std::vector<StaticParameterValueType> mitk::ModelBase::StaticParameterValuesType |
Definition at line 71 of file mitkModelBase.h.
typedef double mitk::ModelBase::StaticParameterValueType |
Definition at line 70 of file mitkModelBase.h.
typedef itk::Object mitk::ModelBase::Superclass |
Definition at line 51 of file mitkModelBase.h.
typedef itk::Array<double> mitk::ModelBase::TimeGridType |
Type defining the time grid used be models.
Definition at line 62 of file mitkModelBase.h.
|
protected |
Definition at line 120 of file mitkModelBase.cpp.
|
overrideprotected |
Definition at line 124 of file mitkModelBase.cpp.
|
protectedvirtual |
Helper function called by GetDerivedParameters(). Implement in derived classes to realize the concrete computation of derived parameters.
Reimplemented in mitk::ThreeStepLinearModel, mitk::ExtendedToftsModel, mitk::StandardToftsModel, mitk::TestModel, and mitk::LinearModel.
Definition at line 261 of file mitkModelBase.cpp.
Referenced by GetDerivedParameters().
|
protectedpure virtual |
Implemented in mitk::NumericTwoCompartmentExchangeModel, mitk::ThreeStepLinearModel, mitk::DescriptivePharmacokineticBrixModel, mitk::TwoCompartmentExchangeModel, mitk::GenericParamModel, mitk::TestModel, mitk::ExtendedToftsModel, mitk::StandardToftsModel, mitk::NumericTwoTissueCompartmentModel, mitk::TwoTissueCompartmentModel, mitk::ExtendedOneTissueCompartmentModel, mitk::TwoTissueCompartmentFDGModel, mitk::OneTissueCompartmentModel, mitk::LinearModel, and mitk::T2DecayModel.
Referenced by GetSignal().
|
overridevirtual |
Default implementation the class name of the concrete instance as ID.
Implements mitk::ModelTraitsInterface.
Definition at line 90 of file mitkModelBase.cpp.
Referenced by GetModelDisplayName().
|
virtual |
Reimplemented in mitk::GenericParamModel, mitk::NumericTwoCompartmentExchangeModel, mitk::TwoCompartmentExchangeModel, mitk::AIFBasedModelBase, mitk::ExtendedOneTissueCompartmentModel, mitk::ExtendedToftsModel, mitk::OneTissueCompartmentModel, mitk::StandardToftsModel, mitk::T2DecayModel, mitk::TestModel, mitk::LinearModel, mitk::ThreeStepLinearModel, mitk::DescriptivePharmacokineticBrixModel, mitk::NumericTwoTissueCompartmentModel, mitk::TwoTissueCompartmentFDGModel, and mitk::TwoTissueCompartmentModel.
|
overridevirtual |
Returns the names of derived parameters that can/will be computed by the model given specific model parameters.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::ThreeStepLinearModel, mitk::TestModel, mitk::ExtendedToftsModel, and mitk::StandardToftsModel.
Definition at line 224 of file mitkModelBase.cpp.
Referenced by GetDerivedParameterScales(), and GetDerivedParameterUnits().
mitk::ModelBase::DerivedParameterMapType mitk::ModelBase::GetDerivedParameters | ( | const ParametersType & | parameters | ) | const |
Generic interface method that computes all derived parameters implemented for the given models. To changed the derived parameter computation. ComputeDerivedParameters must be (re)implemented.
parameters | The parameters of the model for which the derived parameters should be computed. It calls GetStaticParameter for every name defined in GetStaticParameterNames(). |
Definition at line 249 of file mitkModelBase.cpp.
References ComputeDerivedParameters(), and mitk::ModelTraitsInterface::GetNumberOfParameters().
Referenced by mitk::ModelFitFunctorBase::GetDerivedParameters().
|
overridevirtual |
Default implementation returns a scale of 1.0 for every defined derived parameter.
Implements mitk::ModelTraitsInterface.
Definition at line 47 of file mitkModelBase.cpp.
References GetDerivedParameterNames().
|
overridevirtual |
Default implementation returns no unit string ("") for every defined derived parameter.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::ThreeStepLinearModel, mitk::StandardToftsModel, and mitk::ExtendedToftsModel.
Definition at line 61 of file mitkModelBase.cpp.
References GetDerivedParameterNames().
|
overridevirtual |
Default implementation returns an empty functions string.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::ThreeStepLinearModel, mitk::TestModel, and mitk::T2DecayModel.
Definition at line 85 of file mitkModelBase.cpp.
|
overridevirtual |
Default implementation returns GetClassID as display name.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::NumericTwoCompartmentExchangeModel, mitk::TwoCompartmentExchangeModel, mitk::DescriptivePharmacokineticBrixModel, mitk::ThreeStepLinearModel, mitk::NumericTwoTissueCompartmentModel, mitk::TwoTissueCompartmentModel, mitk::ExtendedOneTissueCompartmentModel, mitk::ExtendedToftsModel, mitk::StandardToftsModel, mitk::TwoTissueCompartmentFDGModel, mitk::OneTissueCompartmentModel, mitk::TestModel, and mitk::T2DecayModel.
Definition at line 75 of file mitkModelBase.cpp.
References GetClassID().
|
overridevirtual |
Default implementation returns "Unkown" as model type.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::NumericTwoCompartmentExchangeModel, mitk::TwoCompartmentExchangeModel, mitk::DescriptivePharmacokineticBrixModel, mitk::ThreeStepLinearModel, mitk::NumericTwoTissueCompartmentModel, mitk::TwoTissueCompartmentModel, mitk::ExtendedOneTissueCompartmentModel, mitk::ExtendedToftsModel, mitk::StandardToftsModel, mitk::TwoTissueCompartmentFDGModel, mitk::OneTissueCompartmentModel, mitk::TestModel, and mitk::T2DecayModel.
Definition at line 80 of file mitkModelBase.cpp.
|
overridevirtual |
Returns the number of derived parameters that can/will be computed by the model given specific model parameters.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::ThreeStepLinearModel, mitk::TestModel, mitk::ExtendedToftsModel, and mitk::StandardToftsModel.
Definition at line 244 of file mitkModelBase.cpp.
Referenced by mitk::ModelFitFunctorBase::GetNumberOfOutputs().
|
pure virtual |
Returns the number of static parameters that will be used when using the model to compute the signal (but are not defined via GetSignal()).
Implemented in mitk::NumericTwoCompartmentExchangeModel, mitk::DescriptivePharmacokineticBrixModel, mitk::ThreeStepLinearModel, mitk::AIFBasedModelBase, mitk::GenericParamModel, mitk::TestModel, mitk::T2DecayModel, and mitk::LinearModel.
|
overridevirtual |
Default implementation returns a scale of 1.0 for every defined parameter.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::TestModel.
Definition at line 19 of file mitkModelBase.cpp.
References mitk::ModelTraitsInterface::GetParameterNames().
|
overridevirtual |
Default implementation returns no unit string ("") for every defined parameter.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::NumericTwoCompartmentExchangeModel, mitk::DescriptivePharmacokineticBrixModel, mitk::TwoCompartmentExchangeModel, mitk::ThreeStepLinearModel, mitk::NumericTwoTissueCompartmentModel, mitk::TwoTissueCompartmentModel, mitk::ExtendedOneTissueCompartmentModel, mitk::ExtendedToftsModel, mitk::StandardToftsModel, mitk::TwoTissueCompartmentFDGModel, mitk::OneTissueCompartmentModel, and mitk::TestModel.
Definition at line 33 of file mitkModelBase.cpp.
References mitk::ModelTraitsInterface::GetParameterNames().
mitk::ModelBase::ModelResultType mitk::ModelBase::GetSignal | ( | const ParametersType & | parameters | ) | const |
Definition at line 128 of file mitkModelBase.cpp.
References ComputeModelfunction(), mitk::ModelTraitsInterface::GetNumberOfParameters(), and ValidateModel().
Referenced by mitk::DummyModelFitFunctor::DoModelFit().
|
pure virtual |
Returns the names of static parameters that will be used when using the model to compute the signal (but are not defined via GetSignal()).
Implemented in mitk::NumericTwoCompartmentExchangeModel, mitk::DescriptivePharmacokineticBrixModel, mitk::ThreeStepLinearModel, mitk::AIFBasedModelBase, mitk::GenericParamModel, mitk::TestModel, mitk::T2DecayModel, and mitk::LinearModel.
Referenced by GetStaticParameters(), GetStaticParameterUnits(), and SetStaticParameters().
mitk::ModelBase::StaticParameterMapType mitk::ModelBase::GetStaticParameters | ( | ) | const |
Generic interface method that can be used to retrieve the static parameters of the model; e.g. in order to serialize the model settings. It calls GetStaticParameter for every name defined in GetStaticParameterNames().
Definition at line 210 of file mitkModelBase.cpp.
References GetStaticParameterNames(), and GetStaticParameterValue().
|
virtual |
Default implementation returns no unit string ("") for every defined parameter.
Reimplemented in mitk::DescriptivePharmacokineticBrixModel, and mitk::AIFBasedModelBase.
Definition at line 231 of file mitkModelBase.cpp.
References GetStaticParameterNames().
|
protectedpure virtual |
Helper function called by GetStaticParameters(). Implement in derived classes to realize the concrete retrieval of static parameters.
Implemented in mitk::ThreeStepLinearModel, mitk::NumericTwoCompartmentExchangeModel, mitk::DescriptivePharmacokineticBrixModel, mitk::AIFBasedModelBase, mitk::GenericParamModel, mitk::TestModel, mitk::LinearModel, and mitk::T2DecayModel.
Referenced by GetStaticParameters().
|
virtual |
Gets the time grid of the model. It indicates the time points correlated with the signal the modell should produce.
Referenced by mitk::ReducedChiSquareFitCostFunction::CalcMeasure(), mitk::ChiSquareFitCostFunction::CalcMeasure(), and mitk::DummyModelFitFunctor::DoModelFit().
|
overridevirtual |
Default implementation returns an empty string.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::DescriptivePharmacokineticBrixModel, mitk::AIFBasedModelBase, and mitk::TestModel.
Definition at line 100 of file mitkModelBase.cpp.
|
overridevirtual |
Default implementation returns an empty string.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::DescriptivePharmacokineticBrixModel, mitk::AIFBasedModelBase, and mitk::TestModel.
Definition at line 105 of file mitkModelBase.cpp.
|
overridevirtual |
Default implementation returns an empty string.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::ThreeStepLinearModel, mitk::TestModel, and mitk::T2DecayModel.
Definition at line 95 of file mitkModelBase.cpp.
|
overridevirtual |
Default implementation returns an empty string.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::DescriptivePharmacokineticBrixModel, mitk::AIFBasedModelBase, and mitk::TestModel.
Definition at line 110 of file mitkModelBase.cpp.
|
overridevirtual |
Default implementation returns an empty string.
Implements mitk::ModelTraitsInterface.
Reimplemented in mitk::DescriptivePharmacokineticBrixModel, mitk::AIFBasedModelBase, and mitk::TestModel.
Definition at line 115 of file mitkModelBase.cpp.
|
overrideprotected |
Definition at line 171 of file mitkModelBase.cpp.
References m_TimeGrid.
Referenced by mitk::AIFBasedModelBase::PrintSelf(), and mitk::DescriptivePharmacokineticBrixModel::PrintSelf().
|
protectedpure virtual |
Helper function called by SetStaticParameters(). Implement in derived classes to realize the concrete setting of static parameters.
Implemented in mitk::ThreeStepLinearModel, mitk::NumericTwoCompartmentExchangeModel, mitk::DescriptivePharmacokineticBrixModel, mitk::AIFBasedModelBase, mitk::GenericParamModel, mitk::TestModel, mitk::LinearModel, and mitk::T2DecayModel.
Referenced by SetStaticParameters().
void mitk::ModelBase::SetStaticParameters | ( | const StaticParameterMapType & | parameters, |
bool | allParameters = true |
||
) |
Generic interface method that can be used to set the static parameters of the model before it is used. It checks the validity of the passed map and uses SetStaticParameter to set the values.
parameters | The map with the static parameters and their values. |
allParameters | If true an exception will be thrown if the keys of passed parameters do not equal the return of GetStaticParameterNames. Thus if true, one must set all static parameters of the model. |
Definition at line 178 of file mitkModelBase.cpp.
References GetStaticParameterNames(), and SetStaticParameter().
|
virtual |
Sets the time grid of the model. It indicates the time points correlated with the signal the modell should produce.
Definition at line 155 of file mitkModelBase.cpp.
References m_TimeGrid.
|
protectedvirtual |
Member is called by GetSignal() before ComputeModelfunction(). It indicates if model is in a valid state and ready to compute the signal. The default implementation checks nothing and always returns true. Reimplement to realize special behavior for derived classes.
[out] | error | Set internally to indicate the error reason if method returns false. Is used by GetSignal() for the exception comment. |
Reimplemented in mitk::AIFBasedModelBase.
Definition at line 149 of file mitkModelBase.cpp.
Referenced by GetSignal(), and mitk::AIFBasedModelBase::ValidateModel().
|
protected |
Definition at line 203 of file mitkModelBase.h.
Referenced by mitk::ThreeStepLinearModel::ComputeDerivedParameters(), mitk::T2DecayModel::ComputeModelfunction(), mitk::LinearModel::ComputeModelfunction(), mitk::OneTissueCompartmentModel::ComputeModelfunction(), mitk::TwoTissueCompartmentFDGModel::ComputeModelfunction(), mitk::ExtendedOneTissueCompartmentModel::ComputeModelfunction(), mitk::TwoTissueCompartmentModel::ComputeModelfunction(), mitk::NumericTwoTissueCompartmentModel::ComputeModelfunction(), mitk::StandardToftsModel::ComputeModelfunction(), mitk::TestModel::ComputeModelfunction(), mitk::ExtendedToftsModel::ComputeModelfunction(), mitk::GenericParamModel::ComputeModelfunction(), mitk::TwoCompartmentExchangeModel::ComputeModelfunction(), mitk::DescriptivePharmacokineticBrixModel::ComputeModelfunction(), mitk::ThreeStepLinearModel::ComputeModelfunction(), mitk::NumericTwoCompartmentExchangeModel::ComputeModelfunction(), mitk::AIFBasedModelBase::GetCurrentAterialInputFunctionTimeGrid(), mitk::T2DecayModel::InternalClone(), mitk::LinearModel::InternalClone(), mitk::OneTissueCompartmentModel::InternalClone(), mitk::TwoTissueCompartmentFDGModel::InternalClone(), mitk::ExtendedOneTissueCompartmentModel::InternalClone(), mitk::TwoTissueCompartmentModel::InternalClone(), mitk::NumericTwoTissueCompartmentModel::InternalClone(), mitk::ExtendedToftsModel::InternalClone(), mitk::StandardToftsModel::InternalClone(), mitk::TestModel::InternalClone(), mitk::GenericParamModel::InternalClone(), mitk::TwoCompartmentExchangeModel::InternalClone(), mitk::DescriptivePharmacokineticBrixModel::InternalClone(), mitk::ThreeStepLinearModel::InternalClone(), mitk::NumericTwoCompartmentExchangeModel::InternalClone(), PrintSelf(), SetTimeGrid(), and mitk::AIFBasedModelBase::ValidateModel().