From aa09070f603beedebf93b648d86bb0c4f75bcd29 Mon Sep 17 00:00:00 2001 From: Julien Malik <julien.malik@c-s.fr> Date: Fri, 6 May 2011 16:18:27 +0200 Subject: [PATCH] ENH: replace direct use of MemoryPrintEstimator by integrated functionnality in StreamingFileWriter --- Classification/otbImageSVMClassifier.cxx | 27 ++++-------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/Classification/otbImageSVMClassifier.cxx b/Classification/otbImageSVMClassifier.cxx index e27defaa28..5fa624fc8c 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; } -- GitLab