From 0076217d5ea318d9356a631d978924cef0ba282b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Traizet?= <cedric.traizet@c-s.fr> Date: Wed, 17 Apr 2019 11:11:49 +0200 Subject: [PATCH] BUG: fix scale formula :1/stddev --- .../AppClassification/include/otbTrainSharkKMeans.hxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx b/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx index 4b10b50533..86cd23e519 100644 --- a/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx +++ b/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx @@ -52,7 +52,7 @@ void LearningApplicationBase<TInputValue, TOutputValue>::InitSharkKMeansParams() MandatoryOff("classifier.sharkkm.centroidstats"); // Number of classes - AddParameter(ParameterType_String, "classifier.sharkkm.centroids", "Number of classes for the kmeans algorithm"); + AddParameter(ParameterType_InputFilename, "classifier.sharkkm.centroids", "Number of classes for the kmeans algorithm"); SetParameterDescription("classifier.sharkkm.centroids", "The number of classes used for the kmeans algorithm. Default set to 2 class"); MandatoryOff("classifier.sharkkm.centroids"); } @@ -73,7 +73,7 @@ void LearningApplicationBase<TInputValue, TOutputValue>::TrainSharkKMeans( classifier->SetK( k ); // Initialize centroids from file - if(HasValue("classifier.sharkkm.centroids")) + if(IsParameterEnabled("classifier.sharkkm.centroids") && HasValue("classifier.sharkkm.centroids")) { shark::Data<shark::RealVector> centroidData; shark::importCSV(centroidData, GetParameterString( "classifier.sharkkm.centroids"), ' '); @@ -91,7 +91,7 @@ void LearningApplicationBase<TInputValue, TOutputValue>::TrainSharkKMeans( assert(meanMeasurementVector.Size()==stddevMeasurementVector.Size()); for (unsigned int i = 0; i<meanMeasurementVector.Size(); ++i) { - stddevMeasurementRV[i] = stddevMeasurementVector[i]; + stddevMeasurementRV[i] = 1/stddevMeasurementVector[i]; // Substract the normalized mean offsetRV[i] = - meanMeasurementVector[i]/stddevMeasurementVector[i]; } -- GitLab