diff --git a/Modules/Learning/SharkLearning/include/otbSharkRandomForestsMachineLearningModel.txx b/Modules/Learning/SharkLearning/include/otbSharkRandomForestsMachineLearningModel.txx index 24f604baf0bf095ba1db88f0ca31120326ac7be7..5d92cea948e2a807f7eae02f928d2258d7f2a2f7 100644 --- a/Modules/Learning/SharkLearning/include/otbSharkRandomForestsMachineLearningModel.txx +++ b/Modules/Learning/SharkLearning/include/otbSharkRandomForestsMachineLearningModel.txx @@ -112,7 +112,7 @@ typename SharkRandomForestsMachineLearningModel<TInputValue,TOutputValue> SharkRandomForestsMachineLearningModel<TInputValue,TOutputValue> ::DoPredict(const InputSampleType & value, ConfidenceValueType *quality) const { - shark::RealVector samples; + shark::RealVector samples(value.Size()); for(size_t i = 0; i < value.Size();i++) { samples.push_back(value[i]); diff --git a/Modules/Learning/Supervised/include/otbMachineLearningModel.txx b/Modules/Learning/Supervised/include/otbMachineLearningModel.txx index 4e790c23a9e0acfc041ccb5f5b0408e8e9ab67b9..d051481ac99e5b225e79a1ff2d194c02b9e29813 100644 --- a/Modules/Learning/Supervised/include/otbMachineLearningModel.txx +++ b/Modules/Learning/Supervised/include/otbMachineLearningModel.txx @@ -154,19 +154,18 @@ MachineLearningModel<TInputValue,TOutputValue,TConfidenceValue> for(unsigned int id = startIndex;id<startIndex+size;++id) { - TargetSampleType target; - ConfidenceValueType confidence; - if(quality!=ITK_NULLPTR) { - target = this->DoPredict(input->GetMeasurementVector(id),&confidence); + ConfidenceValueType confidence = 0; + const TargetSampleType target = this->DoPredict(input->GetMeasurementVector(id),&confidence); quality->SetMeasurementVector(id,confidence); + targets->SetMeasurementVector(id,target); } else { - target = this->DoPredict(input->GetMeasurementVector(id)); + const TargetSampleType target = this->DoPredict(input->GetMeasurementVector(id)); + targets->SetMeasurementVector(id,target); } - targets->SetMeasurementVector(id,target); } }