From 88488484e305dbd29fbf9b7adeca0f9f5cabc8ad Mon Sep 17 00:00:00 2001 From: OTB Bot <otbbot@orfeo-toolbox.org> Date: Wed, 20 Mar 2013 19:57:48 +0100 Subject: [PATCH] STYLE --- ...tbTrainMachineLearningImagesClassifier.cxx | 296 +++++++++--------- .../OpenCV/otbBoostMachineLearningModel.h | 2 +- ...otbKNearestNeighborsMachineLearningModel.h | 2 +- .../OpenCV/otbLibSVMMachineLearningModel.h | 2 +- .../OpenCV/otbMachineLearningModel.txx | 4 +- .../OpenCV/otbMachineLearningUtils.cxx | 2 +- .../UtilitiesAdapters/OpenCV/otbOpenCVUtils.h | 80 ++--- .../otbRandomForestsMachineLearningModel.h | 2 +- .../otbRandomForestsMachineLearningModel.txx | 6 +- .../OpenCV/otbSVMMachineLearningModel.h | 2 +- .../OpenCV/otbSVMMachineLearningModel.txx | 12 +- 11 files changed, 205 insertions(+), 205 deletions(-) diff --git a/Applications/Classification/otbTrainMachineLearningImagesClassifier.cxx b/Applications/Classification/otbTrainMachineLearningImagesClassifier.cxx index a2fb527152..c03515a87d 100644 --- a/Applications/Classification/otbTrainMachineLearningImagesClassifier.cxx +++ b/Applications/Classification/otbTrainMachineLearningImagesClassifier.cxx @@ -185,10 +185,10 @@ private: AddParameter(ParameterType_Choice, "classifier", "Classifier to used."); - SetParameterDescription("classifier", "Choice of the classifier to used."); + SetParameterDescription("classifier", "Choice of the classifier to used."); - //Group LibSVM - AddChoice("classifier.libsvm", "LibSVM classifier"); + //Group LibSVM + AddChoice("classifier.libsvm", "LibSVM classifier"); //AddParameter(ParameterType_Group,"libsvm","LibSVM classifier parameters"); SetParameterDescription("classifier.libsvm","This group of parameters allows to set SVM classifier parameters."); AddParameter(ParameterType_Choice, "classifier.libsvm.k", "SVM Kernel Type"); @@ -207,41 +207,41 @@ private: //Group SVM (openCV) AddChoice("classifier.svm", "SVM classifier (OpenCV)"); - //AddParameter(ParameterType_Group,"svm","SVM classifier parameters (OpenCV)"); - SetParameterDescription("classifier.svm","This group of parameters allows to set SVM classifier parameters."); - AddParameter(ParameterType_Choice, "classifier.svm.m", "SVM Model Type"); - AddChoice("classifier.svm.m.csvc", "C support vector classification"); - AddChoice("classifier.svm.m.nusvc", "Nu support vector classification"); - AddChoice("classifier.svm.m.oneclass", "Distribution estimation (One Class SVM)"); - AddChoice("classifier.svm.m.epssvr", "Epsilon Support Vector Regression"); - AddChoice("classifier.svm.m.nusvr", "Nu Support Vector Regression"); - SetParameterString("classifier.svm.m", "csvc"); - SetParameterDescription("classifier.svm.m", "Type of SVM formulation."); - AddParameter(ParameterType_Choice, "classifier.svm.k", "SVM Kernel Type"); - AddChoice("classifier.svm.k.linear", "Linear"); - AddChoice("classifier.svm.k.rbf", "Gaussian radial basis function"); - AddChoice("classifier.svm.k.poly", "Polynomial"); - AddChoice("classifier.svm.k.sigmoid", "Sigmoid"); - SetParameterString("classifier.svm.k", "linear"); - SetParameterDescription("classifier.svm.k", "SVM Kernel Type."); - AddParameter(ParameterType_Float, "classifier.svm.c", "Cost parameter C."); - SetParameterFloat("classifier.svm.c", 1.0); - SetParameterDescription("classifier.svm.c", "SVM models have a cost parameter C (1 by default) to control the trade-off between training errors and forcing rigid margins."); - AddParameter(ParameterType_Float, "classifier.svm.nu", "Parameter nu of a SVM optimization problem (NU_SVC / ONE_CLASS / NU_SVR)."); - SetParameterFloat("classifier.svm.nu", 0.0); - SetParameterDescription("classifier.svm.nu", "Parameter nu of a SVM optimization problem."); - AddParameter(ParameterType_Float, "classifier.svm.p", "Parameter epsilon of a SVM optimization problem (EPS_SVR)."); - SetParameterFloat("classifier.svm.p", 0.0); - SetParameterDescription("classifier.svm.p", "Parameter epsilon of a SVM optimization problem (EPS_SVR)."); - AddParameter(ParameterType_Float, "classifier.svm.coef0", "Parameter coef0 of a kernel function (POLY / SIGMOID)."); - SetParameterFloat("classifier.svm.coef0", 0.0); - SetParameterDescription("classifier.svm.coef0", "Parameter coef0 of a kernel function (POLY / SIGMOID)."); - AddParameter(ParameterType_Float, "classifier.svm.gamma", "Parameter gamma of a kernel function (POLY / RBF / SIGMOID)."); - SetParameterFloat("classifier.svm.gamma", 1.0); - SetParameterDescription("classifier.svm.gamma", "Parameter gamma of a kernel function (POLY / RBF / SIGMOID)."); - AddParameter(ParameterType_Float, "classifier.svm.degree", "Parameter degree of a kernel function (POLY)."); - SetParameterFloat("classifier.svm.degree", 0.0); - SetParameterDescription("classifier.svm.degree", "Parameter degree of a kernel function (POLY)."); + //AddParameter(ParameterType_Group,"svm","SVM classifier parameters (OpenCV)"); + SetParameterDescription("classifier.svm","This group of parameters allows to set SVM classifier parameters."); + AddParameter(ParameterType_Choice, "classifier.svm.m", "SVM Model Type"); + AddChoice("classifier.svm.m.csvc", "C support vector classification"); + AddChoice("classifier.svm.m.nusvc", "Nu support vector classification"); + AddChoice("classifier.svm.m.oneclass", "Distribution estimation (One Class SVM)"); + AddChoice("classifier.svm.m.epssvr", "Epsilon Support Vector Regression"); + AddChoice("classifier.svm.m.nusvr", "Nu Support Vector Regression"); + SetParameterString("classifier.svm.m", "csvc"); + SetParameterDescription("classifier.svm.m", "Type of SVM formulation."); + AddParameter(ParameterType_Choice, "classifier.svm.k", "SVM Kernel Type"); + AddChoice("classifier.svm.k.linear", "Linear"); + AddChoice("classifier.svm.k.rbf", "Gaussian radial basis function"); + AddChoice("classifier.svm.k.poly", "Polynomial"); + AddChoice("classifier.svm.k.sigmoid", "Sigmoid"); + SetParameterString("classifier.svm.k", "linear"); + SetParameterDescription("classifier.svm.k", "SVM Kernel Type."); + AddParameter(ParameterType_Float, "classifier.svm.c", "Cost parameter C."); + SetParameterFloat("classifier.svm.c", 1.0); + SetParameterDescription("classifier.svm.c", "SVM models have a cost parameter C (1 by default) to control the trade-off between training errors and forcing rigid margins."); + AddParameter(ParameterType_Float, "classifier.svm.nu", "Parameter nu of a SVM optimization problem (NU_SVC / ONE_CLASS / NU_SVR)."); + SetParameterFloat("classifier.svm.nu", 0.0); + SetParameterDescription("classifier.svm.nu", "Parameter nu of a SVM optimization problem."); + AddParameter(ParameterType_Float, "classifier.svm.p", "Parameter epsilon of a SVM optimization problem (EPS_SVR)."); + SetParameterFloat("classifier.svm.p", 0.0); + SetParameterDescription("classifier.svm.p", "Parameter epsilon of a SVM optimization problem (EPS_SVR)."); + AddParameter(ParameterType_Float, "classifier.svm.coef0", "Parameter coef0 of a kernel function (POLY / SIGMOID)."); + SetParameterFloat("classifier.svm.coef0", 0.0); + SetParameterDescription("classifier.svm.coef0", "Parameter coef0 of a kernel function (POLY / SIGMOID)."); + AddParameter(ParameterType_Float, "classifier.svm.gamma", "Parameter gamma of a kernel function (POLY / RBF / SIGMOID)."); + SetParameterFloat("classifier.svm.gamma", 1.0); + SetParameterDescription("classifier.svm.gamma", "Parameter gamma of a kernel function (POLY / RBF / SIGMOID)."); + AddParameter(ParameterType_Float, "classifier.svm.degree", "Parameter degree of a kernel function (POLY)."); + SetParameterFloat("classifier.svm.degree", 0.0); + SetParameterDescription("classifier.svm.degree", "Parameter degree of a kernel function (POLY)."); AddRANDParameter(); // Doc example parameter settings @@ -336,124 +336,124 @@ private: void TrainLibSVM(ListSampleType::Pointer trainingListSample, LabelListSampleType::Pointer trainingLabeledListSample) { - LibSVMType::Pointer libSVMClassifier = LibSVMType::New(); - libSVMClassifier->SetInputListSample(trainingListSample); - libSVMClassifier->SetTargetListSample(trainingLabeledListSample); - //SVM Option - //TODO : Add other options ? - if (IsParameterEnabled("classifier.libsvm.opt")) - { - libSVMClassifier->SetParameterOptimization(true); - } - libSVMClassifier->SetC(GetParameterFloat("classifier.libsvm.c")); - - switch (GetParameterInt("classifier.libsvm.k")) - { - case 0: // LINEAR - libSVMClassifier->SetKernelType(LINEAR); - break; - case 1: // RBF - libSVMClassifier->SetKernelType(RBF); - break; - case 2: // POLY - libSVMClassifier->SetKernelType(POLY); - break; - case 3: // SIGMOID - libSVMClassifier->SetKernelType(SIGMOID); - break; - default: // DEFAULT = LINEAR - libSVMClassifier->SetKernelType(LINEAR); - break; - } - libSVMClassifier->Train(); - libSVMClassifier->Save(GetParameterString("io.out")); - //otbAppLogINFO( "Learning done -> Final SVM accuracy: " << libSVMClassifier->GetFinalCrossValidationAccuracy() << std::endl); + LibSVMType::Pointer libSVMClassifier = LibSVMType::New(); + libSVMClassifier->SetInputListSample(trainingListSample); + libSVMClassifier->SetTargetListSample(trainingLabeledListSample); + //SVM Option + //TODO : Add other options ? + if (IsParameterEnabled("classifier.libsvm.opt")) + { + libSVMClassifier->SetParameterOptimization(true); + } + libSVMClassifier->SetC(GetParameterFloat("classifier.libsvm.c")); + + switch (GetParameterInt("classifier.libsvm.k")) + { + case 0: // LINEAR + libSVMClassifier->SetKernelType(LINEAR); + break; + case 1: // RBF + libSVMClassifier->SetKernelType(RBF); + break; + case 2: // POLY + libSVMClassifier->SetKernelType(POLY); + break; + case 3: // SIGMOID + libSVMClassifier->SetKernelType(SIGMOID); + break; + default: // DEFAULT = LINEAR + libSVMClassifier->SetKernelType(LINEAR); + break; + } + libSVMClassifier->Train(); + libSVMClassifier->Save(GetParameterString("io.out")); + //otbAppLogINFO( "Learning done -> Final SVM accuracy: " << libSVMClassifier->GetFinalCrossValidationAccuracy() << std::endl); } void ClassifyLibSVM(ListSampleType::Pointer validationListSample, LabelListSampleType::Pointer predictedList) { - //Classification - LibSVMType::Pointer libSVMClassifier = LibSVMType::New(); - libSVMClassifier->Load(GetParameterString("io.out")); - libSVMClassifier->SetInputListSample(validationListSample); - libSVMClassifier->SetTargetListSample(predictedList); - libSVMClassifier->PredictAll(); + //Classification + LibSVMType::Pointer libSVMClassifier = LibSVMType::New(); + libSVMClassifier->Load(GetParameterString("io.out")); + libSVMClassifier->SetInputListSample(validationListSample); + libSVMClassifier->SetTargetListSample(predictedList); + libSVMClassifier->PredictAll(); } void TrainSVM(ListSampleType::Pointer trainingListSample, LabelListSampleType::Pointer trainingLabeledListSample) { - std::cout<<"svm open CV"<<std::endl; - SVMType::Pointer SVMClassifier = SVMType::New(); - SVMClassifier->SetInputListSample(trainingListSample); - SVMClassifier->SetTargetListSample(trainingLabeledListSample); - switch (GetParameterInt("classifier.svm.k")) - { - case 0: // LINEAR - SVMClassifier->SetKernelType(CvSVM::LINEAR); - std::cout<<"CvSVM::LINEAR = "<<CvSVM::LINEAR<<std::endl; - break; - case 1: // RBF - SVMClassifier->SetKernelType(CvSVM::RBF); - std::cout<<"CvSVM::RBF = "<<CvSVM::RBF<<std::endl; - break; - case 2: // POLY - SVMClassifier->SetKernelType(CvSVM::POLY); - std::cout<<"CvSVM::POLY = "<<CvSVM::POLY<<std::endl; - break; - case 3: // SIGMOID - SVMClassifier->SetKernelType(CvSVM::SIGMOID); - std::cout<<"CvSVM::SIGMOID = "<<CvSVM::SIGMOID<<std::endl; - break; - default: // DEFAULT = LINEAR - SVMClassifier->SetKernelType(CvSVM::LINEAR); - std::cout<<"CvSVM::LINEAR = "<<CvSVM::LINEAR<<std::endl; - break; - } - switch (GetParameterInt("classifier.svm.m")) - { - case 0: // C_SVC - SVMClassifier->SetSVMType(CvSVM::C_SVC); - std::cout<<"CvSVM::C_SVC = "<<CvSVM::C_SVC<<std::endl; - break; - case 1: // NU_SVC - SVMClassifier->SetSVMType(CvSVM::NU_SVC); - std::cout<<"CvSVM::NU_SVC = "<<CvSVM::NU_SVC<<std::endl; - break; - case 2: // ONE_CLASS - SVMClassifier->SetSVMType(CvSVM::ONE_CLASS); - std::cout<<"CvSVM::ONE_CLASS = "<<CvSVM::ONE_CLASS<<std::endl; - break; - case 3: // EPS_SVR - SVMClassifier->SetSVMType(CvSVM::EPS_SVR); - std::cout<<"CvSVM::EPS_SVR = "<<CvSVM::EPS_SVR<<std::endl; - break; - case 4: // NU_SVR - SVMClassifier->SetSVMType(CvSVM::NU_SVR); - std::cout<<"CvSVM::NU_SVR = "<<CvSVM::NU_SVR<<std::endl; - break; - default: // DEFAULT = C_SVC - SVMClassifier->SetSVMType(CvSVM::C_SVC); - std::cout<<"CvSVM::C_SVC = "<<CvSVM::C_SVC<<std::endl; - break; - } - SVMClassifier->SetC(GetParameterFloat("classifier.svm.c")); - SVMClassifier->SetNu(GetParameterFloat("classifier.svm.nu")); - SVMClassifier->SetP(GetParameterFloat("classifier.svm.p")); - SVMClassifier->SetCoef0(GetParameterFloat("classifier.svm.coef0")); - SVMClassifier->SetGamma(GetParameterFloat("classifier.svm.gamma")); - SVMClassifier->SetDegree(GetParameterFloat("classifier.svm.degree")); - SVMClassifier->Train(); - SVMClassifier->Save(GetParameterString("io.out")); + std::cout<<"svm open CV"<<std::endl; + SVMType::Pointer SVMClassifier = SVMType::New(); + SVMClassifier->SetInputListSample(trainingListSample); + SVMClassifier->SetTargetListSample(trainingLabeledListSample); + switch (GetParameterInt("classifier.svm.k")) + { + case 0: // LINEAR + SVMClassifier->SetKernelType(CvSVM::LINEAR); + std::cout<<"CvSVM::LINEAR = "<<CvSVM::LINEAR<<std::endl; + break; + case 1: // RBF + SVMClassifier->SetKernelType(CvSVM::RBF); + std::cout<<"CvSVM::RBF = "<<CvSVM::RBF<<std::endl; + break; + case 2: // POLY + SVMClassifier->SetKernelType(CvSVM::POLY); + std::cout<<"CvSVM::POLY = "<<CvSVM::POLY<<std::endl; + break; + case 3: // SIGMOID + SVMClassifier->SetKernelType(CvSVM::SIGMOID); + std::cout<<"CvSVM::SIGMOID = "<<CvSVM::SIGMOID<<std::endl; + break; + default: // DEFAULT = LINEAR + SVMClassifier->SetKernelType(CvSVM::LINEAR); + std::cout<<"CvSVM::LINEAR = "<<CvSVM::LINEAR<<std::endl; + break; + } + switch (GetParameterInt("classifier.svm.m")) + { + case 0: // C_SVC + SVMClassifier->SetSVMType(CvSVM::C_SVC); + std::cout<<"CvSVM::C_SVC = "<<CvSVM::C_SVC<<std::endl; + break; + case 1: // NU_SVC + SVMClassifier->SetSVMType(CvSVM::NU_SVC); + std::cout<<"CvSVM::NU_SVC = "<<CvSVM::NU_SVC<<std::endl; + break; + case 2: // ONE_CLASS + SVMClassifier->SetSVMType(CvSVM::ONE_CLASS); + std::cout<<"CvSVM::ONE_CLASS = "<<CvSVM::ONE_CLASS<<std::endl; + break; + case 3: // EPS_SVR + SVMClassifier->SetSVMType(CvSVM::EPS_SVR); + std::cout<<"CvSVM::EPS_SVR = "<<CvSVM::EPS_SVR<<std::endl; + break; + case 4: // NU_SVR + SVMClassifier->SetSVMType(CvSVM::NU_SVR); + std::cout<<"CvSVM::NU_SVR = "<<CvSVM::NU_SVR<<std::endl; + break; + default: // DEFAULT = C_SVC + SVMClassifier->SetSVMType(CvSVM::C_SVC); + std::cout<<"CvSVM::C_SVC = "<<CvSVM::C_SVC<<std::endl; + break; + } + SVMClassifier->SetC(GetParameterFloat("classifier.svm.c")); + SVMClassifier->SetNu(GetParameterFloat("classifier.svm.nu")); + SVMClassifier->SetP(GetParameterFloat("classifier.svm.p")); + SVMClassifier->SetCoef0(GetParameterFloat("classifier.svm.coef0")); + SVMClassifier->SetGamma(GetParameterFloat("classifier.svm.gamma")); + SVMClassifier->SetDegree(GetParameterFloat("classifier.svm.degree")); + SVMClassifier->Train(); + SVMClassifier->Save(GetParameterString("io.out")); } void ClassifySVM(ListSampleType::Pointer validationListSample, LabelListSampleType::Pointer predictedList) { - //Classification - SVMType::Pointer SVMClassifier = SVMType::New(); - SVMClassifier->Load(GetParameterString("io.out")); - SVMClassifier->SetInputListSample(validationListSample); - SVMClassifier->SetTargetListSample(predictedList); - SVMClassifier->PredictAll(); + //Classification + SVMType::Pointer SVMClassifier = SVMType::New(); + SVMClassifier->Load(GetParameterString("io.out")); + SVMClassifier->SetInputListSample(validationListSample); + SVMClassifier->SetTargetListSample(predictedList); + SVMClassifier->PredictAll(); } void DoExecute() @@ -616,13 +616,13 @@ private: const std::string classifierType = GetParameterString("classifier"); if (classifierType == "libsvm") { - TrainLibSVM(trainingListSample, trainingLabeledListSample); - ClassifyLibSVM(validationListSample, predictedList); + TrainLibSVM(trainingListSample, trainingLabeledListSample); + ClassifyLibSVM(validationListSample, predictedList); } else if (classifierType == "svm") { - TrainSVM(trainingListSample, trainingLabeledListSample); - ClassifySVM(validationListSample, predictedList); + TrainSVM(trainingListSample, trainingLabeledListSample); + ClassifySVM(validationListSample, predictedList); } //-------------------------- diff --git a/Code/UtilitiesAdapters/OpenCV/otbBoostMachineLearningModel.h b/Code/UtilitiesAdapters/OpenCV/otbBoostMachineLearningModel.h index de9244b25b..dfa7b12eed 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbBoostMachineLearningModel.h +++ b/Code/UtilitiesAdapters/OpenCV/otbBoostMachineLearningModel.h @@ -26,7 +26,7 @@ //include opencv #include <cv.h> // opencv general include file -#include <ml.h> // opencv machine learning include file +#include <ml.h> // opencv machine learning include file namespace otb { diff --git a/Code/UtilitiesAdapters/OpenCV/otbKNearestNeighborsMachineLearningModel.h b/Code/UtilitiesAdapters/OpenCV/otbKNearestNeighborsMachineLearningModel.h index c383677faa..3b618d5dc4 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbKNearestNeighborsMachineLearningModel.h +++ b/Code/UtilitiesAdapters/OpenCV/otbKNearestNeighborsMachineLearningModel.h @@ -26,7 +26,7 @@ //include opencv #include <opencv.hpp> // opencv general include file -#include <ml/ml.hpp> // opencv machine learning include file +#include <ml/ml.hpp> // opencv machine learning include file namespace otb { diff --git a/Code/UtilitiesAdapters/OpenCV/otbLibSVMMachineLearningModel.h b/Code/UtilitiesAdapters/OpenCV/otbLibSVMMachineLearningModel.h index ae90aa2203..75239759a6 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbLibSVMMachineLearningModel.h +++ b/Code/UtilitiesAdapters/OpenCV/otbLibSVMMachineLearningModel.h @@ -26,7 +26,7 @@ //include opencv //#include <opencv.hpp> // opencv general include file -//#include <ml/ml.hpp> // opencv machine learning include file +//#include <ml/ml.hpp> // opencv machine learning include file // SVM estimator #include "otbSVMSampleListModelEstimator.h" diff --git a/Code/UtilitiesAdapters/OpenCV/otbMachineLearningModel.txx b/Code/UtilitiesAdapters/OpenCV/otbMachineLearningModel.txx index 4eef56e258..9281aa2653 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbMachineLearningModel.txx +++ b/Code/UtilitiesAdapters/OpenCV/otbMachineLearningModel.txx @@ -20,7 +20,7 @@ #include "otbMachineLearningModel.h" -namespace otb +namespace otb { template <class TInputValue, class TOutputValue> @@ -43,7 +43,7 @@ MachineLearningModel<TInputValue,TOutputValue> targets->Clear(); for(typename InputListSampleType::ConstIterator sIt = this->GetInputListSample()->Begin(); - sIt!=this->GetInputListSample()->End();++sIt) + sIt!=this->GetInputListSample()->End(); ++sIt) { targets->PushBack(this->Predict(sIt.GetMeasurementVector())); } diff --git a/Code/UtilitiesAdapters/OpenCV/otbMachineLearningUtils.cxx b/Code/UtilitiesAdapters/OpenCV/otbMachineLearningUtils.cxx index 3b3e67bd9b..d1e4aa4d45 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbMachineLearningUtils.cxx +++ b/Code/UtilitiesAdapters/OpenCV/otbMachineLearningUtils.cxx @@ -79,7 +79,7 @@ bool ReadDataFile(const char * infname, InputListSampleType * samples, TargetLis sample[id] = atof(feature.substr(semicolonpos+1,feature.size()-semicolonpos).c_str()); pos = nextpos; } - } + } samples->PushBack(sample); labels->PushBack(label); } diff --git a/Code/UtilitiesAdapters/OpenCV/otbOpenCVUtils.h b/Code/UtilitiesAdapters/OpenCV/otbOpenCVUtils.h index 849d60a2e3..12c829d5de 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbOpenCVUtils.h +++ b/Code/UtilitiesAdapters/OpenCV/otbOpenCVUtils.h @@ -28,7 +28,7 @@ namespace otb output.create(1,sample.Size(),CV_32FC1); // Loop on sample size - for(unsigned int i = 0; i < sample.Size();++i) + for(unsigned int i = 0; i < sample.Size(); ++i) { output.at<float>(0,i) = sample[i]; } @@ -47,30 +47,30 @@ namespace otb // Check for valid listSample if(listSample != NULL && listSample->Size() > 0) { - // Retrieve samples count - unsigned int sampleCount = listSample->Size(); + // Retrieve samples count + unsigned int sampleCount = listSample->Size(); - // Build an iterator - typename T::ConstIterator sampleIt = listSample->Begin(); - - // Retrieve samples size alike - const unsigned int sampleSize = listSample->GetMeasurementVectorSize(); - - // Allocate CvMat - output.create(sampleCount,sampleSize,CV_32FC1); - - // Fill the cv matrix - for(;sampleIt!=listSample->End();++sampleIt,++sampleIdx) - { - // Retrieve sample - typename T::MeasurementVectorType sample = sampleIt.GetMeasurementVector(); - - // Loop on sample size - for(unsigned int i = 0; i < sampleSize;++i) - { - output.at<float>(sampleIdx,i) = sample[i]; - } - } + // Build an iterator + typename T::ConstIterator sampleIt = listSample->Begin(); + + // Retrieve samples size alike + const unsigned int sampleSize = listSample->GetMeasurementVectorSize(); + + // Allocate CvMat + output.create(sampleCount,sampleSize,CV_32FC1); + + // Fill the cv matrix + for(; sampleIt!=listSample->End(); ++sampleIt,++sampleIdx) + { + // Retrieve sample + typename T::MeasurementVectorType sample = sampleIt.GetMeasurementVector(); + + // Loop on sample size + for(unsigned int i = 0; i < sampleSize; ++i) + { + output.at<float>(sampleIdx,i) = sample[i]; + } + } } } @@ -94,22 +94,22 @@ namespace otb unsigned int sampleSize = cvmat.cols; // Loop on samples - for(unsigned int i = 0; i < sampleCount;++i) - { - typename T::MeasurementVectorType sample; - itk::PixelBuilder<typename T::MeasurementVectorType>::Zero(sample,sampleSize); - - unsigned int realSampleSize = sample.Size(); - - for(unsigned int j = 0; j < realSampleSize;++j) - { - // Don't forget to cast - sample[j] = static_cast<typename T::MeasurementVectorType - ::ValueType>(cvmat.at<float>(i,j)); - } - // PushBack the new sample - output->PushBack(sample); - } + for(unsigned int i = 0; i < sampleCount; ++i) + { + typename T::MeasurementVectorType sample; + itk::PixelBuilder<typename T::MeasurementVectorType>::Zero(sample,sampleSize); + + unsigned int realSampleSize = sample.Size(); + + for(unsigned int j = 0; j < realSampleSize; ++j) + { + // Don't forget to cast + sample[j] = static_cast<typename T::MeasurementVectorType + ::ValueType>(cvmat.at<float>(i,j)); + } + // PushBack the new sample + output->PushBack(sample); + } // return the output return output; } diff --git a/Code/UtilitiesAdapters/OpenCV/otbRandomForestsMachineLearningModel.h b/Code/UtilitiesAdapters/OpenCV/otbRandomForestsMachineLearningModel.h index 9b4e7850fc..4e9c0dfd6e 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbRandomForestsMachineLearningModel.h +++ b/Code/UtilitiesAdapters/OpenCV/otbRandomForestsMachineLearningModel.h @@ -26,7 +26,7 @@ //include opencv #include <opencv.hpp> // opencv general include file -#include <ml/ml.hpp> // opencv machine learning include file +#include <ml/ml.hpp> // opencv machine learning include file namespace otb { diff --git a/Code/UtilitiesAdapters/OpenCV/otbRandomForestsMachineLearningModel.txx b/Code/UtilitiesAdapters/OpenCV/otbRandomForestsMachineLearningModel.txx index 25454bf0d8..3e3990f68a 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbRandomForestsMachineLearningModel.txx +++ b/Code/UtilitiesAdapters/OpenCV/otbRandomForestsMachineLearningModel.txx @@ -78,8 +78,8 @@ RandomForestsMachineLearningModel<TInputValue,TOutputValue> priors, // the array of priors m_CalculateVariableImportance, // calculate variable importance m_MaxNumberOfVariables, // number of variables randomly selected at node and used to find the best split(s). - m_MaxNumberOfTrees, // max number of trees in the forest - m_ForestAccuracy, // forrest accuracy + m_MaxNumberOfTrees, // max number of trees in the forest + m_ForestAccuracy, // forrest accuracy m_TerminationCriteria // termination cirteria ); @@ -90,7 +90,7 @@ RandomForestsMachineLearningModel<TInputValue,TOutputValue> //train the RT model m_RFModel->train(samples, CV_ROW_SAMPLE, labels, - cv::Mat(), cv::Mat(), var_type, cv::Mat(), params); + cv::Mat(), cv::Mat(), var_type, cv::Mat(), params); } template <class TInputValue, class TOutputValue> diff --git a/Code/UtilitiesAdapters/OpenCV/otbSVMMachineLearningModel.h b/Code/UtilitiesAdapters/OpenCV/otbSVMMachineLearningModel.h index eafed3a419..e0c0101c94 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbSVMMachineLearningModel.h +++ b/Code/UtilitiesAdapters/OpenCV/otbSVMMachineLearningModel.h @@ -27,7 +27,7 @@ //include opencv #include <opencv.hpp> // opencv general include file -#include <ml/ml.hpp> // opencv machine learning include file +#include <ml/ml.hpp> // opencv machine learning include file namespace otb { diff --git a/Code/UtilitiesAdapters/OpenCV/otbSVMMachineLearningModel.txx b/Code/UtilitiesAdapters/OpenCV/otbSVMMachineLearningModel.txx index a72cd285de..a532767646 100644 --- a/Code/UtilitiesAdapters/OpenCV/otbSVMMachineLearningModel.txx +++ b/Code/UtilitiesAdapters/OpenCV/otbSVMMachineLearningModel.txx @@ -90,10 +90,10 @@ void SVMMachineLearningModel<TInputValue,TOutputValue> ::Save(const std::string & filename, const std::string & name) { - if (name == "") - m_SVMModel->save(filename.c_str(), 0); - else - m_SVMModel->save(filename.c_str(), name.c_str()); + if (name == "") + m_SVMModel->save(filename.c_str(), 0); + else + m_SVMModel->save(filename.c_str(), name.c_str()); } template <class TInputValue, class TOutputValue> @@ -102,9 +102,9 @@ SVMMachineLearningModel<TInputValue,TOutputValue> ::Load(const std::string & filename, const std::string & name) { if (name == "") - m_SVMModel->load(filename.c_str(), 0); + m_SVMModel->load(filename.c_str(), 0); else - m_SVMModel->load(filename.c_str(), name.c_str()); + m_SVMModel->load(filename.c_str(), name.c_str()); } template <class TInputValue, class TOutputValue> -- GitLab