diff --git a/CartographicDBValidation/otbVectorDataDSValidation.cxx b/CartographicDBValidation/otbVectorDataDSValidation.cxx index 83f940ff0a69e7ba547bb56316ee294dfcdb29f8..ef6533cf79f7fd6730ff3107a94a11f3bb8faf4f 100644 --- a/CartographicDBValidation/otbVectorDataDSValidation.cxx +++ b/CartographicDBValidation/otbVectorDataDSValidation.cxx @@ -29,18 +29,18 @@ namespace otb { int VectorDataDSValidation::Describe(ApplicationDescriptor* descriptor) { - descriptor->SetName("Vector data validation parser function"); - descriptor->SetDescription("Vector data validation."); - descriptor->AddOption("InputShapeFileName", "Input Shape file name", "in", 1, true, - ApplicationDescriptor::FileName); - descriptor->AddOption("OutputShapeFileName", "Output Shape file name", "out", 1, true, - ApplicationDescriptor::FileName); + descriptor->SetName("Vector data validation"); + descriptor->SetDescription("Vector data validation using Clasifier fusion."); + descriptor->AddOption("InputShapeFileName", "Input Shape file name", + "in", 1, true, ApplicationDescriptor::FileName); + descriptor->AddOption("OutputShapeFileName", "Output Shape file name", + "out", 1, true, ApplicationDescriptor::FileName); descriptor->AddOptionNParams("Hypothesis", "Hypothesis (default: NDVI, RADIOM)", "hyp", false, ApplicationDescriptor::StringList); - descriptor->AddOption("DescriptorsModelFileName", "Fuzzy descriptors model xml file (default: NDVI(0.25, 0.5, 0.75, 0.99) / RADIOM(0.25, 0.5, 0.75, 0.90))", "descMod", 1, false, - ApplicationDescriptor::FileName); - descriptor->AddOption("CriterionFormula", "Criterion formula expression (default: ((Belief + Plausibility)/2) >= 0.5)", "exp", 1, false, - ApplicationDescriptor::FileName); + descriptor->AddOption("DescriptorsModelFileName", "Fuzzy descriptors model xml file (default: NDVI(0.25, 0.5, 0.75, 0.99) / RADIOM(0.25, 0.5, 0.75, 0.90))", + "descMod", 1, true, ApplicationDescriptor::FileName); + descriptor->AddOption("CriterionFormula", "Criterion formula expression (default: ((Belief + Plausibility)/2) >= 0.5)", + "exp", 1, false, ApplicationDescriptor::FileName); return EXIT_SUCCESS; } @@ -73,10 +73,19 @@ int VectorDataDSValidation::Execute(otb::ApplicationOptionsResult* parseResult) // Load the hypothesis LabelSetType hypothesis; - unsigned int nbOfHypo = parseResult->GetNumberOfParameters("Hypothesis"); - for (unsigned int i = 0; i < nbOfHypo; i++) + if (parseResult->IsOptionPresent("Hypothesis")) { + unsigned int nbOfHypo = parseResult->GetNumberOfParameters("Hypothesis"); + for (unsigned int i = 0; i < nbOfHypo; i++) + { hypothesis.insert(parseResult->GetParameterString("Hypothesis", i)); + } + } + else + { + hypothesis.insert("NDVI"); + hypothesis.insert("RADIOM"); + hypothesis.insert("DBOVERLAP"); } // Process @@ -84,8 +93,14 @@ int VectorDataDSValidation::Execute(otb::ApplicationOptionsResult* parseResult) filter->SetInput(vdReader->GetOutput()); filter->SetDescriptorModels(descMod); filter->SetHypothesis(hypothesis); - filter->SetCriterionFormula(parseResult->GetParameterString("CriterionFormula")); - + if (parseResult->IsOptionPresent("CriterionFormula")) + { + filter->SetCriterionFormula(parseResult->GetParameterString("CriterionFormula")); + } + else + { + filter->SetCriterionFormula(parseResult->GetParameterString("((Belief + Plausibility)/2.)")); + } // Write the output VectorDataWriterType::Pointer vdWriter = VectorDataWriterType::New(); vdWriter->SetFileName(parseResult->GetParameterString("OutputShapeFileName"));