Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkReducedChiSquareFitCostFunction.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 #include "mitkModelBase.h"
15 
17 {
18  MeasureType measure = 0.0;
19 
21 
23 
24  mitk::ModelBase::ParametersSizeType numberOfTimeSteps = (Superclass::GetModel()->GetTimeGrid()).GetSize();
25 
26 
27  double dt = 0.0;
28  for(SignalType::size_type i=0; i<signal.GetSize(); ++i)
29  {
30  if(i==0)
31  {
32  dt = grid(i+1) - grid(i);
33  }
34  else
35  {
36  dt = grid(i) - grid(i-1);
37  }
38 
39  measure += (m_Sample[i] - signal[i]) * (m_Sample[i] - signal[i]) * dt/m_Sample[i];
40  }
41 
42  measure = measure / (numberOfTimeSteps - numberOfParameters);
43 
44  return measure;
45 
46 
47 }
virtual const TimeGridType & GetTimeGrid()
MeasureType CalcMeasure(const ParametersType &parameters, const SignalType &signal) const override
virtual const ModelBase * GetModel()
itk::Array< double > TimeGridType
Definition: mitkModelBase.h:62
virtual ParametersSizeType GetNumberOfParameters() const =0
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65