diff --git a/Testing/Code/Learning/CMakeLists.txt b/Testing/Code/Learning/CMakeLists.txt index 1ef62b113362d34986e3a3780c5e378718ebeb52..70c5b2472b1765338b1fcafdaac56d58bfa0e210 100644 --- a/Testing/Code/Learning/CMakeLists.txt +++ b/Testing/Code/Learning/CMakeLists.txt @@ -12,26 +12,32 @@ SET(TEMP ${OTBTesting_BINARY_DIR}/Temporary) #Tolerance sur diff pixel image SET(TOL 0.0) -SET(LEARNING_TESTS ${CXX_TEST_PATH}/otbLearningTests) - #EPSILON est different de 0.0 pour les tests multiplateformes avec différentes options de compilation. SET(EPSILON 0.0000000001) SET(EPSILON_10e3 0.001) SET(EPSILON_10e4 0.0001) + +SET(LEARNING_TESTS1 ${CXX_TEST_PATH}/otbLearningTests1) +SET(LEARNING_TESTS2 ${CXX_TEST_PATH}/otbLearningTests2) +SET(LEARNING_TESTS3 ${CXX_TEST_PATH}/otbLearningTests3) + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ otbLearningTESTS1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ------- otb::SVMModel ------------------------------ -ADD_TEST(leTuSVMModelNew ${LEARNING_TESTS} +ADD_TEST(leTuSVMModelNew ${LEARNING_TESTS1} otbSVMModelNew) -ADD_TEST(leTuSVMModelAllocateProblem ${LEARNING_TESTS} +ADD_TEST(leTuSVMModelAllocateProblem ${LEARNING_TESTS1} otbSVMModelAllocateProblem) -ADD_TEST(leTuSVMModelLoad ${LEARNING_TESTS} +ADD_TEST(leTuSVMModelLoad ${LEARNING_TESTS1} otbSVMModelLoad ${INPUTDATA}/svm_model) -ADD_TEST(leTvSVMModelAccessor ${LEARNING_TESTS} +ADD_TEST(leTvSVMModelAccessor ${LEARNING_TESTS1} --compare-ascii ${TOL} ${BASELINE_FILES}/leSVMModelAccessor.txt ${TEMP}/leSVMModelAccessor.txt otbSVMModelAccessor @@ -39,21 +45,21 @@ ADD_TEST(leTvSVMModelAccessor ${LEARNING_TESTS} ${TEMP}/leSVMModelAccessor.txt) -ADD_TEST(leTvSVMModelLoadSave ${LEARNING_TESTS} +ADD_TEST(leTvSVMModelLoadSave ${LEARNING_TESTS1} --compare-ascii ${TOL} ${INPUTDATA}/svm_model ${TEMP}/svmmodel_test otbSVMModelLoadSave ${INPUTDATA}/svm_model ${TEMP}/svmmodel_test) -ADD_TEST(leTvSVMModelWithGenericKeywordKernelLoadSave ${LEARNING_TESTS} +ADD_TEST(leTvSVMModelWithGenericKeywordKernelLoadSave ${LEARNING_TESTS1} --compare-ascii ${TOL} ${BASELINE_FILES}/leTvsvmmodel_image_generic_version_test ${TEMP}/leTvsvmmodel_image_generic_version_test otbSVMModelGenericKernelLoadSave ${INPUTDATA}/svm_model_image_generic_version ${TEMP}/leTvsvmmodel_image_generic_version_test) -ADD_TEST(leTvSVMModelKernelTypeGenericLoadSave ${LEARNING_TESTS} +ADD_TEST(leTvSVMModelKernelTypeGenericLoadSave ${LEARNING_TESTS1} --compare-ascii ${TOL} ${INPUTDATA}/svm_model_image_generic_kernel ${TEMP}/leTvsvmmodel_image_generic_kernel_test otbSVMModelGenericKernelLoadSave @@ -62,19 +68,19 @@ ADD_TEST(leTvSVMModelKernelTypeGenericLoadSave ${LEARNING_TESTS} # ------- otb::SVMembershipFunction -------------------- -#ADD_TEST(leTuSVMMembershipFunctionNew ${LEARNING_TESTS} +#ADD_TEST(leTuSVMMembershipFunctionNew ${LEARNING_TESTS1} # otbSVMMembershipFunctionNew) -#ADD_TEST(leTuSVMMembershipFunctionLoadModel ${LEARNING_TESTS} +#ADD_TEST(leTuSVMMembershipFunctionLoadModel ${LEARNING_TESTS1} # otbSVMMembershipFunctionLoadModel # ${INPUTDATA}/svm_model) # ------- otb::SVMImageModelEstimator -------------------- -ADD_TEST(leTuSVMImageModelEstimatorNew ${LEARNING_TESTS} +ADD_TEST(leTuSVMImageModelEstimatorNew ${LEARNING_TESTS1} otbSVMImageModelEstimatorNew) -ADD_TEST(leTvSVMImageModelEstimatorTrain ${LEARNING_TESTS} +ADD_TEST(leTvSVMImageModelEstimatorTrain ${LEARNING_TESTS1} --compare-ascii ${EPSILON_10e3} ${BASELINE_FILES}/leTvsvm_model_image ${TEMP}/leTvsvm_model_image otbSVMImageModelEstimatorTrain @@ -82,7 +88,7 @@ ADD_TEST(leTvSVMImageModelEstimatorTrain ${LEARNING_TESTS} ${INPUTDATA}/ROI_QB_MUL_4_train.c1.hdr ${TEMP}/leTvsvm_model_image) -ADD_TEST(leTvSVMImageModelEstimatorModelAccessor ${LEARNING_TESTS} +ADD_TEST(leTvSVMImageModelEstimatorModelAccessor ${LEARNING_TESTS1} --compare-ascii ${EPSILON_10e3} ${BASELINE_FILES}/leSVMModelEstimatorModelAccessor.txt ${TEMP}/leSVMModelEstimatorModelAccessor.txt otbSVMImageModelEstimatorModelAccessor @@ -90,12 +96,17 @@ ADD_TEST(leTvSVMImageModelEstimatorModelAccessor ${LEARNING_TESTS} ${INPUTDATA}/ROI_QB_MUL_4_train.c1.hdr ${TEMP}/leSVMModelEstimatorModelAccessor.txt) +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ otbLearningTESTS2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + # ------- otb::SVMPointSetModelEstimator -------------------- -ADD_TEST(leTuSVMPointSetModelEstimatorNew ${LEARNING_TESTS} +ADD_TEST(leTuSVMPointSetModelEstimatorNew ${LEARNING_TESTS2} otbSVMPointSetModelEstimatorNew) -ADD_TEST(leTuSVMPointSetModelEstimatorTrain ${LEARNING_TESTS} +ADD_TEST(leTuSVMPointSetModelEstimatorTrain ${LEARNING_TESTS2} --compare-ascii ${EPSILON_10e3} ${BASELINE_FILES}/leTvsvm_model_pointset ${TEMP}/leTvsvm_model_pointset otbSVMPointSetModelEstimatorTrain @@ -104,16 +115,16 @@ ADD_TEST(leTuSVMPointSetModelEstimatorTrain ${LEARNING_TESTS} # ------- otb::SVMClassifier ----------------------------- -ADD_TEST(leTuSVMClassifierNew ${LEARNING_TESTS} +ADD_TEST(leTuSVMClassifierNew ${LEARNING_TESTS2} otbSVMClassifierNew) -ADD_TEST(leTuSVMClassifierImage ${LEARNING_TESTS} +ADD_TEST(leTuSVMClassifierImage ${LEARNING_TESTS2} otbSVMClassifierImage ${INPUTDATA}/ROI_QB_MUL_4.tif ${INPUTDATA}/svm_model_image ${TEMP}/svm_classified_image.png) -ADD_TEST(leTuSVMClassifierImageWithGenericKernalLinear ${LEARNING_TESTS} +ADD_TEST(leTuSVMClassifierImageWithGenericKernalLinear ${LEARNING_TESTS2} --compare-image ${TOL} ${TEMP}/svm_classified_image.png ${TEMP}/svm_classified_image_with_generic_kernel_linear.png otbSVMClassifierImage @@ -123,25 +134,25 @@ ADD_TEST(leTuSVMClassifierImageWithGenericKernalLinear ${LEARNING_TESTS} -ADD_TEST(leTuSVMClassifierPointSet ${LEARNING_TESTS} +ADD_TEST(leTuSVMClassifierPointSet ${LEARNING_TESTS2} otbSVMClassifierPointSet ${INPUTDATA}/svm_model_pointset) # ------- otb::SOMMap ----------------------------- -ADD_TEST(leTuSOMMapNew ${LEARNING_TESTS} +ADD_TEST(leTuSOMMapNew ${LEARNING_TESTS2} otbSOMMapNew) -ADD_TEST(leTvSOMMap ${LEARNING_TESTS} +ADD_TEST(leTvSOMMap ${LEARNING_TESTS2} otbSOMMap) # ------- otb::SOM ----------------------------- -ADD_TEST(leTuSOMNew ${LEARNING_TESTS} +ADD_TEST(leTuSOMNew ${LEARNING_TESTS2} otbSOMNew) -ADD_TEST(leTvSOM ${LEARNING_TESTS} +ADD_TEST(leTvSOM ${LEARNING_TESTS2} --compare-image ${EPSILON} ${BASELINE}/leSOMPoupeesSubOutputMap1.hdr ${TEMP}/leSOMPoupeesSubOutputMap1.hdr @@ -152,10 +163,10 @@ ADD_TEST(leTvSOM ${LEARNING_TESTS} # ------- otb::SOMActivationBuilder ----------------------------- -ADD_TEST(leTuSOMActivationBuilderNew ${LEARNING_TESTS} +ADD_TEST(leTuSOMActivationBuilderNew ${LEARNING_TESTS2} otbSOMActivationBuilderNew) -ADD_TEST(leTvSOMActivationBuilder ${LEARNING_TESTS} +ADD_TEST(leTvSOMActivationBuilder ${LEARNING_TESTS2} --compare-image ${TOL} ${BASELINE}/leSOMPoupeesSubActivationMap1.hdr ${TEMP}/leSOMPoupeesSubActivationMap1.hdr @@ -165,12 +176,16 @@ ADD_TEST(leTvSOMActivationBuilder ${LEARNING_TESTS} ${TEMP}/leSOMPoupeesSubActivationMap1.hdr 32 32 10 10 5 1.0 0.1 128) +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ otbLearningTESTS3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # ------- otb::SOMClassifier ----------------------------- -ADD_TEST(leTuSOMClassifierNew ${LEARNING_TESTS} +ADD_TEST(leTuSOMClassifierNew ${LEARNING_TESTS3} otbSOMClassifierNew) -ADD_TEST(leTvSOMClassifier ${LEARNING_TESTS} +ADD_TEST(leTvSOMClassifier ${LEARNING_TESTS3} --compare-image ${TOL} ${BASELINE}/leSOMPoupeesClassified.hdr ${TEMP}/leSOMPoupeesClassified.hdr @@ -182,7 +197,7 @@ ADD_TEST(leTvSOMClassifier ${LEARNING_TESTS} # ------- otb::SEMClassifier ----------------------------- -ADD_TEST(leTuSEMClassifierNew ${LEARNING_TESTS} +ADD_TEST(leTuSEMClassifierNew ${LEARNING_TESTS3} otbSEMClassifierNew) # ----------------------------------------------------------------------- @@ -190,18 +205,20 @@ ADD_TEST(leTuSEMClassifierNew ${LEARNING_TESTS} # A enrichir -SET(BasicLearning_SRCS +SET(BasicLearning_SRCS1 otbSVMModelNew.cxx otbSVMModelAllocateProblem.cxx otbSVMModelLoad.cxx -otbSVMModelLoadSave.cxx otbSVMModelAccessor.cxx +otbSVMModelLoadSave.cxx otbSVMModelGenericKernelLoadSave.cxx #otbSVMMembershipFunctionNew.cxx #otbSVMMembershipFunctionLoadModel.cxx otbSVMImageModelEstimatorNew.cxx otbSVMImageModelEstimatorTrain.cxx otbSVMImageModelEstimatorModelAccessor.cxx +) +SET(BasicLearning_SRCS2 otbSVMPointSetModelEstimatorNew.cxx otbSVMPointSetModelEstimatorTrain.cxx otbSVMClassifierNew.cxx @@ -213,6 +230,8 @@ otbSOMNew.cxx otbSOM.cxx otbSOMActivationBuilderNew.cxx otbSOMActivationBuilder.cxx +) +SET(BasicLearning_SRCS3 otbSOMClassifierNew.cxx otbSOMClassifier.cxx otbSEMClassifierNew.cxx @@ -221,9 +240,12 @@ otbSEMClassifierNew.cxx INCLUDE_DIRECTORIES("${OTBTesting_BINARY_DIR}") -ADD_EXECUTABLE(otbLearningTests otbLearningTests.cxx ${BasicLearning_SRCS}) -TARGET_LINK_LIBRARIES(otbLearningTests gdal otbsvm OTBLearning OTBCommon OTBIO ITKIO ITKCommon) - +ADD_EXECUTABLE(otbLearningTests1 otbLearningTests1.cxx ${BasicLearning_SRCS1}) +TARGET_LINK_LIBRARIES(otbLearningTests1 gdal otbsvm OTBLearning OTBCommon OTBIO ITKIO ITKCommon) +ADD_EXECUTABLE(otbLearningTests2 otbLearningTests2.cxx ${BasicLearning_SRCS2}) +TARGET_LINK_LIBRARIES(otbLearningTests2 gdal otbsvm OTBLearning OTBCommon OTBIO ITKIO ITKCommon) +ADD_EXECUTABLE(otbLearningTests3 otbLearningTests3.cxx ${BasicLearning_SRCS3}) +TARGET_LINK_LIBRARIES(otbLearningTests3 gdal otbsvm OTBLearning OTBCommon OTBIO ITKIO ITKCommon) ENDIF( NOT OTB_DISABLE_CXX_TESTING ) diff --git a/Testing/Code/Learning/otbLearningTests.cxx b/Testing/Code/Learning/otbLearningTests1.cxx similarity index 72% rename from Testing/Code/Learning/otbLearningTests.cxx rename to Testing/Code/Learning/otbLearningTests1.cxx index 12951216d311f0eb81e317148a455695c27d4880..fa04b528cb95d64a4c291c5ea378997704a0cfcf 100644 --- a/Testing/Code/Learning/otbLearningTests.cxx +++ b/Testing/Code/Learning/otbLearningTests1.cxx @@ -39,18 +39,4 @@ REGISTER_TEST(otbSVMModelGenericKernelLoadSave); REGISTER_TEST(otbSVMImageModelEstimatorNew); REGISTER_TEST(otbSVMImageModelEstimatorTrain); REGISTER_TEST(otbSVMImageModelEstimatorModelAccessor); -REGISTER_TEST(otbSVMPointSetModelEstimatorNew); -REGISTER_TEST(otbSVMPointSetModelEstimatorTrain); -REGISTER_TEST(otbSVMClassifierNew); -REGISTER_TEST(otbSVMClassifierImage); -REGISTER_TEST(otbSVMClassifierPointSet); -REGISTER_TEST(otbSOMMapNew); -REGISTER_TEST(otbSOMMap); -REGISTER_TEST(otbSOMNew); -REGISTER_TEST(otbSOM); -REGISTER_TEST(otbSOMActivationBuilderNew); -REGISTER_TEST(otbSOMActivationBuilder); -REGISTER_TEST(otbSOMClassifierNew); -REGISTER_TEST(otbSOMClassifier); -REGISTER_TEST(otbSEMClassifierNew); } diff --git a/Testing/Code/Learning/otbLearningTests2.cxx b/Testing/Code/Learning/otbLearningTests2.cxx new file mode 100644 index 0000000000000000000000000000000000000000..d7c0956f3447913311263a4013135a0dcd72f1b9 --- /dev/null +++ b/Testing/Code/Learning/otbLearningTests2.cxx @@ -0,0 +1,42 @@ +/*========================================================================= + + Program: ORFEO Toolbox + Language: C++ + Date: $Date$ + Version: $Revision$ + + + Copyright (c) Centre National d'Etudes Spatiales. All rights reserved. + See OTBCopyright.txt for details. + + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + + +// this file defines the otbCommonTest for the test driver +// and all it expects is that you have a function called RegisterTests +#if defined(_MSC_VER) +#pragma warning ( disable : 4786 ) +#endif + +#include <iostream> +#include "otbTestMain.h" + +void RegisterTests() +{ +REGISTER_TEST(otbSVMPointSetModelEstimatorNew); +REGISTER_TEST(otbSVMPointSetModelEstimatorTrain); +REGISTER_TEST(otbSVMClassifierNew); +REGISTER_TEST(otbSVMClassifierImage); +REGISTER_TEST(otbSVMClassifierPointSet); +REGISTER_TEST(otbSOMMapNew); +REGISTER_TEST(otbSOMMap); +REGISTER_TEST(otbSOMNew); +REGISTER_TEST(otbSOM); +REGISTER_TEST(otbSOMActivationBuilderNew); +REGISTER_TEST(otbSOMActivationBuilder); +} diff --git a/Testing/Code/Learning/otbLearningTests3.cxx b/Testing/Code/Learning/otbLearningTests3.cxx new file mode 100644 index 0000000000000000000000000000000000000000..117c067da817a01da076783b94f178bd45d2dcd1 --- /dev/null +++ b/Testing/Code/Learning/otbLearningTests3.cxx @@ -0,0 +1,34 @@ +/*========================================================================= + + Program: ORFEO Toolbox + Language: C++ + Date: $Date$ + Version: $Revision$ + + + Copyright (c) Centre National d'Etudes Spatiales. All rights reserved. + See OTBCopyright.txt for details. + + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + + +// this file defines the otbCommonTest for the test driver +// and all it expects is that you have a function called RegisterTests +#if defined(_MSC_VER) +#pragma warning ( disable : 4786 ) +#endif + +#include <iostream> +#include "otbTestMain.h" + +void RegisterTests() +{ +REGISTER_TEST(otbSOMClassifierNew); +REGISTER_TEST(otbSOMClassifier); +REGISTER_TEST(otbSEMClassifierNew); +}