15 #include <vnl/algo/vnl_fft_1d.h> 41 return "Perfusion.MR";
89 result.push_back(
"kep");
103 result.insert(std::make_pair(
"kep",
"1/min"));
113 itkExceptionMacro(
"No Time Grid Set! Cannot Calculate Signal");
121 unsigned int timeSteps = this->
m_TimeGrid.GetSize();
129 double lambda = ktrans / ve;
132 aterialInputFunction, lambda);
138 mitk::ModelBase::ModelResultType::iterator signalPos = signal.begin();
139 mitk::ModelBase::ModelResultType::const_iterator res = convolution.begin();
142 for (AterialInputFunctionType::iterator Cp = aterialInputFunction.begin();
143 Cp != aterialInputFunction.end(); ++res, ++signalPos, ++Cp)
145 *signalPos = (*Cp) * vp + ktrans * (*res);
158 result.insert(std::make_pair(
"kep", kep));
168 return newClone.GetPointer();
void PrintSelf(std::ostream &os, ::itk::Indent indent) const override
static const std::string UNIT_PARAMETER_ve
static const std::string NAME_PARAMETER_Ktrans
ModelTraitsInterface::ParametersType ParametersType
Helper for itk implementation of vnl fourier transformation This namespace provides functions for the...
static const unsigned int POSITION_PARAMETER_ve
static const std::string UNIT_PARAMETER_vp
void PrintSelf(std::ostream &os, ::itk::Indent indent) const override
std::string GetModelDisplayName() const override
DerivedParameterMapType ComputeDerivedParameters(const mitk::ModelBase::ParametersType ¶meters) const override
static const unsigned int NUMBER_OF_PARAMETERS
const AterialInputFunctionType GetAterialInputFunction(TimeGridType currentTimeGrid) const
ParametersSizeType GetNumberOfDerivedParameters() const override
~ExtendedToftsModel() override
ModelResultType ComputeModelfunction(const ParametersType ¶meters) const override
ModelTraitsInterface::ParametersSizeType ParametersSizeType
static const std::string NAME_PARAMETER_ve
static const std::string UNIT_PARAMETER_Ktrans
static const std::string MODEL_DISPLAY_NAME
std::map< ParameterNameType, DerivedParameterValueType > DerivedParameterMapType
ModelTraitsInterface::ModelResultType ModelResultType
std::string GetModelType() const override
itk::Array< double > AterialInputFunctionType
static const unsigned int POSITION_PARAMETER_Ktrans
ParameterNamesType GetParameterNames() const override
ModelTraitsInterface::ParameterNamesType ParameterNamesType
ParamterUnitMapType GetParameterUnits() const override
itk::LightObject::Pointer InternalClone() const override
ParametersSizeType GetNumberOfParameters() const override
static const unsigned int POSITION_PARAMETER_vp
ParamterUnitMapType GetDerivedParameterUnits() const override
itk::Array< double > convoluteAIFWithExponential(mitk::ModelBase::TimeGridType timeGrid, mitk::AIFBasedModelBase::AterialInputFunctionType aif, double lambda)
static const std::string NAME_PARAMETER_vp
std::map< ParameterNameType, std::string > ParamterUnitMapType
ParameterNamesType GetDerivedParameterNames() const override