| 235 | } |
| 236 | |
| 237 | void doFitting() |
| 238 | { |
| 239 | mitk::ParameterFitImageGeneratorBase::Pointer generator = nullptr; |
| 240 | mitk::modelFit::ModelFitInfo::Pointer fitSession = nullptr; |
| 241 | |
| 242 | ::itk::CStyleCommand::Pointer command = ::itk::CStyleCommand::New(); |
| 243 | command->SetCallback(onFitEvent); |
| 244 | |
| 245 | bool isLinearFactory = functionName == "Linear"; |
| 246 | |
| 247 | if (isLinearFactory) |
| 248 | { |
| 249 | std::cout << "Model: linear" << std::endl; |
| 250 | if (!roibased) |
| 251 | { |
| 252 | generateModelFit_PixelBased<mitk::LinearModelParameterizer>(fitSession, generator); |
| 253 | } |
| 254 | else |
| 255 | { |
| 256 | generateModelFit_ROIBased<mitk::LinearModelParameterizer>(fitSession, generator); |
| 257 | } |
| 258 | } |
| 259 | else |
| 260 | { |
| 261 | std::cout << "Model: generic (2 parameter)" << std::endl; |
| 262 | if (!roibased) |
| 263 | { |
| 264 | generateModelFit_PixelBased<mitk::GenericParamModelParameterizer>(fitSession, generator); |
| 265 | } |
| 266 | else |
| 267 | { |
| 268 | generateModelFit_ROIBased<mitk::GenericParamModelParameterizer>(fitSession, generator); |
| 269 | } |
| 270 | } |
| 271 | |
| 272 | if (generator.IsNotNull() ) |
| 273 | { |
| 274 | std::cout << "Started fitting process..." << std::endl; |
| 275 | generator->AddObserver(::itk::AnyEvent(), command); |
| 276 | generator->Generate(); |
| 277 | std::cout << std::endl << "Finished fitting process" << std::endl; |
| 278 | |
| 279 | mitk::storeModelFitGeneratorResults(outFileName, generator, fitSession); |
| 280 | } |
| 281 | else |
| 282 | { |
| 283 | mitkThrow() << "Fitting error! Could not initialize fitting job."; |
| 284 | } |
| 285 | } |
| 286 | |
| 287 | int main(int argc, char* argv[]) |
| 288 | { |
no test coverage detected