Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkTestModel.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 
13 #include "mitkTestModel.h"
14 
17 {
18  ParamterScaleMapType result;
20 
21  for (ParameterNamesType::iterator pos = names.begin(); pos != names.end(); ++pos)
22  {
23  result.insert(std::make_pair(*pos, 2.0));
24  }
25 
26  return result;
27 };
28 
31 {
32  ParamterUnitMapType result;
34 
35  for (ParameterNamesType::iterator pos = names.begin(); pos != names.end(); ++pos)
36  {
37  result.insert(std::make_pair(*pos, "ParamUnit"));
38  }
39 
40  return result;
41 };
42 
44 {
45  return "Test Model 1";
46 };
47 
48 std::string mitk::TestModel::GetModelType() const
49 {
50  return "TestModels";
51 };
52 
54 {
55  return "slope*X+offset";
56 };
57 
58 std::string mitk::TestModel::GetXName() const
59 {
60  return "X";
61 };
62 
63 std::string mitk::TestModel::GetXAxisName() const
64 {
65  return "xAxis";
66 };
67 
68 std::string mitk::TestModel::GetXAxisUnit() const
69 {
70  return "mm";
71 };
72 
73 std::string mitk::TestModel::GetYAxisName() const
74 {
75  return "yAxis";
76 };
77 
78 std::string mitk::TestModel::GetYAxisUnit() const
79 {
80  return "s";
81 }
82 
85 {
86  ParameterNamesType result;
87  result.push_back("slope");
88  result.push_back("offset");
89  return result;
90 };
91 
94 {
95  return 2;
96 };
97 
100 {
101  ParameterNamesType result;
102  result.push_back("x-intercept");
103  return result;
104 };
105 
108 {
109  return 1;
110 };
111 
114 {
115  ModelResultType signal(m_TimeGrid.GetSize());
116 
117  TimeGridType::const_iterator timeGridEnd = m_TimeGrid.end();
118  ModelResultType::iterator signalPos = signal.begin();
119 
120  for (TimeGridType::const_iterator gridPos = m_TimeGrid.begin(); gridPos != timeGridEnd;
121  ++gridPos, ++signalPos)
122  {
123  *signalPos = parameters[0] * (*gridPos) + parameters[1];
124  }
125 
126  return signal;
127 };
128 
130 {
131  ParameterNamesType result;
132 
133  return result;
134 }
135 
137 {
138  return 0;
139 }
140 
142  const StaticParameterValuesType& /*values*/)
143 {
144  //do nothing
145 };
146 
148  const ParameterNameType& /*name*/) const
149 {
151 
152  //do nothing
153 
154  return result;
155 };
156 
158  const mitk::ModelBase::ParametersType& parameters) const
159 {
161  double intercept = -1 * parameters[1] / parameters[0];
162  result.insert(std::make_pair("x-intercept", intercept));
163  return result;
164 };
165 
166 itk::LightObject::Pointer mitk::TestModel::InternalClone() const
167 {
168  TestModel::Pointer newClone = TestModel::New();
169 
170  newClone->SetTimeGrid(this->m_TimeGrid);
171 
172  return newClone.GetPointer();
173 };
ParametersSizeType GetNumberOfStaticParameters() const override
std::string GetModelDisplayName() const override
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
TimeGridType m_TimeGrid
StaticParameterValuesType GetStaticParameterValue(const ParameterNameType &name) const override
DerivedParameterMapType ComputeDerivedParameters(const mitk::ModelBase::ParametersType &parameters) const override
std::map< ParameterNameType, double > ParamterScaleMapType
static Pointer New()
ModelResultType ComputeModelfunction(const ParametersType &parameters) const override
itk::LightObject::Pointer InternalClone() const override
std::string GetYAxisName() const override
ParameterNamesType GetStaticParameterNames() const override
std::string GetXAxisName() const override
std::string GetModelType() const override
FunctionStringType GetFunctionString() const override
ParametersSizeType GetNumberOfParameters() const override
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:71
std::map< ParameterNameType, DerivedParameterValueType > DerivedParameterMapType
Definition: mitkModelBase.h:75
ModelTraitsInterface::ModelResultType ModelResultType
Definition: mitkModelBase.h:55
ParamterUnitMapType GetParameterUnits() const override
ParameterNamesType GetDerivedParameterNames() const override
std::string GetXName() const override
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
std::string GetXAxisUnit() const override
void SetStaticParameter(const ParameterNameType &name, const StaticParameterValuesType &values) override
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
ParamterScaleMapType GetParameterScales() const override
Superclass::ParametersSizeType ParametersSizeType
Definition: mitkTestModel.h:34
std::string GetYAxisUnit() const override
ParametersSizeType GetNumberOfDerivedParameters() const override
std::map< ParameterNameType, std::string > ParamterUnitMapType
ParameterNamesType GetParameterNames() const override