| 13 | #include <mitkModelDataGenerationFunctor.h> |
| 14 | |
| 15 | mitk::SimpleFunctorBase::OutputPixelVectorType |
| 16 | mitk::ModelDataGenerationFunctor::Compute(const InputPixelVectorType &value) const { |
| 17 | if (this->m_ModelParameterizer->GetDefaultTimeGrid().GetSize() == 0) { |
| 18 | itkExceptionMacro("Error. Cannot compute SignalCurve. No time grid is set " |
| 19 | "in parameterizer!"); |
| 20 | } |
| 21 | |
| 22 | ModelParametersType parameters(value.size()); |
| 23 | |
| 24 | for (ModelParametersType::SizeValueType i = 0; i < parameters.Size(); ++i) { |
| 25 | parameters[i] = value[i]; |
| 26 | } |
| 27 | |
| 28 | ModelBase::Pointer model = |
| 29 | this->m_ModelParameterizer->GenerateParameterizedModel(); |
| 30 | SignalType signal = model->GetSignal(parameters); |
| 31 | |
| 32 | OutputPixelVectorType result; |
| 33 | |
| 34 | for (SignalType::const_iterator pos = signal.begin(); pos != signal.end(); |
| 35 | ++pos) { |
| 36 | result.push_back(*pos); |
| 37 | } |
| 38 | |
| 39 | return result; |
| 40 | }; |
| 41 | |
| 42 | unsigned int mitk::ModelDataGenerationFunctor::GetNumberOfOutputs() const { |
| 43 | if (m_ModelParameterizer.IsNotNull()) { |