diff --git a/Classification/otbImageSVMClassifier.cxx b/Classification/otbImageSVMClassifier.cxx index e27defaa289af3e54c0dce9757bfd119c34819aa..5fa624fc8cfcc9998e227609d33694268c14359d 100644 --- a/Classification/otbImageSVMClassifier.cxx +++ b/Classification/otbImageSVMClassifier.cxx @@ -26,7 +26,6 @@ #include "otbImageFileReader.h" #include "otbStreamingImageFileWriter.h" #include "otbChangeLabelImageFilter.h" -#include "otbPipelineMemoryPrintCalculator.h" #include "otbStandardWriterWatcher.h" // itk @@ -158,35 +157,17 @@ int ImageSVMClassifier::Execute(otb::ApplicationOptionsResult* parseResult) //-------------------------- // Save labeled Image WriterType::Pointer writer = WriterType::New(); + writer->SetInput(classificationFilter->GetOutput()); writer->SetFileName(parseResult->GetParameterString("OutputLabeledImage")); - - //Instantiate the pipeline memory print estimator - MemoryCalculatorType::Pointer calculator = MemoryCalculatorType::New(); - const double byteToMegabyte = 1./vcl_pow(2.0, 20); - + unsigned int ram = 256; if (parseResult->IsOptionPresent("AvailableMemory")) { - long long int memory = static_cast <long long int> (parseResult->GetParameterUInt("AvailableMemory")); - calculator->SetAvailableMemory(memory / byteToMegabyte); + ram = parseResult->GetParameterUInt("AvailableMemory"); } - else - { - calculator->SetAvailableMemory(256 * byteToMegabyte); - } - - calculator->SetDataToWrite(classificationFilter->GetOutput()); - calculator->Compute(); - - writer->SetTilingStreamDivisions(calculator->GetOptimalNumberOfStreamDivisions()); - - writer->SetInput(classificationFilter->GetOutput()); + writer->SetAutomaticTiledStreaming(ram); otb::StandardWriterWatcher watcher(writer,"Classification"); - writer->Update(); - - std::cout<<"Classification done ... "<<std::endl; - return EXIT_SUCCESS; }