| 133 | } |
| 134 | |
| 135 | mitk::ModelBase::ModelResultType mitk::ModelBase::GetSignal(const ParametersType& parameters) const |
| 136 | { |
| 137 | if (parameters.size() != this->GetNumberOfParameters()) |
| 138 | { |
| 139 | itkExceptionMacro("Passed parameter set has wrong size for model. Cannot evaluate model. Required size: " |
| 140 | << this->GetNumberOfParameters() << "; passed parameters: " << parameters); |
| 141 | } |
| 142 | |
| 143 | std::string error; |
| 144 | |
| 145 | if (!ValidateModel(error)) |
| 146 | { |
| 147 | itkExceptionMacro("Cannot evaluate model and return signal. Model is in an invalid state. Validation error: " |
| 148 | << error); |
| 149 | } |
| 150 | |
| 151 | ModelResultType signal = ComputeModelfunction(parameters); |
| 152 | |
| 153 | return signal; |
| 154 | } |
| 155 | |
| 156 | bool mitk::ModelBase::ValidateModel(std::string& /*error*/) const |
| 157 | { |