From ca871c6e7dd8a49584e19c2f27b46ef101cb8c3f Mon Sep 17 00:00:00 2001
From: Ludovic Hussonnois <ludovic.hussonnois@c-s.fr>
Date: Fri, 10 Mar 2017 16:12:53 +0100
Subject: [PATCH] ENH: Change default initialization parameters.

---
 .../app/otbTrainImagesClassifier.cxx                 | 12 +-----------
 .../AppClassification/include/otbTrainImagesBase.txx |  1 +
 .../include/otbTrainSharkKMeans.txx                  |  4 ++--
 .../include/otbSharkKMeansMachineLearningModel.txx   |  2 +-
 4 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx b/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
index c2c539bf9c..3c1bada305 100644
--- a/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
@@ -68,19 +68,9 @@ public:
   {
     if( HasValue( "io.vd" ) && IsParameterEnabled( "io.vd" ))
       {
-      DisableParameter("sample.percent");
-      EnableParameter("sample.mv");
-      EnableParameter("sample.mt");
-      EnableParameter("sample.vfn");
       UpdatePolygonClassStatisticsParameters();
       }
-    else
-      {
-      EnableParameter("sample.percent");
-      DisableParameter("sample.mv");
-      DisableParameter("sample.mt");
-      DisableParameter("sample.vfn");
-      }
+
 
     // Change mandatory of input vector depending on supervised and unsupervised mode.
     if( HasValue( "classifier" ) )
diff --git a/Modules/Applications/AppClassification/include/otbTrainImagesBase.txx b/Modules/Applications/AppClassification/include/otbTrainImagesBase.txx
index dccd035766..e5fa9cc2bb 100644
--- a/Modules/Applications/AppClassification/include/otbTrainImagesBase.txx
+++ b/Modules/Applications/AppClassification/include/otbTrainImagesBase.txx
@@ -34,6 +34,7 @@ void TrainImagesBase::InitIO()
   SetParameterDescription( "io.il", "A list of input images." );
   AddParameter( ParameterType_InputVectorDataList, "io.vd", "Input Vector Data List" );
   SetParameterDescription( "io.vd", "A list of vector data to select the training samples." );
+  MandatoryOff( "io.vd" );
 
   AddParameter( ParameterType_Empty, "cleanup", "Temporary files cleaning" );
   EnableParameter( "cleanup" );
diff --git a/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.txx b/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.txx
index bd96fe3568..cc37d550b8 100644
--- a/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.txx
+++ b/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.txx
@@ -34,10 +34,10 @@ void LearningApplicationBase<TInputValue, TOutputValue>::InitSharkKMeansParams()
   //MaxNumberOfIterations
   AddParameter( ParameterType_Int, "classifier.sharkkm.nbmaxiter",
                 "Maximum number of iteration for the kmeans algorithm." );
-  SetParameterInt( "classifier.sharkkm.nbmaxiter", 0 );
+  SetParameterInt( "classifier.sharkkm.nbmaxiter", 10 );
   SetMinimumParameterIntValue( "classifier.sharkkm.nbmaxiter", 0 );
   SetParameterDescription( "classifier.sharkkm.nbmaxiter",
-                           "The maximum number of iteration for the kmeans algorithm. Default set to unlimited." );
+                           "The maximum number of iteration for the kmeans algorithm. 0=unlimited" );
 
   //MaxNumberOfIterations
   AddParameter( ParameterType_Int, "classifier.sharkkm.k", "The number of class used for the kmeans algorithm." );
diff --git a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.txx b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.txx
index 31560a2dd0..cec9724709 100644
--- a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.txx
+++ b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.txx
@@ -49,7 +49,7 @@ namespace otb
 template<class TInputValue, class TOutputValue>
 SharkKMeansMachineLearningModel<TInputValue, TOutputValue>
 ::SharkKMeansMachineLearningModel() :
-        m_Normalized( true ), m_K(2), m_MaximumNumberOfIterations( 0 )
+        m_Normalized( false ), m_K(2), m_MaximumNumberOfIterations( 10 )
 {
   // Default set HardClusteringModel
   m_ClusteringModel = boost::shared_ptr<ClusteringModelType>(new ClusteringModelType( &m_Centroids ));
-- 
GitLab