Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkDummyModelFitFunctor.cpp
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 
14 
17 #include <chrono>
18 #include <mitkExceptionMacro.h>
19 
21 DummyModelFitFunctor(): m_DerivativeStepLength(1e-5)
22 {};
23 
26 {};
27 
31 {
32  ParameterNamesType names;
33  names.push_back("sum_diff^2");
34  return names;
35 };
36 
39 GetCriteria(const ModelBase* model, const ParametersType& parameters,
40  const SignalType& sample) const
41 {
44  metric->SetModel(model);
45  metric->SetSample(sample);
46 
48  result[0] = metric->GetValue(parameters);
49 
50  return result;
51 };
52 
54  const SignalType& value, const ModelBase* model) const
55 {
58  metric->SetModel(model);
59  metric->SetSample(value);
60  metric->SetDerivativeStepLength(m_DerivativeStepLength);
61 
62  mitk::MVModelFitCostFunction::Pointer result = metric.GetPointer();
63 
64  return result;
65 };
66 
69 DoModelFit(const SignalType& value, const ModelBase* model,
70  const ModelBase::ParametersType& initialParameters,
71  DebugParameterMapType& /*debugParameters*/) const
72 {
74 
75  MITK_INFO << "DEBUG signal: " << value;
76  MITK_INFO << "DEBUG time grid: " << model->GetTimeGrid();
77  MITK_INFO << "DEBUG model: " << model->GetSignal(initialParameters);
78  MITK_INFO << "DEBUG parameters: " << initialParameters;
79 
80  MITK_INFO << "DEBUG metric values: " << metric->GetValue(initialParameters);
81 
82  return initialParameters;
83 };
84 
87 {
89 };
virtual const TimeGridType & GetTimeGrid()
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
Definition: mitkModelBase.h:47
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
#define MITK_INFO
Definition: mitkLogMacros.h:18
std::map< std::string, ParameterImagePixelType > DebugParameterMapType
ModelBase::ParameterNamesType ParameterNamesType
Superclass::ParametersType ParametersType
ParameterNamesType DefineDebugParameterNames() const override
ModelResultType GetSignal(const ParametersType &parameters) const
Superclass::OutputPixelArrayType OutputPixelArrayType
ParametersType DoModelFit(const SignalType &value, const ModelBase *model, const ModelBase::ParametersType &initialParameters, DebugParameterMapType &debugParameters) const override
OutputPixelArrayType GetCriteria(const ModelBase *model, const ParametersType &parameters, const SignalType &sample) const override
ParameterNamesType GetCriterionNames() const override
Superclass::SignalType SignalType
virtual MVModelFitCostFunction::Pointer GenerateCostFunction(const SignalType &value, const ModelBase *model) const