Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkT2DecayModel.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 "mitkT2DecayModel.h"
14 
16 {
17  return "T2 Decay Model";
18 };
19 
21 {
22  return "MRSignal";
23 };
24 
26 {
27  return "M0 * exp(-t/T2)";
28 };
29 
30 std::string mitk::T2DecayModel::GetXName() const
31 {
32  return "t";
33 };
34 
37 {
38  ParameterNamesType result;
39  result.push_back("M0");
40  result.push_back("T2");
41  return result;
42 };
43 
46 {
47  return 2;
48 };
49 
52 {
53  ModelResultType signal(m_TimeGrid.GetSize());
54 
55  ModelResultType::iterator signalPos = signal.begin();
56 
57  for (const auto& gridPos : m_TimeGrid)
58  {
59  *signalPos = parameters[0] * exp(-1.0 * gridPos/ parameters[1]);
60  }
61 
62  return signal;
63 };
64 
66 {
67  ParameterNamesType result;
68 
69  return result;
70 }
71 
73 {
74  return 0;
75 }
76 
78  const StaticParameterValuesType& /*values*/)
79 {
80  //do nothing
81 };
82 
84  const ParameterNameType& /*name*/) const
85 {
87 
88  //do nothing
89 
90  return result;
91 };
92 
93 itk::LightObject::Pointer mitk::T2DecayModel::InternalClone() const
94 {
96 
97  newClone->SetTimeGrid(this->m_TimeGrid);
98 
99  return newClone.GetPointer();
100 };
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
TimeGridType m_TimeGrid
StaticParameterValuesType GetStaticParameterValue(const ParameterNameType &name) const override
itk::LightObject::Pointer InternalClone() const override
std::string GetModelType() const override
static Pointer New()
void SetStaticParameter(const ParameterNameType &name, const StaticParameterValuesType &values) override
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:71
ModelTraitsInterface::ModelResultType ModelResultType
Definition: mitkModelBase.h:55
ParametersSizeType GetNumberOfParameters() const override
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
ParameterNamesType GetStaticParameterNames() const override
FunctionStringType GetFunctionString() const override
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
ParametersSizeType GetNumberOfStaticParameters() const override
ParameterNamesType GetParameterNames() const override
ModelResultType ComputeModelfunction(const ParametersType &parameters) const override
Superclass::ParametersSizeType ParametersSizeType
std::string GetModelDisplayName() const override
std::string GetXName() const override