From a3cf131340c28fabfd3a025e56a89d17cb24d262 Mon Sep 17 00:00:00 2001
From: Antoine Regimbeau <antoine.regimbeau@c-s.fr>
Date: Tue, 16 Oct 2018 13:39:45 +0200
Subject: [PATCH] BUG: do not mix string and images value

---
 .../AppClassification/app/otbKMeansClassification.cxx     | 8 ++++----
 .../AppSegmentation/app/otbLargeScaleMeanShift.cxx        | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
index 2c0a7d65a7..d0a57ffa4b 100644
--- a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
@@ -259,11 +259,11 @@ protected:
     otbAppLogINFO("output model : " << GetInternalApplication("training")->GetParameterString("io.out"));
   }
 
-  void ComputeImageStatistics(const std::string &imageFileName,
+  void ComputeImageStatistics( ImageBaseType * img,
                                                const std::string &imagesStatsFileName)
   {
-    std::vector<std::string> imageFileNameList = {imageFileName};
-    GetInternalApplication("imgstats")->SetParameterStringList("il", imageFileNameList);
+    // std::vector<std::string> imageFileNameList = {imageFileName};
+    GetInternalApplication("imgstats")->SetParameterImageBase("il", img);
     GetInternalApplication("imgstats")->SetParameterString("out", imagesStatsFileName);
 
     ExecuteInternal( "imgstats" );
@@ -486,7 +486,7 @@ private:
                                         actualNBSamplesForKMeans);
 
     // Compute Images second order statistics
-    Superclass::ComputeImageStatistics(GetParameterString("in"), fileNames.imgStatOutput);
+    Superclass::ComputeImageStatistics(GetParameterImageBase("in"), fileNames.imgStatOutput);
 
     // Compute a train model with TrainVectorClassifier app
     Superclass::TrainKMModel(GetParameterImage("in"), fileNames.sampleOutput,
diff --git a/Modules/Applications/AppSegmentation/app/otbLargeScaleMeanShift.cxx b/Modules/Applications/AppSegmentation/app/otbLargeScaleMeanShift.cxx
index e97c862c2c..7a72e7f9a1 100644
--- a/Modules/Applications/AppSegmentation/app/otbLargeScaleMeanShift.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbLargeScaleMeanShift.cxx
@@ -191,13 +191,13 @@ private:
       if (IsParameterEnabled("mode.vector.imfield") &&
           HasValue("mode.vector.imfield"))
         {
-        GetInternalApplication("vectorization")->SetParameterString("in",
-          GetParameterString("mode.vector.imfield"));
+        GetInternalApplication("vectorization")->SetParameterInputImage("in",
+          GetParameterImage<ImageBaseType>("mode.vector.imfield"));
         }
       else
         {
-        GetInternalApplication("vectorization")->SetParameterString("in",
-          GetParameterString("in"));
+        GetInternalApplication("vectorization")->SetParameterInputImage("in",
+          GetParameterImage<ImageBaseType>("in"));
         }
       GetInternalApplication("vectorization")->SetParameterString("inseg",
         tmpFilenames[2]);
-- 
GitLab