From 44e004502619edfc9b1b08845aa96ba6606ce385 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Traizet?= <cedric.traizet@c-s.fr>
Date: Thu, 18 Apr 2019 17:18:12 +0200
Subject: [PATCH] DOC: more kmeans doc

---
 .../AppClassification/app/otbKMeansClassification.cxx    | 7 +++++--
 .../AppClassification/include/otbTrainSharkKMeans.hxx    | 9 +++++----
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
index 9284616399..aac361024a 100644
--- a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
@@ -77,7 +77,8 @@ protected:
     MandatoryOff("ts");
 
     AddParameter(ParameterType_Int, "maxit", "Maximum number of iterations");
-    SetParameterDescription("maxit", "Maximum number of iterations for the learning step.");
+    SetParameterDescription("maxit", "Maximum number of iterations for the learning step." 
+      " If this parameter is set to 0, the KMeans algorithm will not stop until convergence");
     SetDefaultParameterInt("maxit", 1000);
     MandatoryOff("maxit");
     
@@ -86,7 +87,9 @@ protected:
     "Group of parameters for centroids IO." );
 
     AddParameter(ParameterType_InputFilename, "centroids.in", "input centroids text file");
-    SetParameterDescription("centroids.in", "Input text file containing centroid posistions.");
+    SetParameterDescription("centroids.in", "Input text file containing centroid posistions used to initialize the algorithm."
+    " The file must contain one centroid per line, and each centroid value must be separated by a space. The number of"
+    " centroids in this file must match the number of classes (nc parameter).");
     MandatoryOff("centroids.in");
     
     ShareKMSamplingParameters();
diff --git a/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx b/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx
index 872391ee73..7abbbe7216 100644
--- a/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx
+++ b/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx
@@ -46,14 +46,15 @@ void LearningApplicationBase<TInputValue, TOutputValue>::InitSharkKMeansParams()
   SetParameterDescription("classifier.sharkkm.k", "The number of classes used for the kmeans algorithm. Default set to 2 class");
   SetMinimumParameterIntValue("classifier.sharkkm.k", 2);
 
-
+  // Centroid IO
   AddParameter( ParameterType_Group, "classifier.sharkkm.centroids", "Centroids IO parameters" );
   SetParameterDescription( "classifier.sharkkm.centroids", "Group of parameters for centroids IO." );
 
-
   // Input centroids
   AddParameter(ParameterType_InputFilename, "classifier.sharkkm.centroids.in", "User definied input centroids");
-  SetParameterDescription("classifier.sharkkm.centroids", "Text file containing input centroids.");
+  SetParameterDescription("classifier.sharkkm.centroids.in", "Input text file containing centroid posistions used to initialize the algorithm."
+    " The file must contain one centroid per line, and each centroid value must be separated by a space. The number of"
+    " centroids in this file must match the number of classes (classifier.sharkkm.k).");
   MandatoryOff("classifier.sharkkm.centroids");
 
   // Centroid statistics
@@ -62,7 +63,7 @@ void LearningApplicationBase<TInputValue, TOutputValue>::InitSharkKMeansParams()
     "and reduce the centroids before the KMeans algorithm, produced by ComputeImagesStatistics application.");
   MandatoryOff("classifier.sharkkm.centroids.stats");
   
-  // output centroids
+  // Output centroids
   AddParameter(ParameterType_OutputFilename, "classifier.sharkkm.centroids.out", "Output centroids text file");
   SetParameterDescription("classifier.sharkkm.centroids.out", "Output text file containing centroids after the kmean algorithm.");
   MandatoryOff("classifier.sharkkm.centroids.out");
-- 
GitLab