92 itkExceptionMacro(
"No Time Grid Set! Cannot Calculate Signal");
99 unsigned int timeSteps = this->
m_TimeGrid.GetSize();
110 double lambda = k2+k3;
113 aterialInputFunction, lambda);
121 mitk::ModelBase::ModelResultType::const_iterator expPos = exp.begin();
122 mitk::ModelBase::ModelResultType::const_iterator CAPos = CA.begin();
123 AterialInputFunctionType::const_iterator aifPos = aterialInputFunction.begin();
125 for (mitk::ModelBase::ModelResultType::iterator signalPos = signal.begin();
126 signalPos != signal.end(); ++expPos, ++signalPos, ++aifPos)
128 double Ci = k1 * k2 /lambda *(*expPos) + k1*k3/lambda*(*CAPos);
129 *signalPos = VB * (*aifPos) + (1 - VB) * Ci;
145 return newClone.GetPointer();
ParametersSizeType GetNumberOfParameters() const override
std::string GetModelType() const override
std::string GetModelDisplayName() const override
ModelTraitsInterface::ParametersType ParametersType
static const std::string UNIT_PARAMETER_K1
TwoTissueCompartmentFDGModel()
static const std::string NAME_PARAMETER_k3
static const std::string NAME_PARAMETER_VB
void PrintSelf(std::ostream &os, ::itk::Indent indent) const override
itk::Array< double > convoluteAIFWithConstant(mitk::ModelBase::TimeGridType timeGrid, mitk::AIFBasedModelBase::AterialInputFunctionType aif, double constant)
const AterialInputFunctionType GetAterialInputFunction(TimeGridType currentTimeGrid) const
static const std::string NAME_PARAMETER_k2
itk::LightObject::Pointer InternalClone() const override
ModelTraitsInterface::ParametersSizeType ParametersSizeType
static const unsigned int NUMBER_OF_PARAMETERS
static const unsigned int POSITION_PARAMETER_k3
ModelTraitsInterface::ModelResultType ModelResultType
ParameterNamesType GetParameterNames() const override
static const unsigned int POSITION_PARAMETER_VB
static const std::string UNIT_PARAMETER_k3
itk::Array< double > AterialInputFunctionType
static const std::string UNIT_PARAMETER_VB
static const unsigned int POSITION_PARAMETER_k2
static const std::string UNIT_PARAMETER_k2
ModelTraitsInterface::ParameterNamesType ParameterNamesType
static const std::string MODEL_DISPLAY_NAME
static const std::string NAME_PARAMETER_K1
~TwoTissueCompartmentFDGModel() override
static const unsigned int POSITION_PARAMETER_K1
itk::Array< double > convoluteAIFWithExponential(mitk::ModelBase::TimeGridType timeGrid, mitk::AIFBasedModelBase::AterialInputFunctionType aif, double lambda)
void PrintSelf(std::ostream &os, ::itk::Indent indent) const override
std::map< ParameterNameType, std::string > ParamterUnitMapType
ModelResultType ComputeModelfunction(const ParametersType ¶meters) const override
ParamterUnitMapType GetParameterUnits() const override