50 return "Baseline if t<Time_point_1; Slope_1*t+Y_intercept_1 if Time_point_1<=t<=Time_point_2; Slope_2*t+Y_intercept_2 if Time_point_2<t";
96 result.push_back(
"AUC");
97 result.push_back(
"FinalTimePoint");
98 result.push_back(
"FinalUptake");
99 result.push_back(
"Smax");
100 result.push_back(
"y-intercept2");
101 result.push_back(
"y-intercept1");
116 result.insert(std::make_pair(
"AUC",
"I*s"));
117 result.insert(std::make_pair(
"FinalTimePoint",
"s"));
118 result.insert(std::make_pair(
"FinalUptake",
"I"));
119 result.insert(std::make_pair(
"Smax",
"I"));
120 result.insert(std::make_pair(
"y-intercept1",
"I"));
121 result.insert(std::make_pair(
"y-intercept2",
"I"));
140 double b1 = S0-a1*t1 ;
141 double b2 = (a1*t2+ b1) - (a2*t2);
145 TimeGridType::const_iterator timeGridEnd =
m_TimeGrid.end();
146 ModelResultType::iterator signalPos = signal.begin();
148 for (TimeGridType::const_iterator gridPos =
m_TimeGrid.begin(); gridPos != timeGridEnd; ++gridPos, ++signalPos)
154 else if ((*gridPos) >= t1 && (*gridPos) <=
t2)
156 *signalPos = a1*(*gridPos)+b1;
160 *signalPos = a2*(*gridPos)+b2;
204 unsigned int timeSteps =
m_TimeGrid.GetSize();
209 double b1 = S0-s1*tau;
210 double Smax = s1*tmax+b1;
211 double b2 = Smax-s2*tmax;
212 double AUC = s1/2*(tmax*tmax-tau*tau)
214 +s2/2*(Taq*Taq-tmax*tmax)
216 double Sfin = s2*Taq+b2;
220 result.insert(std::make_pair(
"AUC", AUC));
221 result.insert(std::make_pair(
"FinalTimePoint", Taq));
222 result.insert(std::make_pair(
"FinalUptake", Sfin));
223 result.insert(std::make_pair(
"Smax", Smax));
224 result.insert(std::make_pair(
"y-intercept1", b1));
225 result.insert(std::make_pair(
"y-intercept2", b2));
236 return newClone.GetPointer();
ParameterNamesType GetStaticParameterNames() const override
ParametersSizeType GetNumberOfDerivedParameters() const override
ParametersSizeType GetNumberOfParameters() const override
static const std::string NAME_PARAMETER_S0
ModelTraitsInterface::ParametersType ParametersType
static const std::string UNIT_PARAMETER_t1
static const unsigned int POSITION_PARAMETER_S0
std::string FunctionStringType
static const std::string NAME_PARAMETER_t2
ParametersSizeType GetNumberOfStaticParameters() const override
static const std::string UNIT_PARAMETER_t2
ModelResultType ComputeModelfunction(const ParametersType ¶meters) const override
ParamterUnitMapType GetParameterUnits() const override
StaticParameterValuesType GetStaticParameterValue(const ParameterNameType &name) const override
ParameterNamesType GetDerivedParameterNames() const override
static const unsigned int POSITION_PARAMETER_t1
std::string GetModelType() const override
static const std::string NAME_PARAMETER_a2
static const std::string UNIT_PARAMETER_a1
Superclass::ParametersSizeType ParametersSizeType
static const std::string NAME_PARAMETER_a1
std::vector< StaticParameterValueType > StaticParameterValuesType
static const std::string UNIT_PARAMETER_a2
std::map< ParameterNameType, DerivedParameterValueType > DerivedParameterMapType
ModelTraitsInterface::ModelResultType ModelResultType
std::string GetXName() const override
itk::LightObject::Pointer InternalClone() const override
ModelTraitsInterface::ParameterNameType ParameterNameType
DerivedParameterMapType ComputeDerivedParameters(const mitk::ModelBase::ParametersType ¶meters) const override
ModelTraitsInterface::ParameterNamesType ParameterNamesType
static const std::string UNIT_PARAMETER_S0
static const unsigned int NUMBER_OF_PARAMETERS
static const unsigned int POSITION_PARAMETER_t2
static const std::string MODEL_DISPLAY_NAME
FunctionStringType GetFunctionString() const override
static const unsigned int POSITION_PARAMETER_a1
std::map< ParameterNameType, std::string > ParamterUnitMapType
ParameterNamesType GetParameterNames() const override
void SetStaticParameter(const ParameterNameType &name, const StaticParameterValuesType &values) override
static const unsigned int POSITION_PARAMETER_a2
std::string GetModelDisplayName() const override
static const std::string NAME_PARAMETER_t1
ParamterUnitMapType GetDerivedParameterUnits() const override